Archipelago/worlds/ladx/LADXR/locations/tunicFairy.py

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)