Fixed issue with 2 extra SP keys in pool for HMG

This commit is contained in:
codemann8
2025-01-05 07:32:04 -06:00
parent d8899f3e6f
commit 41080e73bd
2 changed files with 36 additions and 16 deletions

View File

@@ -272,7 +272,8 @@ def generate_itempool(world, player):
for _ in range(0, amt):
pool.append('Rupees (20)')
if world.logic[player] == 'hybridglitches' and world.pottery[player] not in ['none', 'cave']:
if world.logic[player] == 'hybridglitches' and world.pottery[player] not in ['none', 'cave'] \
and world.keyshuffle[player] not in ['none', 'nearby']:
# In HMG force swamp smalls in pots to allow getting out of swamp palace
placed_items['Swamp Palace - Trench 1 Pot Key'] = 'Small Key (Swamp Palace)'
placed_items['Swamp Palace - Pot Row Pot Key'] = 'Small Key (Swamp Palace)'
@@ -365,19 +366,6 @@ def generate_itempool(world, player):
for wix in reversed(to_remove):
del world.itempool[wix]
if world.logic[player] == 'hybridglitches' and world.pottery[player] not in ['none', 'cave']:
# In HMG force swamp smalls in pots to allow getting out of swamp palace
loc = world.get_location('Swamp Palace - Trench 1 Pot Key', player)
world.push_item(loc, ItemFactory('Small Key (Swamp Palace)', player), False)
loc.event = True
loc.locked = True
loc = world.get_location('Swamp Palace - Pot Row Pot Key', player)
world.push_item(loc, ItemFactory('Small Key (Swamp Palace)', player), False)
loc.event = True
loc.locked = True
world.itempool.remove(ItemFactory('Small Key (Swamp Palace)', player))
world.itempool.remove(ItemFactory('Small Key (Swamp Palace)', player))
# logic has some branches where having 4 hearts is one possible requirement (of several alternatives)
# rather than making all hearts/heart pieces progression items (which slows down generation considerably)
# We mark one random heart container as an advancement item (or 4 heart pieces in expert mode)