Escape assist: only get infinite bombs with enemizer or bombs/cane/bow start + high hp

This commit is contained in:
Bonta-kun 2019-12-30 06:42:45 +01:00
parent 6c9fde8bee
commit 7aa9622c5e
2 changed files with 21 additions and 18 deletions

View File

@ -182,7 +182,8 @@ def generate_itempool(world, player):
for item in precollected_items: for item in precollected_items:
world.push_precollected(ItemFactory(item, player)) world.push_precollected(ItemFactory(item, player))
if world.mode[player] == 'standard' and not world.state.has_blunt_weapon(player) and "Link's Uncle" not in placed_items: if world.mode[player] == 'standard' and not world.state.has_blunt_weapon(player):
if "Link's Uncle" not in placed_items:
found_sword = False found_sword = False
found_bow = False found_bow = False
possible_weapons = [] possible_weapons = []
@ -200,6 +201,8 @@ def generate_itempool(world, player):
starting_weapon = random.choice(possible_weapons) starting_weapon = random.choice(possible_weapons)
placed_items["Link's Uncle"] = starting_weapon placed_items["Link's Uncle"] = starting_weapon
pool.remove(starting_weapon) pool.remove(starting_weapon)
if placed_items["Link's Uncle"] in ['Bow', 'Progressive Bow', 'Bombs (10)', 'Cane of Somaria', 'Cane of Byrna'] and world.enemy_health[player] not in ['default', 'easy']:
world.escape_assist[player].append('bombs')
for (location, item) in placed_items.items(): for (location, item) in placed_items.items():
world.push_item(world.get_location(location, player), ItemFactory(item, player), False) world.push_item(world.get_location(location, player), ItemFactory(item, player), False)

View File

@ -61,7 +61,7 @@ def main(args, seed=None):
for player in range(1, world.players + 1): for player in range(1, world.players + 1):
world.difficulty_requirements[player] = difficulties[world.difficulty[player]] world.difficulty_requirements[player] = difficulties[world.difficulty[player]]
if world.mode[player] == 'standard' and (world.enemy_shuffle[player] != 'none' or world.enemy_health[player] not in ['default', 'easy']): if world.mode[player] == 'standard' and world.enemy_shuffle[player] != 'none':
world.escape_assist[player].append('bombs') # enemized escape assumes infinite bombs available and will likely be unbeatable without it world.escape_assist[player].append('bombs') # enemized escape assumes infinite bombs available and will likely be unbeatable without it
if world.mode[player] != 'inverted': if world.mode[player] != 'inverted':