TLOZ: Try accounting for non_local_items with the pool of starting weapons (#2620)
It was brought up that if you attempt to non_local any of the starting weapons, there is still a chance for it to get chosen as your starting weapon if you are on a StartingPosition value lower than very_dangerous. This fix will attempt to build the starting weapons list accounting for non_local items, but if all possible weapons have been set to non_local, force one of them to be your starting weapon anyway since the player is still expecting a starting weapon in their world if they have chosen one of the lower StartingPosition values.
This commit is contained in:
parent
8e708f829d
commit
c7617f92dd
|
@ -93,7 +93,11 @@ def get_pool_core(world):
|
||||||
|
|
||||||
# Starting Weapon
|
# Starting Weapon
|
||||||
start_weapon_locations = starting_weapon_locations.copy()
|
start_weapon_locations = starting_weapon_locations.copy()
|
||||||
starting_weapon = random.choice(starting_weapons)
|
final_starting_weapons = [weapon for weapon in starting_weapons
|
||||||
|
if weapon not in world.multiworld.non_local_items[world.player]]
|
||||||
|
if not final_starting_weapons:
|
||||||
|
final_starting_weapons = starting_weapons
|
||||||
|
starting_weapon = random.choice(final_starting_weapons)
|
||||||
if world.multiworld.StartingPosition[world.player] == StartingPosition.option_safe:
|
if world.multiworld.StartingPosition[world.player] == StartingPosition.option_safe:
|
||||||
placed_items[start_weapon_locations[0]] = starting_weapon
|
placed_items[start_weapon_locations[0]] = starting_weapon
|
||||||
elif world.multiworld.StartingPosition[world.player] in \
|
elif world.multiworld.StartingPosition[world.player] in \
|
||||||
|
|
Loading…
Reference in New Issue