canHorizontalMidairShinespark (Hard)

The ability to jump and shinespark horizontally mid-air. From a spin jump, a shinespark wind-up is triggered by releasing either forward or jump (or both) and pressing either up or angle-up. The wind-up is a brief period during which the player can control the direction of the spark. During the wind-up, if jump is pressed together with up, angle-up, or forward, Samus will immediately spark up, diagonally, or horizontally, respectively. If the wind-up expires, Samus will default to a vertical spark. If jump is held when activating the wind-up by pressing up or angle-up, then the wind-up is effectively skipped as the spark activates immediately.

For a mid-air horizontal spark, the sequence is to spin-jump, release jump, tap up or angle-up to activate the wind-up, then press forward and jump to spark; it is also possible to hold forward the entire time; either way, the important points are to be sure to release jump before activating the wind-up, and be sure to release up/angle-up (pressing or holding forward instead) before repressing jump to activate the spark. The wind-up period is fairly lenient, so the timing of the jump input after the up/angle doesn't need to be rushed. Note that mid-air shinesparks can't be performed from a fall, only from a jump.

Dependencies: canShinespark, canMidairShinespark, canShinechargeMovement, canHorizontalShinespark

Difficulty filter

Strats ()

From: 3
Top Right Door
To: 1
Top Left Door

It is possible to save a small amount of energy by jumping from the upper right ledge, instead of from the plateau. Use the cues in the background to spark at a precise height.

Requires:

"canDash"
"canInsaneJump"
"canHorizontalMidairShinespark"
{
  "useFlashSuit": {}
}
{
  "or": [
    {
      "shinespark": {
        "frames": 95,
        "excessFrames": 34
      }
    },
    {
      "and": [
        "HiJump",
        {
          "shinespark": {
            "frames": 90,
            "excessFrames": 34
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

Dev note: This is only useful without SpeedBooster and without a way to refill at the ship - i.e. without wall jump to get back up.

From: 4
Bottom Right Door
To: 1
Top Left Door

Requires:

"h_storedSpark"
"canDash"
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 103,
        "excessFrames": 34
      }
    },
    {
      "and": [
        "HiJump",
        {
          "shinespark": {
            "frames": 99,
            "excessFrames": 34
          }
        }
      ]
    }
  ]
}

Clears obstacles: A

From: 7
Junction (Left Ledge Below Bomb Blocks)
To: 1
Top Left Door

Requires:

"canHorizontalMidairShinespark"
"h_storedSpark"
{
  "shinespark": {
    "frames": 54,
    "excessFrames": 43
  }
}
{
  "or": [
    "canWalljump",
    "SpaceJump",
    {
      "and": [
        "HiJump",
        {
          "or": [
            "canSpeedyJump",
            "canInsaneJump"
          ]
        }
      ]
    }
  ]
}

Clears obstacles: A

Dev note: This can be done with HiJump alone; it requires a precise spin jump and then a very precise horizontal spark at the top of the jump.

From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 0,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  }
}

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 92,
        "excessFrames": 9
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 86,
            "excessFrames": 16
          }
        }
      ]
    },
    {
      "and": [
        "canShinechargeMovementComplex",
        "Morph",
        {
          "shinespark": {
            "frames": 66,
            "excessFrames": 0
          }
        }
      ]
    }
  ]
}

Dev note: Shinespark against the bomb blocks or from the raised spot in order to make it all the way through to avoid bonking and potentially falling in the acid. With 99 Energy, it is best to spark from directly above the flat tile to the right of the raised part of the runway. With at least 105 Energy, it is best to spark against the right wall. With Morph, it is also possible to quickly spark from the flat tile or somewhat low if sparking midair, in order to bonk on the last row of bomb blocks and not fall into the acid.

From: 1
Left Door
To: 2
Right Door

Shinespark below the top block or Samus will crash into a solid wall.

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 50
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 85,
    "excessFrames": 20
  }
}
From: 2
Right Door
To: 1
Left Door

Requires:

"canHorizontalMidairShinespark"
{
  "useFlashSuit": {}
}
{
  "shinespark": {
    "frames": 79,
    "excessFrames": 14
  }
}
From: 2
Right Door
To: 1
Left Door

Wait for the acid to clear before moving to shinespark on the other side of the bomb blocks.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 1,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  }
}

Requires:

"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 80,
    "excessFrames": 13
  }
}
From: 3
Item
To: 2
Right Door

Requires:

"h_storedSpark"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 16,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 1
Lower Section - Bottom Left Door
To: 5
Lower Section - Bottom Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 23,
    "openEnd": 1,
    "steepUpTiles": 1,
    "steepDownTiles": 6
  }
}

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 131,
        "excessFrames": 35
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 106,
            "excessFrames": 35
          }
        }
      ]
    }
  ]
}
From: 13
Bottom Junction
To: 5
Lower Section - Bottom Right Door

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 23,
        "steepUpTiles": 6,
        "steepDownTiles": 1,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 24,
            "steepUpTiles": 6,
            "steepDownTiles": 1,
            "openEnd": 1
          }
        },
        {
          "doorUnlockedAtNode": 1
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "shinespark": {
        "frames": 131,
        "excessFrames": 36
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 109,
            "excessFrames": 37
          }
        }
      ]
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        "h_speedJump",
        {
          "shinespark": {
            "frames": 102,
            "excessFrames": 0
          }
        }
      ]
    }
  ]
}

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
From: 13
Bottom Junction
To: 5
Lower Section - Bottom Right Door

