Fix from Aerinon for map/compass check for dungeon location in map checks
This commit is contained in:
12
Rom.py
12
Rom.py
@@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '735bfeb907d34ad1e023ce8c9be8bf0f'
|
RANDOMIZERBASEHASH = '0aa8a508e8d90e95aec2d92db6dccce5'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -1520,13 +1520,19 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False):
|
|||||||
compass_mode = 0x01 # show on pickup
|
compass_mode = 0x01 # show on pickup
|
||||||
if (world.shuffle[player] != 'vanilla' and world.overworld_map[player] != 'default') or world.owMixed[player]:
|
if (world.shuffle[player] != 'vanilla' and world.overworld_map[player] != 'default') or world.owMixed[player]:
|
||||||
compass_mode |= 0x80 # turn on locating dungeons
|
compass_mode |= 0x80 # turn on locating dungeons
|
||||||
|
if world.overworld_map[player] == 'compass':
|
||||||
|
compass_mode |= 0x20 # show icon if compass is collected, 0x00 for maps
|
||||||
|
if world.compassshuffle[player]:
|
||||||
|
compass_mode |= 0x40 # dungeon item that enables icon is wild
|
||||||
|
elif world.overworld_map[player] == 'map':
|
||||||
|
if world.mapshuffle[player]:
|
||||||
|
compass_mode |= 0x40 # dungeon item that enables icon is wild
|
||||||
|
|
||||||
if world.shuffle[player] != 'vanilla' and world.overworld_map[player] != 'default':
|
if world.shuffle[player] != 'vanilla' and world.overworld_map[player] != 'default':
|
||||||
x_map_position_generic = [0x3c0, 0xbc0, 0x7c0, 0x1c0, 0x5c0, 0xdc0, 0x7c0, 0xbc0, 0x9c0, 0x3c0]
|
x_map_position_generic = [0x3c0, 0xbc0, 0x7c0, 0x1c0, 0x5c0, 0xdc0, 0x7c0, 0xbc0, 0x9c0, 0x3c0]
|
||||||
for idx, x_map in enumerate(x_map_position_generic):
|
for idx, x_map in enumerate(x_map_position_generic):
|
||||||
rom.write_bytes(0x53df6+idx*2, int16_as_bytes(x_map))
|
rom.write_bytes(0x53df6+idx*2, int16_as_bytes(x_map))
|
||||||
rom.write_bytes(0x53e16+idx*2, int16_as_bytes(0xFC0))
|
rom.write_bytes(0x53e16+idx*2, int16_as_bytes(0xFC0))
|
||||||
if world.compassshuffle[player] and world.overworld_map[player] == 'compass':
|
|
||||||
compass_mode |= 0x40 # compasses are wild
|
|
||||||
else:
|
else:
|
||||||
# disable HC/AT/GT icons
|
# disable HC/AT/GT icons
|
||||||
# rom.write_bytes(0x53E8A, int16_as_bytes(0xFF00)) # GT
|
# rom.write_bytes(0x53E8A, int16_as_bytes(0xFF00)) # GT
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user