sm64ex: All Bowser Stages Goal (#2112)
This commit is contained in:
parent
2353346768
commit
253f3e61f7
|
@ -88,6 +88,12 @@ class ExclamationBoxes(Choice):
|
||||||
option_Off = 0
|
option_Off = 0
|
||||||
option_1Ups_Only = 1
|
option_1Ups_Only = 1
|
||||||
|
|
||||||
|
class CompletionType(Choice):
|
||||||
|
"""Set goal for game completion"""
|
||||||
|
display_name = "Completion Goal"
|
||||||
|
option_Last_Bowser_Stage = 0
|
||||||
|
option_All_Bowser_Stages = 1
|
||||||
|
|
||||||
|
|
||||||
class ProgressiveKeys(DefaultOnToggle):
|
class ProgressiveKeys(DefaultOnToggle):
|
||||||
"""Keys will first grant you access to the Basement, then to the Secound Floor"""
|
"""Keys will first grant you access to the Basement, then to the Secound Floor"""
|
||||||
|
@ -110,4 +116,5 @@ sm64_options: typing.Dict[str, type(Option)] = {
|
||||||
"death_link": DeathLink,
|
"death_link": DeathLink,
|
||||||
"BuddyChecks": BuddyChecks,
|
"BuddyChecks": BuddyChecks,
|
||||||
"ExclamationBoxes": ExclamationBoxes,
|
"ExclamationBoxes": ExclamationBoxes,
|
||||||
|
"CompletionType" : CompletionType,
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,4 +124,9 @@ def set_rules(world, player: int, area_connections):
|
||||||
add_rule(world.get_location("MIPS 1", player), lambda state: state.can_reach("Basement", 'Region', player) and state.has("Power Star", player, world.MIPS1Cost[player].value))
|
add_rule(world.get_location("MIPS 1", player), lambda state: state.can_reach("Basement", 'Region', player) and state.has("Power Star", player, world.MIPS1Cost[player].value))
|
||||||
add_rule(world.get_location("MIPS 2", player), lambda state: state.can_reach("Basement", 'Region', player) and state.has("Power Star", player, world.MIPS2Cost[player].value))
|
add_rule(world.get_location("MIPS 2", player), lambda state: state.can_reach("Basement", 'Region', player) and state.has("Power Star", player, world.MIPS2Cost[player].value))
|
||||||
|
|
||||||
world.completion_condition[player] = lambda state: state.can_reach("Bowser in the Sky", 'Region', player)
|
if world.CompletionType[player] == "last_bowser_stage":
|
||||||
|
world.completion_condition[player] = lambda state: state.can_reach("Bowser in the Sky", 'Region', player)
|
||||||
|
elif world.CompletionType[player] == "all_bowser_stages":
|
||||||
|
world.completion_condition[player] = lambda state: state.can_reach("Bowser in the Dark World", 'Region', player) and \
|
||||||
|
state.can_reach("Bowser in the Fire Sea", 'Region', player) and \
|
||||||
|
state.can_reach("Bowser in the Sky", 'Region', player)
|
||||||
|
|
|
@ -154,6 +154,7 @@ class SM64World(World):
|
||||||
"MIPS2Cost": self.multiworld.MIPS2Cost[self.player].value,
|
"MIPS2Cost": self.multiworld.MIPS2Cost[self.player].value,
|
||||||
"StarsToFinish": self.multiworld.StarsToFinish[self.player].value,
|
"StarsToFinish": self.multiworld.StarsToFinish[self.player].value,
|
||||||
"DeathLink": self.multiworld.death_link[self.player].value,
|
"DeathLink": self.multiworld.death_link[self.player].value,
|
||||||
|
"CompletionType" : self.multiworld.CompletionType[self.player].value,
|
||||||
}
|
}
|
||||||
|
|
||||||
def generate_output(self, output_directory: str):
|
def generate_output(self, output_directory: str):
|
||||||
|
|
Loading…
Reference in New Issue