Open the right door before sparking to spark out of it.

Requires:

{
  "or": [
    "canCarefulJump",
    "Grapple",
    "Wave",
    "SpaceJump"
  ]
}
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 23,
        "steepUpTiles": 6,
        "steepDownTiles": 1,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 24,
            "steepUpTiles": 6,
            "steepDownTiles": 1,
            "openEnd": 1
          }
        },
        {
          "doorUnlockedAtNode": 1
        }
      ]
    }
  ]
}
{
  "or": [
    {
      "shinespark": {
        "frames": 131,
        "excessFrames": 0
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 109,
            "excessFrames": 0
          }
        }
      ]
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        "h_speedJump",
        {
          "shinespark": {
            "frames": 102,
            "excessFrames": 0
          }
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
{"nodeId":5,"types":["ammo"],"requires":[]}

Dev note: The right door could be an obstacle, but with this shinecharge, a careful jump is probably fair to include. This room is already pretty complex, so adding an obstacle is fairly significant.

From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 1
  }
}

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 142,
        "excessFrames": 60
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 132,
            "excessFrames": 60
          }
        }
      ]
    }
  ]
}

Dev note: FIXME: Could be doable tankless if the shinecharge happened in the previous room and then Samus ran out with more speed.

From: 2
Right Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 1
  }
}

Requires:

"canHorizontalShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 143,
        "excessFrames": 6
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 132,
            "excessFrames": 6
          }
        }
      ]
    }
  ]
}

Dev note: It's possible to save a couple frames by partially crossing the platforms before sparking, but getting a running jump is nearly as good.

From: 2
Right Door
To: 1
Left Door

Requires:

"h_storedSpark"
"canDash"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 99,
    "excessFrames": 5
  }
}
From: 1
Left Door
To: 3
Item

Takes three walljumps, and must shinespark at the apex.

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 110
}
"canShinechargeMovementComplex"
"canPreciseWalljump"
"canConsecutiveWalljump"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 78
  }
}
From: 1
Left Door
To: 3
Item

Wall jump or build run speed using the full runway to jump high enough for the shinespark.

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 80
}
"HiJump"
"canShinechargeMovementComplex"
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "and": [
        "canWalljump",
        {
          "shinespark": {
            "frames": 80
          }
        }
      ]
    },
    {
      "and": [
        "canTrickyDashJump",
        {
          "shinespark": {
            "frames": 60
          }
        }
      ]
    }
  ]
}
From: 1
Left Door
To: 3
Item

Takes three walljumps, and must shinespark at the apex.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 9,
    "openEnd": 0
  }
}

Requires:

"canShinechargeMovementComplex"
"canPreciseWalljump"
"canConsecutiveWalljump"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 78
  }
}
From: 1
Left Door
To: 3
Item

Wall jump or build run speed using the full runway to jump high enough for the shinespark.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 9,
    "openEnd": 0
  }
}

Requires:

"HiJump"
"canHorizontalMidairShinespark"
"canShinechargeMovementComplex"
{
  "or": [
    {
      "and": [
        "canWalljump",
        {
          "shinespark": {
            "frames": 80
          }
        }
      ]
    },
    {
      "and": [
        "canTrickyDashJump",
        {
          "shinespark": {
            "frames": 60
          }
        }
      ]
    }
  ]
}
From: 2
Right Vertical Door
To: 1
Left Door

Charge a spark to the right, then come back, run and jump, and do a horizontal spark at the apex. If needed, down-grab onto the ledge.

Requires:

{
  "notable": "Big Jump Shinespark"
}
"h_speedJump"
"canShinechargeMovementComplex"
"canHorizontalMidairShinespark"
{
  "obstaclesCleared": [
    "B"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 32,
    "gentleDownTiles": 6,
    "openEnd": 1
  }
}
{
  "shinespark": {
    "frames": 52
  }
}
"canDownGrab"
From: 2
Right Vertical Door
To: 1
Left Door

Store a shinecharge and start running below the left side of the vertical door, to set up the jump in a way that shinesparking at the apex of the jump approximately aligns with the top of the far door.

Requires:

{
  "obstaclesCleared": [
    "A",
    "B",
    "E"
  ]
}
"h_shinechargeMaxRunway"
"canSpeedyJump"
"canShinechargeMovementComplex"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 53
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[],"useImplicitRequires":false}
From: 2
Right Vertical Door
To: 1
Left Door

Requires:

"HiJump"
"canSpeedyJump"
{
  "obstaclesCleared": [
    "B",
    "E"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 32,
    "gentleDownTiles": 6,
    "openEnd": 1
  }
}
"canShinechargeMovementComplex"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 56
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[],"useImplicitRequires":false}
From: 2
Right Vertical Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "B",
    "E"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 32,
    "gentleDownTiles": 6,
    "openEnd": 1
  }
}
"canSpeedyJump"
"canShinechargeMovementComplex"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 57
  }
}

