Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions helpers.json
Original file line number Diff line number Diff line change
Expand Up @@ -969,6 +969,14 @@
]}
]
},
{
"name": "h_flashSuitIceClip",
"requires": [
"canTrickyUseFrozenEnemies",
"canCeilingClip",
{"useFlashSuit": {}}
]
},
{
"name": "h_maxHeightSpringBallJump",
"requires": [
Expand Down
11 changes: 10 additions & 1 deletion region/maridia/outer/Crab Hole.json
Original file line number Diff line number Diff line change
Expand Up @@ -1336,7 +1336,16 @@
]},
{"and": [
"HiJump",
"h_highPixelIceClip"
"h_highPixelIceClip",
"canBeVeryPatient",
{"or": [
"HiJump",
"Gravity"
]},
{"or": [
{"noFlashSuit": {}},
"canTrickyCarryFlashSuit"
]}
]}
]}
],
Expand Down
40 changes: 40 additions & 0 deletions region/maridia/outer/Mt. Everest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3295,6 +3295,46 @@
"FIXME: suitless variations would be possible with HiJump in combination with Spring Ball or Grapple and patience."
]
},
{
"link": [5, 5],
"name": "Flash Suit Ice Clip Door Lock Skip",
"requires": [
"canBeVeryPatient",
{"or": [
{"and": [
"Gravity",
"SpaceJump"
]},
{"and": [
"Gravity",
"HiJump",
"canPreciseGrapple"
]},
{"and": [
"HiJump",
"canPreciseGrapple",
"canSpringBallJumpMidAir"
]},
{"and": [
"HiJump",
"canGravityJump"
]}
]},
{"ammo": {"type": "Super", "count": 1}},
"h_flashSuitIceClip",
{"shinespark": {"frames": 2, "excessFrames": 1}}
],
"exitCondition": {
"leaveWithSpark": {}
},
"bypassesDoorShell": true,
"flashSuitChecked": true,
"note": [
"Lure a crab to the top door.",
"Use a Super to knock it off and freeze it frame-perfectly below the door.",
"Use a flash suit from a crouched position to spark vertically and clip past the door shell."
]
},
{
"id": 126,
"link": [5, 5],
Expand Down
27 changes: 26 additions & 1 deletion region/norfair/crocomire/Post Crocomire Shaft.json
Original file line number Diff line number Diff line change
Expand Up @@ -666,11 +666,36 @@
],
"bypassesDoorShell": true,
"note": [
"Use a Super to knock a Viola off of the middle platforms and ride it up the right wall by freezing it with Ice Beam.",
"Use a Super to knock a Viola off of the middle platforms and ride it up the right wall by freezing it.",
"Once it reaches the top door, use another Super to knock it off again, and freeze it mid-air.",
"Use Morph and X-Ray to stand on top of it and clip up through the door shell above."
]
},
{
"link": [3, 4],
"name": "Flash Suit Ice Clip Door Lock Skip",
"requires": [
{"or": [
"canConsecutiveWalljump",
"SpaceJump",
"canLongIBJ",
"canBePatient"
]},
{"ammo": {"type": "Super", "count": 2}},
"h_flashSuitIceClip",
{"shinespark": {"frames": 2, "excessFrames": 1}}
],
"exitCondition": {
"leaveWithSpark": {}
},
"bypassesDoorShell": true,
"flashSuitChecked": true,
"note": [
"Use a Super to knock a Viola off of the middle platforms and ride it up the right wall by freezing it.",
"Once it reaches the top door, use another Super to knock it off again, and freeze it mid-air pixel perfectly.",
"Use a flash suit from a crouched position to spark vertically and clip past the door shell."
]
},
{
"id": 28,
"link": [3, 4],
Expand Down
2 changes: 2 additions & 0 deletions tests/asserts/keywords.py
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,8 @@ def process_req_speed_state(req, states, err_fn):
# Note: "canSpeedKeep" can be used for other purposes than obtaining blue, but its presence should be
# enough to satisfy the test as a way that blue may be obtained.
states = {"blue"}
elif req in ["h_flashSuitIceClip"]:
states = {"preshinespark"}
elif req in ["canTemporaryBlue", "canChainTemporaryBlue", "canLongChainTemporaryBlue", "canSpeedball", "canXRayCancelShinecharge"]:
if not states.issubset(["shinecharging", "blue"]):
err_fn(f"{req} while not in blue state")
Expand Down