From 38a8d1e6044785b8bc3cab8d68816d49d4d3e2e5 Mon Sep 17 00:00:00 2001 From: StructuralMike <66819228+StructuralMike@users.noreply.github.com> Date: Tue, 26 Jan 2021 01:36:24 +0100 Subject: [PATCH 1/4] Fix one text target misspelling. entrace -> entrance --- Text.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Text.py b/Text.py index a925c0e0..890d2ad9 100644 --- a/Text.py +++ b/Text.py @@ -1709,7 +1709,7 @@ class TextTable(object): text['telepathic_tile_castle_tower'] = CompressedTextMapper.convert("{NOBORDER}\nYou can reflect Agahnim's energy with Sword, Bug-net or Hammer.") text['telepathic_tile_ice_large_room'] = CompressedTextMapper.convert("{NOBORDER}\nAll right stop collaborate and listen\nIce is back with my brand new invention") text['telepathic_tile_turtle_rock'] = CompressedTextMapper.convert("{NOBORDER}\nYou shall not pass… without the red cane") - text['telepathic_tile_ice_entrace'] = CompressedTextMapper.convert("{NOBORDER}\nYou can use Fire Rod or Bombos to pass.") + text['telepathic_tile_ice_entrance'] = CompressedTextMapper.convert("{NOBORDER}\nYou can use Fire Rod or Bombos to pass.") text['telepathic_tile_ice_stalfos_knights_room'] = CompressedTextMapper.convert("{NOBORDER}\nKnock 'em down and then bomb them dead.") text['telepathic_tile_tower_of_hera_entrance'] = CompressedTextMapper.convert( "{NOBORDER}\nThis is a bad place, with a guy who will make you fall…\n\n\na lot.") From 1275e490734717d72f8f8c1338a9fc01e1fef338 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Tue, 26 Jan 2021 01:46:13 +0100 Subject: [PATCH 2/4] also fix typo in rom.py --- Rom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rom.py b/Rom.py index 7aa05913..2d35f03c 100644 --- a/Rom.py +++ b/Rom.py @@ -2619,7 +2619,7 @@ HintLocations = ['telepathic_tile_eastern_palace', 'telepathic_tile_castle_tower', 'telepathic_tile_ice_large_room', 'telepathic_tile_turtle_rock', - 'telepathic_tile_ice_entrace', + 'telepathic_tile_ice_entrance', 'telepathic_tile_ice_stalfos_knights_room', 'telepathic_tile_tower_of_hera_entrance', 'telepathic_tile_south_east_darkworld_cave', From c88d9b43391f9bc25c7dcd34e7b1f1238937659f Mon Sep 17 00:00:00 2001 From: CaitSith2 Date: Tue, 26 Jan 2021 07:06:33 -0800 Subject: [PATCH 3/4] Additional fixes for Ice Rod Hunt --- Fill.py | 3 +++ Rules.py | 4 ++-- Shops.py | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Fill.py b/Fill.py index b887c3aa..b45ded74 100644 --- a/Fill.py +++ b/Fill.py @@ -178,6 +178,9 @@ def distribute_items_restrictive(world, gftower_trash=False, fill_locations=None unplaced = [item for item in progitempool + prioitempool + restitempool] unfilled = [location.name for location in fill_locations] + for location in fill_locations: + world.push_item(location, ItemFactory('Nothing', location.player), False) + if unplaced or unfilled: logging.warning('Unplaced items: %s - Unfilled Locations: %s', unplaced, unfilled) diff --git a/Rules.py b/Rules.py index 99d1c6a1..a5c75a51 100644 --- a/Rules.py +++ b/Rules.py @@ -861,7 +861,7 @@ def standard_rules(world, player): def toss_junk_item(world, player): items = ['Rupees (20)', 'Bombs (3)', 'Arrows (10)', 'Rupees (5)', 'Rupee (1)', 'Bombs (10)', 'Single Arrow', 'Rupees (50)', 'Rupees (100)', 'Single Bomb', 'Bee', 'Bee Trap', - 'Rupees (300)'] + 'Rupees (300)', 'Nothing'] for item in items: big20 = next((i for i in world.itempool if i.name == item and i.player == player), None) if big20: @@ -940,7 +940,7 @@ def set_trock_key_rules(world, player): if not can_reach_big_chest: # Must not go in the Chain Chomps chest - only 2 other chests available and 3+ keys required for all other chests forbid_item(world.get_location('Turtle Rock - Chain Chomps', player), 'Big Key (Turtle Rock)', player) - if world.accessibility[player] == 'locations': + if world.accessibility[player] == 'locations' and world.goal[player] != 'icerodhunt': if world.bigkeyshuffle[player] and can_reach_big_chest: # Must not go in the dungeon - all 3 available chests (Chomps, Big Chest, Crystaroller) must be keys to access laser bridge, and the big key is required first for location in ['Turtle Rock - Chain Chomps', 'Turtle Rock - Compass Chest', diff --git a/Shops.py b/Shops.py index 0e94d057..7c31fc77 100644 --- a/Shops.py +++ b/Shops.py @@ -254,7 +254,10 @@ def create_shops(world, player: int): loc.shop_slot = True loc.locked = True if single_purchase_slots.pop(): - additional_item = 'Rupees (50)' # world.random.choice(['Rupees (50)', 'Rupees (100)', 'Rupees (300)']) + if world.goal[player] != 'icerodhunt': + additional_item = 'Rupees (50)' # world.random.choice(['Rupees (50)', 'Rupees (100)', 'Rupees (300)']) + else: + additional_item = 'Nothing' loc.item = ItemFactory(additional_item, player) else: loc.item = ItemFactory('Nothing', player) From eb1c4313a8bb60619111b983a4d94bcf445d92d9 Mon Sep 17 00:00:00 2001 From: CaitSith2 Date: Tue, 26 Jan 2021 13:11:43 -0800 Subject: [PATCH 4/4] Fix root cause of items not being placed into locations --- Fill.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Fill.py b/Fill.py index b45ded74..5ed9dd5a 100644 --- a/Fill.py +++ b/Fill.py @@ -141,8 +141,8 @@ def distribute_items_restrictive(world, gftower_trash=False, fill_locations=None fill_restrictive(world, world.state, fill_locations, progitempool) - if any(localprioitempool.values() or - localrestitempool.values()): # we need to make sure some fills are limited to certain worlds + if any(localprioitempool.values()) or \ + any(localrestitempool.values()): # we need to make sure some fills are limited to certain worlds local_locations = {player: [] for player in world.player_ids} for location in fill_locations: local_locations[location.player].append(location)