This commit is contained in:
Chris Wilson 2021-01-26 18:29:43 -05:00
commit bee6e87615
5 changed files with 13 additions and 7 deletions

View File

@ -141,8 +141,8 @@ def distribute_items_restrictive(world, gftower_trash=False, fill_locations=None
fill_restrictive(world, world.state, fill_locations, progitempool) fill_restrictive(world, world.state, fill_locations, progitempool)
if any(localprioitempool.values() or if any(localprioitempool.values()) or \
localrestitempool.values()): # we need to make sure some fills are limited to certain worlds any(localrestitempool.values()): # we need to make sure some fills are limited to certain worlds
local_locations = {player: [] for player in world.player_ids} local_locations = {player: [] for player in world.player_ids}
for location in fill_locations: for location in fill_locations:
local_locations[location.player].append(location) local_locations[location.player].append(location)
@ -178,6 +178,9 @@ def distribute_items_restrictive(world, gftower_trash=False, fill_locations=None
unplaced = [item for item in progitempool + prioitempool + restitempool] unplaced = [item for item in progitempool + prioitempool + restitempool]
unfilled = [location.name for location in fill_locations] 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: if unplaced or unfilled:
logging.warning('Unplaced items: %s - Unfilled Locations: %s', unplaced, unfilled) logging.warning('Unplaced items: %s - Unfilled Locations: %s', unplaced, unfilled)

2
Rom.py
View File

@ -2619,7 +2619,7 @@ HintLocations = ['telepathic_tile_eastern_palace',
'telepathic_tile_castle_tower', 'telepathic_tile_castle_tower',
'telepathic_tile_ice_large_room', 'telepathic_tile_ice_large_room',
'telepathic_tile_turtle_rock', 'telepathic_tile_turtle_rock',
'telepathic_tile_ice_entrace', 'telepathic_tile_ice_entrance',
'telepathic_tile_ice_stalfos_knights_room', 'telepathic_tile_ice_stalfos_knights_room',
'telepathic_tile_tower_of_hera_entrance', 'telepathic_tile_tower_of_hera_entrance',
'telepathic_tile_south_east_darkworld_cave', 'telepathic_tile_south_east_darkworld_cave',

View File

@ -861,7 +861,7 @@ def standard_rules(world, player):
def toss_junk_item(world, player): def toss_junk_item(world, player):
items = ['Rupees (20)', 'Bombs (3)', 'Arrows (10)', 'Rupees (5)', 'Rupee (1)', 'Bombs (10)', items = ['Rupees (20)', 'Bombs (3)', 'Arrows (10)', 'Rupees (5)', 'Rupee (1)', 'Bombs (10)',
'Single Arrow', 'Rupees (50)', 'Rupees (100)', 'Single Bomb', 'Bee', 'Bee Trap', 'Single Arrow', 'Rupees (50)', 'Rupees (100)', 'Single Bomb', 'Bee', 'Bee Trap',
'Rupees (300)'] 'Rupees (300)', 'Nothing']
for item in items: for item in items:
big20 = next((i for i in world.itempool if i.name == item and i.player == player), None) big20 = next((i for i in world.itempool if i.name == item and i.player == player), None)
if big20: if big20:
@ -940,7 +940,7 @@ def set_trock_key_rules(world, player):
if not can_reach_big_chest: 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 # 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) 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: 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 # 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', for location in ['Turtle Rock - Chain Chomps', 'Turtle Rock - Compass Chest',

View File

@ -254,7 +254,10 @@ def create_shops(world, player: int):
loc.shop_slot = True loc.shop_slot = True
loc.locked = True loc.locked = True
if single_purchase_slots.pop(): 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) loc.item = ItemFactory(additional_item, player)
else: else:
loc.item = ItemFactory('Nothing', player) loc.item = ItemFactory('Nothing', player)

View File

@ -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_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_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_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_ice_stalfos_knights_room'] = CompressedTextMapper.convert("{NOBORDER}\nKnock 'em down and then bomb them dead.")
text['telepathic_tile_tower_of_hera_entrance'] = CompressedTextMapper.convert( 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.") "{NOBORDER}\nThis is a bad place, with a guy who will make you fall…\n\n\na lot.")