Beispiel #1
0
 def canEndGame(self):
     # to finish the game you must :
     # - beat golden 4 : we force pickup of the 4 items
     #   behind the bosses to ensure that
     # - defeat metroids
     # - destroy/skip the zebetites
     # - beat Mother Brain
     return self.smbm.wand(Bosses.allBossesDead(self.smbm), self.smbm.enoughStuffTourian())
Beispiel #2
0
 def canEndGame(self):
     # to finish the game you must:
     # - beat golden 4
     # - defeat metroids
     # - destroy/skip the zebetites
     # - beat Mother Brain
     return self.smbm.wand(Bosses.allBossesDead(self.smbm),
                           self.smbm.enoughStuffTourian())
Beispiel #3
0
    'Draygon Room Bottom': lambda sm: SMBool(True)
}
locationsDict["Draygon"].Available = (
    lambda sm: SMBool(True)
)
locationsDict["Space Jump"].AccessFrom = {
    'Draygon Room Bottom': lambda sm: SMBool(True)
}
locationsDict["Space Jump"].Available = (
    lambda sm: SMBool(True)
)
locationsDict["Space Jump"].PostAvailable = (
    lambda sm: Bosses.bossDead(sm, 'Draygon')
)
locationsDict["Mother Brain"].AccessFrom = {
    'Golden Four': lambda sm: Bosses.allBossesDead(sm)
}
locationsDict["Mother Brain"].Available = (
    lambda sm: sm.enoughStuffTourian()
)
locationsDict["Power Bomb (Crateria surface)"].AccessFrom = {
    'Landing Site': lambda sm: SMBool(True)
}
locationsDict["Power Bomb (Crateria surface)"].Available = (
    lambda sm: sm.wand(sm.traverse('LandingSiteTopRight'),
                       sm.wor(sm.haveItem('SpeedBooster'),
                              sm.canFly()))
)
locationsDict["Missile (outside Wrecked Ship bottom)"].AccessFrom = {
    'West Ocean Left': lambda sm: SMBool(True)
}
      category="Bosses"),
 Goal("kill three G4",
      "other",
      lambda sm, ap: Bosses.xBossesDead(sm, 3),
      "boss_3_killed",
      escapeAccessPoints=getG4EscapeAccessPoints(3),
      exclusion={
          "list": ["kill all G4", "kill one G4", "kill two G4"],
          "type": "boss",
          "limit": 2
      },
      text="{} three golden4",
      category="Bosses"),
 Goal("kill all G4",
      "other",
      lambda sm, ap: Bosses.allBossesDead(sm),
      "all_g4_dead",
      escapeAccessPoints=getG4EscapeAccessPoints(4),
      exclusion={
          "list": [
              "kill kraid", "kill phantoon", "kill draygon", "kill ridley",
              "kill one G4", "kill two G4", "kill three G4"
          ]
      },
      items=["Kraid", "Phantoon", "Draygon", "Ridley"],
      text="{} all golden4",
      expandableList=[
          "kill kraid", "kill phantoon", "kill draygon", "kill ridley"
      ],
      category="Bosses"),
 Goal("kill spore spawn",