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 # added for AP completion_condition when TowerCrystals is lower than GanonCrystals
def CanComplete(self, items: Progression): 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): def CanFill(self, item: Item):
if (self.Config.Multiworld): if (self.Config.Multiworld):

View File

@ -230,7 +230,7 @@ class SMZ3World(World):
self.multiworld.itempool += itemPool self.multiworld.itempool += itemPool
def set_rules(self): 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.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").CanEnter(state.smz3state[self.player]) and \
self.smz3World.GetRegion("Ganon's Tower").TowerAscend(state.smz3state[self.player]) and \ self.smz3World.GetRegion("Ganon's Tower").TowerAscend(state.smz3state[self.player]) and \