28 lines
912 B
Python
28 lines
912 B
Python
from .itemInfo import ItemInfo
|
|
from .constants import *
|
|
|
|
|
|
class TunicFairy(ItemInfo):
|
|
|
|
def __init__(self, index):
|
|
self.index = index
|
|
super().__init__(0x301)
|
|
|
|
def patch(self, rom, option, *, multiworld=None):
|
|
# Old index, maybe not needed anymore
|
|
rom.banks[0x36][0x11BF + self.index] = CHEST_ITEMS[option]
|
|
rom.banks[0x3e][0x3800 + 0x301 + self.index*3] = CHEST_ITEMS[option]
|
|
if multiworld:
|
|
rom.banks[0x3e][0x3300 + 0x301 + self.index*3] = multiworld
|
|
|
|
def read(self, rom):
|
|
value = rom.banks[0x36][0x11BF + self.index]
|
|
for k, v in CHEST_ITEMS.items():
|
|
if v == value:
|
|
return k
|
|
raise ValueError("Could not find tunic fairy contents in ROM (0x%02x)" % (value))
|
|
|
|
@property
|
|
def nameId(self):
|
|
return "0x%03X-%s" % (self.room, self.index)
|