24 lines
799 B
Python
24 lines
799 B
Python
from .itemInfo import ItemInfo
|
|
from .constants import *
|
|
|
|
|
|
class MadBatter(ItemInfo):
|
|
def configure(self, options):
|
|
return
|
|
|
|
def patch(self, rom, option, *, multiworld=None):
|
|
rom.banks[0x18][0x0F90 + (self.room & 0x0F)] = CHEST_ITEMS[option]
|
|
if multiworld is not None:
|
|
rom.banks[0x3E][0x3300 + self.room] = multiworld
|
|
|
|
def read(self, rom):
|
|
assert self._location is not None, hex(self.room)
|
|
value = rom.banks[0x18][0x0F90 + (self.room & 0x0F)]
|
|
for k, v in CHEST_ITEMS.items():
|
|
if v == value:
|
|
return k
|
|
raise ValueError("Could not find mad batter contents in ROM (0x%02x)" % (value))
|
|
|
|
def __repr__(self):
|
|
return "%s:%03x" % (self.__class__.__name__, self.room)
|