Escape assist: only get infinite bombs with enemizer or bombs/cane/bow start + high hp
This commit is contained in:
parent
6c9fde8bee
commit
7aa9622c5e
37
ItemList.py
37
ItemList.py
|
@ -182,24 +182,27 @@ 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):
|
||||||
found_sword = False
|
if "Link's Uncle" not in placed_items:
|
||||||
found_bow = False
|
found_sword = False
|
||||||
possible_weapons = []
|
found_bow = False
|
||||||
for item in pool:
|
possible_weapons = []
|
||||||
if item in ['Progressive Sword', 'Fighter Sword', 'Master Sword', 'Tempered Sword', 'Golden Sword']:
|
for item in pool:
|
||||||
if not found_sword and world.swords[player] != 'swordless':
|
if item in ['Progressive Sword', 'Fighter Sword', 'Master Sword', 'Tempered Sword', 'Golden Sword']:
|
||||||
found_sword = True
|
if not found_sword and world.swords[player] != 'swordless':
|
||||||
|
found_sword = True
|
||||||
|
possible_weapons.append(item)
|
||||||
|
if item in ['Progressive Bow', 'Bow'] and not found_bow:
|
||||||
|
found_bow = True
|
||||||
possible_weapons.append(item)
|
possible_weapons.append(item)
|
||||||
if item in ['Progressive Bow', 'Bow'] and not found_bow:
|
if item in ['Hammer', 'Bombs (10)', 'Fire Rod', 'Cane of Somaria', 'Cane of Byrna']:
|
||||||
found_bow = True
|
if item not in possible_weapons:
|
||||||
possible_weapons.append(item)
|
possible_weapons.append(item)
|
||||||
if item in ['Hammer', 'Bombs (10)', 'Fire Rod', 'Cane of Somaria', 'Cane of Byrna']:
|
starting_weapon = random.choice(possible_weapons)
|
||||||
if item not in possible_weapons:
|
placed_items["Link's Uncle"] = starting_weapon
|
||||||
possible_weapons.append(item)
|
pool.remove(starting_weapon)
|
||||||
starting_weapon = random.choice(possible_weapons)
|
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']:
|
||||||
placed_items["Link's Uncle"] = starting_weapon
|
world.escape_assist[player].append('bombs')
|
||||||
pool.remove(starting_weapon)
|
|
||||||
|
|
||||||
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)
|
||||||
|
|
2
Main.py
2
Main.py
|
@ -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':
|
||||||
|
|
Loading…
Reference in New Issue