diff --git a/CHANGELOG.md b/CHANGELOG.md index e2b52d0b..705f41ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.6.0.4 +- Fixed pause menu to show compass count and prizes to also show if you've seen them +- Fixed crash when Old Man follower exits with you at his destination entrance +- Old Man fetch cave is no longer restricted from exiting at his destination cave in ER +- Kodongo AI is returned to its vanilla behavior in their vanilla rooms + ## 0.6.0.3 - Arrghus' Room has water floor restored in boss shuffle - Fixed no music in Links House when S+Q from Kakariko diff --git a/Main.py b/Main.py index 259e2673..df672380 100644 --- a/Main.py +++ b/Main.py @@ -1056,7 +1056,7 @@ def create_playthrough(world): collection_spheres.append(sphere) - logging.getLogger('').debug(world.fish.translate("cli","cli","building.final.spheres"), len(collection_spheres), len(sphere), len(required_locations)) + logging.getLogger('').debug(world.fish.translate("cli","cli","building.final.spheres"), len(collection_spheres), len(sphere), len(sphere) + len(required_locations)) if not sphere: if world.has_beaten_game(state): required_locations.clear() diff --git a/OverworldShuffle.py b/OverworldShuffle.py index d13759cf..2624930b 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -8,7 +8,7 @@ from OWEdges import OWTileRegions, OWEdgeGroups, OWEdgeGroupsTerrain, OWExitType from OverworldGlitchRules import create_owg_connections from Utils import bidict -version_number = '0.6.0.3' +version_number = '0.6.0.4' # branch indicator is intentionally different across branches version_branch = '' diff --git a/Rom.py b/Rom.py index 32f07e22..c1b4810e 100644 --- a/Rom.py +++ b/Rom.py @@ -43,7 +43,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'b0a70c07792884cbe3d87e99c8325e41' +RANDOMIZERBASEHASH = '94672b7a306b32c8a1d9e64f0e6a9be0' class JsonRom(object): @@ -1292,6 +1292,9 @@ def patch_rom(world, rom, player, team, is_mystery=False): | (0x04 if world.mapshuffle[player] != 'none' else 0x00) | (0x08 if world.bigkeyshuffle[player] != 'none' else 0x00))) # free roaming item text boxes rom.write_byte(0x18003B, 0x01 if world.mapshuffle[player] not in ['none', 'nearby'] else 0x00) # maps showing crystals on overworld + if (world.mapshuffle[player] not in ['none', 'nearby'] or world.doorShuffle[player] != 'vanilla' or world.dropshuffle[player] != 'none' + or world.pottery[player] not in ['none', 'cave']): + rom.write_byte(0x18003A, 0x01) # show key counts on map pickup # compasses showing dungeon count compass_mode = 0x80 if world.compassshuffle[player] not in ['none', 'nearby'] else 0x00 @@ -1447,9 +1450,10 @@ def patch_rom(world, rom, player, team, is_mystery=False): | (0x10 if world.logic[player] == 'nologic' else 0))) # boss icon def get_reveal_bytes(itemName): - for dungeon in world.dungeons: - if dungeon.player == player and dungeon.prize and dungeon.prize.name == itemName: - return reveal_bytes.get(dungeon.name, 0x0000) + if world.prizeshuffle[player] != 'wild': + for dungeon in world.dungeons: + if dungeon.player == player and dungeon.prize and dungeon.prize.name == itemName: + return reveal_bytes.get(dungeon.name, 0x0000) return 0x0000 write_int16(rom, 0x18017A, get_reveal_bytes('Green Pendant')) # Sahasrahla reveal diff --git a/data/base2current.bps b/data/base2current.bps index 834435ae..1d855761 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ diff --git a/source/overworld/EntranceShuffle2.py b/source/overworld/EntranceShuffle2.py index 5135c920..c190c428 100644 --- a/source/overworld/EntranceShuffle2.py +++ b/source/overworld/EntranceShuffle2.py @@ -403,7 +403,6 @@ def do_old_man_cave_exit(entrances, exits, avail, cross_world): else: region_name = 'West Dark Death Mountain (Top)' om_cave_options = list(get_accessible_entrances(region_name, avail, [], cross_world, True, True, True, True)) - om_cave_options = [e for e in om_cave_options if e in entrances and e != 'Old Man House (Bottom)'] if avail.swapped: om_cave_options = [e for e in om_cave_options if e not in Forbidden_Swap_Entrances] assert len(om_cave_options), 'No available entrances left to place Old Man Cave'