From fe2c3557392652089f2cb0d2de5c304e30b9e36d Mon Sep 17 00:00:00 2001 From: lordlou <87331798+lordlou@users.noreply.github.com> Date: Fri, 22 Jul 2022 03:44:58 -0400 Subject: [PATCH] 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 --- worlds/sm/Options.py | 12 ++++++++---- worlds/sm/__init__.py | 4 ++-- .../patches/common/ips/beam_doors_gfx.ips | Bin 13919 -> 10353 bytes 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/worlds/sm/Options.py b/worlds/sm/Options.py index 07f79f17bd..814b19f4d4 100644 --- a/worlds/sm/Options.py +++ b/worlds/sm/Options.py @@ -143,15 +143,15 @@ class BossRandomization(Toggle): display_name = "Boss Randomization" 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" 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" 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" class LayoutPatches(DefaultOnToggle): @@ -182,6 +182,10 @@ class SpinJumpRestart(Toggle): """Allows Samus to start spinning in mid air after jumping or falling.""" 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): """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" @@ -266,7 +270,7 @@ sm_options: typing.Dict[str, type(Option)] = { #"item_sounds": "on", "elevators_doors_speed": ElevatorsDoorsSpeed, "spin_jump_restart": SpinJumpRestart, - #"rando_speed": "off", + "rando_speed": SpeedKeep, "infinite_space_jump": InfiniteSpaceJump, "refill_before_save": RefillBeforeSave, "hud": Hud, diff --git a/worlds/sm/__init__.py b/worlds/sm/__init__.py index fe1323caec..59c3c463f7 100644 --- a/worlds/sm/__init__.py +++ b/worlds/sm/__init__.py @@ -125,8 +125,8 @@ class SMWorld(World): self.remote_items = self.world.remote_items[self.player] if (len(self.variaRando.randoExec.setup.restrictedLocs) > 0): - self.world.accessibility[self.player] = self.world.accessibility[self.player].from_text("items") - logger.warning(f"accessibility forced to 'items' for player {self.world.get_player_name(self.player)} because of 'fun' settings") + self.world.accessibility[self.player] = self.world.accessibility[self.player].from_text("minimal") + logger.warning(f"accessibility forced to 'minimal' for player {self.world.get_player_name(self.player)} because of 'fun' settings") def generate_basic(self): itemPool = self.variaRando.container.itemPool diff --git a/worlds/sm/variaRandomizer/patches/common/ips/beam_doors_gfx.ips b/worlds/sm/variaRandomizer/patches/common/ips/beam_doors_gfx.ips index 00239095e2b2412eb0b085bb510f476aa4f2c372..509bbbf8e5d2fd2f98633be32132c6e773271aa2 100644 GIT binary patch delta 11 Scmcbg^D$sUo(8k4zZ(D|yaccS delta 3605 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