skip gtower fill if target fill count is 0
Also rename gftower to gtower. I don't know what the f could stand for. Girlfriend tower?
This commit is contained in:
parent
b3bb1f187d
commit
52cf99c5c8
51
Fill.py
51
Fill.py
|
@ -242,34 +242,35 @@ def distribute_items_restrictive(world, gftower_trash=False, fill_locations=None
|
||||||
for player in range(1, world.players + 1):
|
for player in range(1, world.players + 1):
|
||||||
if not gftower_trash or not world.ganonstower_vanilla[player] or \
|
if not gftower_trash or not world.ganonstower_vanilla[player] or \
|
||||||
world.logic[player] in {'owglitches', "nologic"}:
|
world.logic[player] in {'owglitches', "nologic"}:
|
||||||
continue
|
gtower_trash_count = 0
|
||||||
if 'triforcehunt' in world.goal[player] and ('local' in world.goal[player] or world.players == 1):
|
elif 'triforcehunt' in world.goal[player] and ('local' in world.goal[player] or world.players == 1):
|
||||||
gftower_trash_count = world.random.randint(world.crystals_needed_for_gt[player] * 2,
|
gtower_trash_count = world.random.randint(world.crystals_needed_for_gt[player] * 2,
|
||||||
world.crystals_needed_for_gt[player] * 4)
|
world.crystals_needed_for_gt[player] * 4)
|
||||||
else:
|
else:
|
||||||
gftower_trash_count = world.random.randint(0, world.crystals_needed_for_gt[player] * 2)
|
gtower_trash_count = world.random.randint(0, world.crystals_needed_for_gt[player] * 2)
|
||||||
|
|
||||||
gtower_locations = [location for location in fill_locations if
|
if gtower_trash_count:
|
||||||
'Ganons Tower' in location.name and location.player == player]
|
gtower_locations = [location for location in fill_locations if
|
||||||
world.random.shuffle(gtower_locations)
|
'Ganons Tower' in location.name and location.player == player]
|
||||||
trashcnt = 0
|
world.random.shuffle(gtower_locations)
|
||||||
localrest = localrestitempool[player]
|
trashcnt = 0
|
||||||
if localrest:
|
localrest = localrestitempool[player]
|
||||||
gt_item_pool = restitempool + localrest
|
if localrest:
|
||||||
world.random.shuffle(gt_item_pool)
|
gt_item_pool = restitempool + localrest
|
||||||
else:
|
world.random.shuffle(gt_item_pool)
|
||||||
gt_item_pool = restitempool.copy()
|
|
||||||
|
|
||||||
while gtower_locations and gt_item_pool and trashcnt < gftower_trash_count:
|
|
||||||
spot_to_fill = gtower_locations.pop()
|
|
||||||
item_to_place = gt_item_pool.pop()
|
|
||||||
if item_to_place in localrest:
|
|
||||||
localrest.remove(item_to_place)
|
|
||||||
else:
|
else:
|
||||||
restitempool.remove(item_to_place)
|
gt_item_pool = restitempool.copy()
|
||||||
world.push_item(spot_to_fill, item_to_place, False)
|
|
||||||
fill_locations.remove(spot_to_fill)
|
while gtower_locations and gt_item_pool and trashcnt < gtower_trash_count:
|
||||||
trashcnt += 1
|
spot_to_fill = gtower_locations.pop()
|
||||||
|
item_to_place = gt_item_pool.pop()
|
||||||
|
if item_to_place in localrest:
|
||||||
|
localrest.remove(item_to_place)
|
||||||
|
else:
|
||||||
|
restitempool.remove(item_to_place)
|
||||||
|
world.push_item(spot_to_fill, item_to_place, False)
|
||||||
|
fill_locations.remove(spot_to_fill)
|
||||||
|
trashcnt += 1
|
||||||
|
|
||||||
world.random.shuffle(fill_locations)
|
world.random.shuffle(fill_locations)
|
||||||
fill_locations.reverse()
|
fill_locations.reverse()
|
||||||
|
|
Loading…
Reference in New Issue