Fake flipper kill fix reversal and replacement

This commit is contained in:
codemann8
2021-11-01 11:03:49 -05:00
parent 6cfcdf039c
commit de41f6b7b4
2 changed files with 3 additions and 39 deletions

42
Rom.py
View File

@@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx
JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = 'a83652bc433c024cff1e277e1afeb627'
RANDOMIZERBASEHASH = '9b5682d6bbf65457ba03eda9c9a0b5c9'
class JsonRom(object):
@@ -688,44 +688,8 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
for edge in world.owedges:
if edge.dest is not None and isinstance(edge.dest, OWEdge) and edge.player == player:
if edge.name == 'Lost Woods NW':
if edge.dest.name != 'Master Sword Meadow SC':
write_int16(rom, 0x15e53 + 0x96, edge.dest.midpoint)
write_int16(rom, 0x15bdb + 0x96, edge.dest.vramLoc)
rom.write_byte(0x15b8c + 0x4b, edge.dest.owIndex)
if edge.dest.owIndex == 0x81:
write_int16(rom, 0x15c79 + 0x96, 0x320)
write_int16(rom, 0x15d17 + 0x96, 0x21e)
write_int16(rom, 0x15db5 + 0x96, 0x3e8)
write_int16(rom, 0x15ef1 + 0x96, 0x019)
write_int16(rom, 0x15f8f + 0x96, 0x2a1)
rom.write_byte(0x1607c + 0x4b, 0xf2)
else:
o = ((edge.dest.owSlotIndex >> 3 + 1) * 2 - 1) * 0x100 + 0xe8
write_int16(rom, 0x15db5 + 0x96, o)
elif edge.name == 'Zora Waterfall NE':
if edge.dest.name != 'Zoras Domain SW':
write_int16(rom, 0x15e53 + 0x9a, edge.dest.midpoint)
write_int16(rom, 0x15bdb + 0x9a, edge.dest.vramLoc)
rom.write_byte(0x15b8c + 0x4d, edge.dest.owIndex)
if edge.dest.owIndex == 0x80:
write_int16(rom, 0x15c79 + 0x9a, 0x120)
write_int16(rom, 0x15d17 + 0x9a, 0x0)
write_int16(rom, 0x15db5 + 0x9a, 0x1e8)
write_int16(rom, 0x15ef1 + 0x9a, 0x19d)
write_int16(rom, 0x15f8f + 0x9a, 0x083)
rom.write_byte(0x1607c + 0x4d, 0x0e)
else:
o = ((edge.dest.owSlotIndex >> 3 + 1) * 2 - 1) * 0x100 + 0xe8
write_int16(rom, 0x15db5 + 0x96, o)
elif edge.name == 'Stone Bridge WC':
if edge.dest.name != 'Hobo EC':
write_int16(rom, 0x15db5 + 0x98, edge.dest.midpoint)
write_int16(rom, 0x15bdb + 0x98, edge.dest.vramLoc)
rom.write_byte(0x15b8c + 0x4c, edge.dest.owIndex)
else:
write_int16(rom, edge.getAddress() + 0x0a, edge.vramLoc)
write_int16(rom, edge.getAddress() + 0x0e, edge.getTarget())
write_int16(rom, edge.getAddress() + 0x0a, edge.vramLoc)
write_int16(rom, edge.getAddress() + 0x0e, edge.getTarget())
write_int16(rom, 0x150002, owMode)
write_int16(rom, 0x150004, owFlags)