Fix for retro "shops"
This commit is contained in:
9
Rom.py
9
Rom.py
@@ -16,7 +16,7 @@ from BaseClasses import CollectionState, ShopType, Region, Location, Door, DoorT
|
|||||||
from DoorShuffle import compass_data, DROptions, boss_indicator
|
from DoorShuffle import compass_data, DROptions, boss_indicator
|
||||||
from Dungeons import dungeon_music_addresses
|
from Dungeons import dungeon_music_addresses
|
||||||
from KeyDoorShuffle import count_locations_exclude_logic
|
from KeyDoorShuffle import count_locations_exclude_logic
|
||||||
from Regions import location_table, shop_to_location_table
|
from Regions import location_table, shop_to_location_table, retro_shops
|
||||||
from RoomData import DoorKind
|
from RoomData import DoorKind
|
||||||
from Text import MultiByteTextMapper, CompressedTextMapper, text_addresses, Credits, TextTable
|
from Text import MultiByteTextMapper, CompressedTextMapper, text_addresses, Credits, TextTable
|
||||||
from Text import Uncle_texts, Ganon1_texts, TavernMan_texts, Sahasrahla2_texts, Triforce_texts, Blind_texts, BombShop2_texts, junk_texts
|
from Text import Uncle_texts, Ganon1_texts, TavernMan_texts, Sahasrahla2_texts, Triforce_texts, Blind_texts, BombShop2_texts, junk_texts
|
||||||
@@ -1571,8 +1571,11 @@ def write_custom_shops(rom, world, player):
|
|||||||
break
|
break
|
||||||
if world.shopsanity[player] or shop.type == ShopType.TakeAny:
|
if world.shopsanity[player] or shop.type == ShopType.TakeAny:
|
||||||
rom.write_byte(0x186560 + shop.sram_address + index, 1)
|
rom.write_byte(0x186560 + shop.sram_address + index, 1)
|
||||||
loc_item = world.get_location(shop_to_location_table[shop.region.name][index], player).item
|
if world.shopsanity[player] and shop.region.name in shop_to_location_table:
|
||||||
if not loc_item:
|
loc_item = world.get_location(shop_to_location_table[shop.region.name][index], player).item
|
||||||
|
elif world.shopsanity[player] and shop.region.name in retro_shops:
|
||||||
|
loc_item = world.get_location(retro_shops[shop.region.name][index], player).item
|
||||||
|
else:
|
||||||
loc_item = ItemFactory(item['item'], player)
|
loc_item = ItemFactory(item['item'], player)
|
||||||
item_id = loc_item.code
|
item_id = loc_item.code
|
||||||
price = int16_as_bytes(item['price'])
|
price = int16_as_bytes(item['price'])
|
||||||
|
|||||||
Reference in New Issue
Block a user