diff --git a/CHANGELOG.md b/CHANGELOG.md index 025fd156..073c97bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +### 0.1.6.6 +- ~~Merged DR v0.4.0.9 - P/C Indicator / Credits fix / CLI Hints Fix~~ + ### 0.1.6.5 - Reduced chance of diagonal flute spot in Balanced - ~~Merged DR v0.4.0.8 - Boss Indicator / Fake Boots / Quickswap Update / Credits Updates~~ diff --git a/DoorShuffle.py b/DoorShuffle.py index 207b3b37..0f574f4c 100644 --- a/DoorShuffle.py +++ b/DoorShuffle.py @@ -20,6 +20,7 @@ from KeyDoorShuffle import analyze_dungeon, validate_vanilla_key_logic, build_ke def link_doors(world, player): + orig_swamp_patch = world.swamp_patch_required[player] attempt, valid = 1, False while not valid: try: @@ -43,6 +44,7 @@ def link_doors(world, player): reset_portals(world, player) reset_rooms(world, player) world.get_door("Skull Pinball WS", player).no_exit() + world.swamp_patch_required[player] = orig_swamp_patch def link_doors_main(world, player): @@ -467,8 +469,8 @@ def choose_portals(world, player): world.get_room(0xd5, player).change(0, DoorKind.DungeonEntrance) if not world.swamp_patch_required[player]: - swamp_region = world.get_entrance('Swamp Palace', player).connected_region - if swamp_region.name != 'Swamp Lobby': + swamp_portal = world.get_portal('Swamp', player) + if swamp_portal.door.name != 'Swamp Lobby S': world.swamp_patch_required[player] = True diff --git a/Main.py b/Main.py index 5ef619b7..13952268 100644 --- a/Main.py +++ b/Main.py @@ -29,7 +29,7 @@ from Fill import sell_potions, sell_keys, balance_multiworld_progression, balanc from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops from Utils import output_path, parse_player_names -__version__ = '0.4.0.8-u' +__version__ = '0.4.0.9-u' class EnemizerError(RuntimeError): diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 3db92fe7..9cac8d67 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -7,7 +7,7 @@ try: except ImportError: raise Exception('Could not load sortedcontainers module') -__version__ = '0.1.6.5-u' +__version__ = '0.1.6.6-u' def link_overworld(world, player): # setup mandatory connections @@ -21,14 +21,14 @@ def link_overworld(world, player): if world.owSwap[player] != 'vanilla': tile_groups = {} for (name, groupType) in OWTileGroups.keys(): - if world.mode[player] != 'standard' or name not in ['Castle', 'Links']: + if world.mode[player] != 'standard' or name not in ['Castle', 'Links', 'Central Bonk Rocks']: if world.shuffle[player] in ['vanilla', 'simple', 'dungeonssimple']: tile_groups[(name,)] = ([], [], []) else: tile_groups[(name, groupType)] = ([], [], []) for (name, groupType) in OWTileGroups.keys(): - if world.mode[player] != 'standard' or name not in ['Castle', 'Links']: + if world.mode[player] != 'standard' or name not in ['Castle', 'Links', 'Central Bonk Rocks']: (owids, lw_regions, dw_regions) = OWTileGroups[(name, groupType,)] if world.shuffle[player] in ['vanilla', 'simple', 'dungeonssimple']: (exist_owids, exist_lw_regions, exist_dw_regions) = tile_groups[(name,)] diff --git a/RELEASENOTES.md b/RELEASENOTES.md index dd2ce1fc..a4c5eace 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -14,6 +14,10 @@ Thanks to qadan, cheuer, & compiling # Bug Fixes and Notes. +* 0.4.0.9 + * Fixes for stats and P/C indicator (thanks Kara) + * Swamp lobby fixes (thanks Catobat) + * Fix for --hints flag on CLI * 0.4.0.8 * Ganon jokes added for when silvers aren't available * Some text updated (Blind jokes, uncle text) diff --git a/Rom.py b/Rom.py index 6a0fb4e6..7ffff61c 100644 --- a/Rom.py +++ b/Rom.py @@ -31,7 +31,7 @@ from OverworldShuffle import default_flute_connections, flute_data JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'efb10737d732625792a9af7fdda2c4e9' +RANDOMIZERBASEHASH = 'b6c98e872be23f268ff6678aa3eeaee4' class JsonRom(object): @@ -1178,8 +1178,6 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): rom.write_byte(0x18002F, 0x03) # special bombs rom.write_byte(0x180040, 0x01) # open curtains rom.write_byte(0x180041, 0x02) # swordless medallions (always) - rom.write_byte(0x180043, 0xFF) # starting sword for link - rom.write_byte(0x180044, 0x01) # hammer activates tablets # since we have infinite bombs, let's get rid of bomb drops rom.write_byte(0x030051, 0xDB) # fish bottle merchant rom.write_byte(0x0301F8, 0xD9) # replace Pot bombs with green rupees diff --git a/asm/owrando.asm b/asm/owrando.asm index f290ba0e..8cd7bcf1 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -33,6 +33,10 @@ db #$b0 ; BCS to replace BEQ org $06907f ; < 3107f - sprite_prep.asm:2170 (LDA $7EF3CA) lda $8a : and.b #$40 +; Dark Bonk Rocks Rain Sequence Guards (allowing Tile Swap on Dark Bonk Rocks) +;org $09c957 ; <- 4c957 +;dw #$cb5f ; matches value on Central Bonk Rocks screen + ;(replacing -> LDA $8A : AND.b #$40) org $00d8c4 ; < ? - Bank00.asm:4068 () jsl.l OWWorldCheck diff --git a/data/base2current.bps b/data/base2current.bps index a1b7d2ed..7e9f20ba 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ diff --git a/resources/app/cli/args.json b/resources/app/cli/args.json index 3d69d005..19ad7de2 100644 --- a/resources/app/cli/args.json +++ b/resources/app/cli/args.json @@ -312,7 +312,7 @@ ] }, "hints": { - "action": "store_false", + "action": "store_true", "type": "bool" }, "no_hints": {