Merged in DR v1.5.5
This commit is contained in:
22
Rom.py
22
Rom.py
@@ -43,7 +43,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = 'da081467317d8f6902eb1cf57304dbff'
|
||||
RANDOMIZERBASEHASH = '69578b6039ebd80d4213823127b29194'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
@@ -719,15 +719,15 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
if world.mirrorscroll[player] or world.doorShuffle[player] != 'vanilla':
|
||||
dr_flags |= DROptions.Town_Portal
|
||||
if world.doorShuffle[player] == 'vanilla':
|
||||
dr_flags |= DROptions.Eternal_Mini_Bosses
|
||||
dr_flags |= DROptions.Eternal_Mini_Bosses
|
||||
if world.doorShuffle[player] not in ['vanilla', 'basic']:
|
||||
dr_flags |= DROptions.Map_Info
|
||||
if ((world.collection_rate[player] or world.goal[player] == 'completionist')
|
||||
and world.goal[player] not in ['triforcehunt', 'trinity', 'ganonhunt']):
|
||||
and world.goal[player] not in ['triforcehunt', 'trinity', 'ganonhunt']):
|
||||
dr_flags |= DROptions.Debug
|
||||
rom.write_byte(snes_to_pc(0x308039), 1)
|
||||
if world.doorShuffle[player] not in ['vanilla', 'basic'] and world.logic[player] != 'nologic'\
|
||||
and world.mixed_travel[player] == 'prevent':
|
||||
if world.doorShuffle[player] not in ['vanilla', 'basic'] and world.logic[player] != 'nologic' \
|
||||
and world.mixed_travel[player] == 'prevent':
|
||||
# PoD Falling Bridge or Hammjump
|
||||
# 1FA607: db $2D, $79, $69 ; 0x0069: Vertical Rail ↕ | { 0B, 1E } | Size: 05
|
||||
# 1FA60A: db $14, $99, $5D ; 0x005D: Large Horizontal Rail ↔ | { 05, 26 } | Size: 01
|
||||
@@ -825,9 +825,9 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
if world.doorShuffle[player] == 'basic':
|
||||
rom.write_byte(0x138002, 1)
|
||||
for door in world.doors:
|
||||
if door.dest is not None and isinstance(door.dest, Door) and\
|
||||
door.player == player and door.type in [DoorType.Normal, DoorType.SpiralStairs,
|
||||
DoorType.Open, DoorType.StraightStairs, DoorType.Ladder]:
|
||||
if door.dest is not None and isinstance(door.dest, Door) and \
|
||||
door.player == player and door.type in [DoorType.Normal, DoorType.SpiralStairs,
|
||||
DoorType.Open, DoorType.StraightStairs, DoorType.Ladder]:
|
||||
rom.write_bytes(door.getAddress(), door.dest.getTarget(door))
|
||||
for paired_door in world.paired_doors[player]:
|
||||
rom.write_bytes(paired_door.address_a(world, player), paired_door.rom_data_a(world, player))
|
||||
@@ -1215,7 +1215,7 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
|
||||
gametype = 0x04 # item
|
||||
if (world.shuffle[player] != 'vanilla' or world.doorShuffle[player] != 'vanilla'
|
||||
or world.dropshuffle[player] != 'none' or world.pottery[player] != 'none'):
|
||||
or world.dropshuffle[player] != 'none' or world.pottery[player] != 'none'):
|
||||
gametype |= 0x02 # entrance/door
|
||||
rom.write_byte(0x180211, gametype) # Game type
|
||||
|
||||
@@ -1773,7 +1773,7 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
write_enemy_shuffle_settings(world, player, rom)
|
||||
|
||||
if (world.doorShuffle[player] != 'vanilla' or world.dropshuffle[player] != 'none'
|
||||
or world.pottery[player] != 'none'):
|
||||
or world.pottery[player] != 'none'):
|
||||
for room in world.rooms:
|
||||
if room.player == player and room.modified:
|
||||
if room.index in world.data_tables[player].room_list:
|
||||
@@ -1835,7 +1835,7 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None):
|
||||
(hashint >> 10) & 0x1F,
|
||||
(hashint >> 5) & 0x1F,
|
||||
hashint & 0x1F,
|
||||
]
|
||||
]
|
||||
rom.write_bytes(0x180215, code)
|
||||
rom.hash = code
|
||||
|
||||
|
||||
Reference in New Issue
Block a user