Exit condition:

{
  "leaveWithSpark": {
    "position": "bottom"
  }
}

Unlocks doors:

{"types":["ammo"],"requires":[],"useImplicitRequires":false}
From: 2
Right Vertical Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "B",
    "E"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 32,
    "gentleUpTiles": 6,
    "openEnd": 1
  }
}
"canWalljump"
"canShinechargeMovementComplex"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 85
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"types":["ammo"],"requires":[],"useImplicitRequires":false}
From: 2
Right Vertical Door
To: 1
Left Door

Fire off the shinespark at the apex of two consecutive walljumps.

Requires:

"canWalljump"
"canShinechargeMovementComplex"
"canHorizontalMidairShinespark"
{
  "obstaclesCleared": [
    "B"
  ]
}
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 32,
        "gentleUpTiles": 6,
        "openEnd": 1
      }
    },
    {
      "and": [
        "h_shinechargeMaxRunway",
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ]
    }
  ]
}
{
  "shinespark": {
    "frames": 85
  }
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 35,
    "openEnd": 1
  }
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 80,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Middle Left Door
To: 6
Bowling Chozo Statue

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  }
}

Requires:

{
  "or": [
    {
      "shinespark": {
        "frames": 89,
        "excessFrames": 7
      }
    },
    {
      "and": [
        "canHorizontalMidairShinespark",
        {
          "shinespark": {
            "frames": 82,
            "excessFrames": 9
          }
        }
      ]
    }
  ]
}
From: 2
Middle Left Door
To: 6
Bowling Chozo Statue

Requires:

"canHorizontalMidairShinespark"
"h_storedSpark"
"canDash"
{
  "shinespark": {
    "frames": 82,
    "excessFrames": 8
  }
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharged": {}
}

Requires:

{
  "shineChargeFrames": 30
}
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 39,
    "excessFrames": 10
  }
}
From: 1
Left Door
To: 2
Right Door

Shinespark midair to avoid bonking. Jump outward before sparking save Energy.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 3,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 49,
    "excessFrames": 4
  }
}
From: 2
Right Door
To: 1
Left Door

Shinespark midair to avoid bonking. Jump outward before sparking save Energy.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 3,
    "openEnd": 0
  }
}

Requires:

"Gravity"
"canHorizontalMidairShinespark"
{
  "shinespark": {
    "frames": 48,
    "excessFrames": 4
  }
}
From: 1
Left Door
To: 2
Right Door

Shinecharge just before the second Metroid comes on camera, jump over it and spark against the ceiling to avoid the rest of them. Sparking lower will likely get Samus grabbed by the right-most Metroid.

Requires:

{
  "canShineCharge": {
    "usedTiles": 26,
    "openEnd": 0
  }
}
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "and": [
        "canMetroidAvoid",
        {
          "shinespark": {
            "frames": 50,
            "excessFrames": 5
          }
        }
      ]
    },
    {
      "and": [
        {
          "shinespark": {
            "frames": 54,
            "excessFrames": 0
          }
        },
        {
          "metroidFrames": 300
        }
      ]
    }
  ]
}
From: 1
Left Door
To: 2
Right Door

Requires:

{
  "or": [
    "f_KilledMetroidRoom1",
    {
      "obstaclesCleared": [
        "f_KilledMetroidRoom1"
      ]
    }
  ]
}
{
  "canShineCharge": {
    "usedTiles": 31,
    "openEnd": 0
  }
}
"canHorizontalMidairShinespark"
{
  "or": [
    {
      "shinespark": {
        "frames": 37,
        "excessFrames": 7
      }
    },
    {
      "and": [
        "canControlShinesparkEnd",
        {
          "shinespark": {
            "frames": 37,
            "excessFrames": 22
          }
        }
      ]
    }
  ]
}
From: 2
Right Door
To: 1
Left Door

Requires:

"canHorizontalMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 23,
    "openEnd": 0
  }
}
{
  "or": [
    "Ice",
    {
      "and": [
        "canDodgeWhileShooting",
        "ScrewAttack"
      ]
    },
    {
      "and": [
        "canDodgeWhileShooting",
        "canPseudoScrew"
      ]
    },
    "canMetroidAvoid",
    {
      "metroidFrames": 200
    }
  ]
}
{
  "shinespark": {
    "frames": 80,
    "excessFrames": 5
  }
}
From: 2
Right Door
To: 1
Left Door

Requires:

{
  "or": [
    "f_KilledMetroidRoom1",
    {
      "obstaclesCleared": [
        "f_KilledMetroidRoom1"
      ]
    }
  ]
}
"canHorizontalMidairShinespark"
{
  "canShineCharge": {
    "usedTiles": 23,
    "openEnd": 0
  }
}
{
  "or": [
    {
      "shinespark": {
        "frames": 80,
        "excessFrames": 48
      }
    },
    {
      "and": [
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 68,
            "excessFrames": 38
          }
        }
      ]
    }
  ]
}