Pottery fixes for Room0127

Added mystery flag for future use
This commit is contained in:
aerinon
2022-04-21 11:03:49 -06:00
parent a035beca1e
commit 31aeb8a776
7 changed files with 31 additions and 9 deletions

14
Rom.py
View File

@@ -651,9 +651,15 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
if world.mapshuffle[player]:
rom.write_byte(0x155C9, random.choice([0x11, 0x16])) # Randomize GT music too with map shuffle
if world.pottery[player] not in ['none']:
rom.write_bytes(snes_to_pc(0x1F8375), int32_as_bytes(0x2A8000))
# make hammer pegs use different tiles
Room0127.write_to_rom(snes_to_pc(0x2A8000), rom)
if world.pot_contents[player]:
colorize_pots = (world.pottery[player] not in ['vanilla', 'lottery']
and (world.colorizepots[player] or world.pottery[player] in ['reduced', 'clustered']))
colorize_pots = is_mystery or (world.pottery[player] not in ['vanilla', 'lottery']
and (world.colorizepots[player]
or world.pottery[player] in ['reduced', 'clustered']))
if world.pot_contents[player].size() > 0x2800:
raise Exception('Pot table is too big for current area')
world.pot_contents[player].write_pot_data_to_rom(rom, colorize_pots)
@@ -897,10 +903,6 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
# Cuccos should not prevent kill rooms from opening
rom.write_byte(snes_to_pc(0x0DB457), 0x40)
rom.write_byte(snes_to_pc(0x28AA56), 0 if world.pottery[player] == 'none' else 1)
if world.pottery[player] not in ['none']:
rom.write_bytes(snes_to_pc(0x1F8375), int32_as_bytes(0x2A8000))
# make hammer pegs use different tiles
Room0127.write_to_rom(snes_to_pc(0x2A8000), rom)
write_int16(rom, 0x187010, credits_total) # dynamic credits
if credits_total != 216: