Sm beam door speedkeep fun accessibility (#785)

added speedkeep option
now forces accessibility to "minimal" instead of (to be deprecated) "item" when "fun" settings is used
This commit is contained in:
lordlou 2022-07-22 03:44:58 -04:00 committed by GitHub
parent 04c3429839
commit fe2c355739
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 6 deletions

View File

@ -143,15 +143,15 @@ class BossRandomization(Toggle):
display_name = "Boss Randomization" display_name = "Boss Randomization"
class FunCombat(Toggle): class FunCombat(Toggle):
"""Forces removal of Plasma Beam and Screw Attack if the preset and settings allow it. In addition, can randomly remove Spazer and Wave Beam from the Combat set. If used, might force 'items' accessibility.""" """Forces removal of Plasma Beam and Screw Attack if the preset and settings allow it. In addition, can randomly remove Spazer and Wave Beam from the Combat set. If used, might force 'minimal' accessibility."""
display_name = "Fun Combat" display_name = "Fun Combat"
class FunMovement(Toggle): class FunMovement(Toggle):
"""Forces removal of Space Jump if the preset allows it. In addition, can randomly remove High Jump, Grappling Beam, Spring Ball, Speed Booster, and Bombs from the Movement set. If used, might force 'items' accessibility.""" """Forces removal of Space Jump if the preset allows it. In addition, can randomly remove High Jump, Grappling Beam, Spring Ball, Speed Booster, and Bombs from the Movement set. If used, might force 'minimal' accessibility."""
display_name = "Fun Movement" display_name = "Fun Movement"
class FunSuits(Toggle): class FunSuits(Toggle):
"""If the preset and seed layout allow it, will force removal of at least one of Varia Suit and/or Gravity Suit. If used, might force 'items' accessibility.""" """If the preset and seed layout allow it, will force removal of at least one of Varia Suit and/or Gravity Suit. If used, might force 'minimal' accessibility."""
display_name = "Fun Suits" display_name = "Fun Suits"
class LayoutPatches(DefaultOnToggle): class LayoutPatches(DefaultOnToggle):
@ -182,6 +182,10 @@ class SpinJumpRestart(Toggle):
"""Allows Samus to start spinning in mid air after jumping or falling.""" """Allows Samus to start spinning in mid air after jumping or falling."""
display_name = "Spin Jump Restart" display_name = "Spin Jump Restart"
class SpeedKeep(Toggle):
"""Let Samus keeps her momentum when landing from a fall or from jumping."""
display_name = "Momentum conservation (a.k.a. Speedkeep)"
class InfiniteSpaceJump(Toggle): class InfiniteSpaceJump(Toggle):
"""Space jumps can be done quicker and at any time in air, water or lava, even after falling long distances.""" """Space jumps can be done quicker and at any time in air, water or lava, even after falling long distances."""
display_name = "Infinite Space Jump" display_name = "Infinite Space Jump"
@ -266,7 +270,7 @@ sm_options: typing.Dict[str, type(Option)] = {
#"item_sounds": "on", #"item_sounds": "on",
"elevators_doors_speed": ElevatorsDoorsSpeed, "elevators_doors_speed": ElevatorsDoorsSpeed,
"spin_jump_restart": SpinJumpRestart, "spin_jump_restart": SpinJumpRestart,
#"rando_speed": "off", "rando_speed": SpeedKeep,
"infinite_space_jump": InfiniteSpaceJump, "infinite_space_jump": InfiniteSpaceJump,
"refill_before_save": RefillBeforeSave, "refill_before_save": RefillBeforeSave,
"hud": Hud, "hud": Hud,

View File

@ -125,8 +125,8 @@ class SMWorld(World):
self.remote_items = self.world.remote_items[self.player] self.remote_items = self.world.remote_items[self.player]
if (len(self.variaRando.randoExec.setup.restrictedLocs) > 0): if (len(self.variaRando.randoExec.setup.restrictedLocs) > 0):
self.world.accessibility[self.player] = self.world.accessibility[self.player].from_text("items") self.world.accessibility[self.player] = self.world.accessibility[self.player].from_text("minimal")
logger.warning(f"accessibility forced to 'items' for player {self.world.get_player_name(self.player)} because of 'fun' settings") logger.warning(f"accessibility forced to 'minimal' for player {self.world.get_player_name(self.player)} because of 'fun' settings")
def generate_basic(self): def generate_basic(self):
itemPool = self.variaRando.container.itemPool itemPool = self.variaRando.container.itemPool