Merge in door dev unstable
This commit is contained in:
12
Rom.py
12
Rom.py
@@ -22,7 +22,7 @@ from EntranceShuffle import door_addresses, exit_ids
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = '150e8e5bdb52e565fa9e2172d98c31ab'
|
||||
RANDOMIZERBASEHASH = 'b9e578ef0af231041070bd9049a55646'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
@@ -602,7 +602,7 @@ def patch_rom(world, rom, player, team, enemized):
|
||||
|
||||
# patch doors
|
||||
if world.doorShuffle[player] == 'crossed':
|
||||
rom.write_byte(0x139004, 2)
|
||||
rom.write_byte(0x138002, 2)
|
||||
for name, layout in world.key_layout[player].items():
|
||||
offset = compass_data[name][4]//2
|
||||
rom.write_byte(0x13f01c+offset, layout.max_chests + layout.max_drops)
|
||||
@@ -627,7 +627,7 @@ def patch_rom(world, rom, player, team, enemized):
|
||||
if room.player == player and room.palette is not None:
|
||||
rom.write_byte(0x13f200+room.index, room.palette)
|
||||
if world.doorShuffle[player] == 'basic':
|
||||
rom.write_byte(0x139004, 1)
|
||||
rom.write_byte(0x138002, 1)
|
||||
for door in world.doors:
|
||||
if door.dest is not None and door.player == player and door.type in [DoorType.Normal, DoorType.SpiralStairs,
|
||||
DoorType.Open, DoorType.StraightStairs]:
|
||||
@@ -648,9 +648,11 @@ def patch_rom(world, rom, player, team, enemized):
|
||||
dungeon_name = opposite_door.entrance.parent_region.dungeon.name
|
||||
dungeon_id = boss_indicator[dungeon_name][0]
|
||||
rom.write_byte(0x13f000+dungeon_id, opposite_door.roomIndex)
|
||||
rom.write_byte(0x139006, dr_flags.value)
|
||||
elif not opposite_door:
|
||||
rom.write_byte(0x13f000+dungeon_id, 0) # no supertile preceeding boss
|
||||
rom.write_byte(0x138004, dr_flags.value)
|
||||
if dr_flags & DROptions.Town_Portal and world.mode[player] == 'inverted':
|
||||
rom.write_byte(0x139008, 1)
|
||||
rom.write_byte(0x138006, 1)
|
||||
|
||||
for portal in world.dungeon_portals[player]:
|
||||
if not portal.default:
|
||||
|
||||
Reference in New Issue
Block a user