mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 12:11:33 -06:00
LTTP/SM/SMZ3: Show correct item icon for cross-game items (#1112)
Co-authored-by: lordlou <87331798+lordlou@users.noreply.github.com> Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
This commit is contained in:
@@ -762,7 +762,9 @@ bonk_addresses = [0x4CF6C, 0x4CFBA, 0x4CFE0, 0x4CFFB, 0x4D018, 0x4D01B, 0x4D028,
|
||||
0x4D504, 0x4D507, 0x4D55E, 0x4D56A]
|
||||
|
||||
|
||||
def get_nonnative_item_sprite(item: str) -> int:
|
||||
def get_nonnative_item_sprite(code: int) -> int:
|
||||
if 84173 >= code >= 84007: # LttP item in SMZ3
|
||||
return code - 84000
|
||||
return 0x6B # set all non-native sprites to Power Star as per 13 to 2 vote at
|
||||
# https://discord.com/channels/731205301247803413/827141303330406408/852102450822905886
|
||||
|
||||
@@ -785,7 +787,7 @@ def patch_rom(world: MultiWorld, rom: LocalRom, player: int, enemized: bool):
|
||||
if location.item.trap:
|
||||
itemid = 0x5A # Nothing, which disguises
|
||||
else:
|
||||
itemid = get_nonnative_item_sprite(location.item.name)
|
||||
itemid = get_nonnative_item_sprite(location.item.code)
|
||||
# Keys in their native dungeon should use the orignal item code for keys
|
||||
elif location.parent_region.dungeon:
|
||||
if location.parent_region.dungeon.is_dungeon_item(location.item):
|
||||
@@ -1739,7 +1741,7 @@ def write_custom_shops(rom, world, player):
|
||||
replacement_price_data = get_price_data(item['replacement_price'], item['replacement_price_type'])
|
||||
slot = 0 if shop.type == ShopType.TakeAny else index
|
||||
if item['player'] and world.game[item['player']] != "A Link to the Past": # item not native to ALTTP
|
||||
item_code = get_nonnative_item_sprite(item['item'])
|
||||
item_code = get_nonnative_item_sprite(world.worlds[item['player']].item_name_to_id[item['item']])
|
||||
else:
|
||||
item_code = ItemFactory(item['item'], player).code
|
||||
if item['item'] == 'Single Arrow' and item['player'] == 0 and world.retro_bow[player]:
|
||||
|
Reference in New Issue
Block a user