SMZ3: Fix minimal logic considering SM boss tokens unnecessary (#4377)

This commit is contained in:
Kaito Sinclaire 2024-12-21 11:39:38 -08:00 committed by GitHub
parent e1a1cd1067
commit 46613adceb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 2 deletions

View File

@ -140,7 +140,8 @@ class GanonsTower(Z3Region):
# added for AP completion_condition when TowerCrystals is lower than GanonCrystals
def CanComplete(self, items: Progression):
return self.world.CanAcquireAtLeast(self.world.GanonCrystals, items, RewardType.AnyCrystal)
return self.world.CanAcquireAtLeast(self.world.GanonCrystals, items, RewardType.AnyCrystal) and \
self.world.CanAcquireAtLeast(self.world.TourianBossTokens, items, RewardType.AnyBossToken)
def CanFill(self, item: Item):
if (self.Config.Multiworld):

View File

@ -230,7 +230,7 @@ class SMZ3World(World):
self.multiworld.itempool += itemPool
def set_rules(self):
# SM G4 is logically required to access Ganon's Tower in SMZ3
# SM G4 is logically required to complete Ganon's Tower
self.multiworld.completion_condition[self.player] = lambda state: \
self.smz3World.GetRegion("Ganon's Tower").CanEnter(state.smz3state[self.player]) and \
self.smz3World.GetRegion("Ganon's Tower").TowerAscend(state.smz3state[self.player]) and \