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: canMidairShinespark, canShinechargeMovement, canShinespark, canHorizontalShinespark
|
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. |
|
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. |
|
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 50
}
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 85,
"excessFrames": 20
}
} |
|
Requires: "canHorizontalMidairShinespark"
{
"useFlashSuit": {}
}
{
"shinespark": {
"frames": 79,
"excessFrames": 14
}
} |
|
Entrance condition: {
"comeInShinecharging": {
"length": 6,
"openEnd": 1,
"steepUpTiles": 1,
"steepDownTiles": 1
}
}Requires: "canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 80,
"excessFrames": 13
}
} |
|
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. |
|
Requires: "h_storedSpark"
"canDash"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 99,
"excessFrames": 5
}
} |
From: 1
Top Left Door
To: 6
Top Right Door
After landing, do a small jump and spark mid-air. Alternatively, if you can avoid tripping while entering the room, another option is to moonwalk back against the left door to get high enough to spark without bonking the platform on the right. Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 30
}
{
"or": [
"canHorizontalMidairShinespark",
"canMoonwalk"
]
}
{
"shinespark": {
"frames": 18,
"excessFrames": 0
}
}Exit condition: {
"leaveWithSpark": {
"position": "bottom"
}
}Unlocks doors: {"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]} |
|
Requires: {
"or": [
"f_DefeatedCrocomire",
{
"obstaclesCleared": [
"f_DefeatedCrocomire"
]
}
]
}
"canHorizontalMidairShinespark"
"h_shinechargeMaxRunway"
{
"or": [
{
"shinespark": {
"frames": 45,
"excessFrames": 5
}
},
{
"and": [
"canShinechargeMovementComplex",
{
"shinespark": {
"frames": 25,
"excessFrames": 1
}
}
]
},
{
"and": [
"canShinechargeMovementComplex",
"h_speedJump",
"canTrickyJump",
{
"shinespark": {
"frames": 6,
"excessFrames": 4
}
}
]
}
]
} |
From: 1
Left Door
To: 3
Junction Left of Green Gate
Entrance condition: {
"comeInShinecharging": {
"length": 3,
"openEnd": 1
}
}Requires: "canHorizontalShinespark"
{
"or": [
{
"shinespark": {
"frames": 54,
"excessFrames": 3
}
},
{
"and": [
"canHorizontalMidairShinespark",
{
"shinespark": {
"frames": 47,
"excessFrames": 3
}
}
]
},
{
"and": [
"canShinechargeMovementComplex",
{
"shinespark": {
"frames": 42,
"excessFrames": 4
}
}
]
}
]
} |
From: 1
Top Left Door
To: 4
Top Right Door
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 45
}
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 29,
"excessFrames": 5
}
} |
From: 4
Top Right Door
To: 1
Top Left Door
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 45
}
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 29,
"excessFrames": 5
}
} |
|
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 15
}
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 57,
"excessFrames": 4
}
}
{
"heatFrames": 230
} |
|
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 15
}
"h_navigateHeatRooms"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 59,
"excessFrames": 5
}
}
{
"heatFrames": 190
} |
|
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 16
}
"h_navigateHeatRooms"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 75,
"excessFrames": 10
}
}
{
"heatFrames": 270
} |
|
Shinecharge either right to left or left to right before horizontally sparking across the room. Use the raised step to the left or the lowered step to the right to be able to find the end of the runway. Entrance condition: {
"comeInWithGMode": {
"mode": "any",
"morphed": false
}
}Requires: "canOffScreenMovement"
"canHorizontalMidairShinespark"
{
"canShineCharge": {
"usedTiles": 24,
"openEnd": 1
}
}
{
"shinespark": {
"frames": 75,
"excessFrames": 5
}
}
"h_heatedGModeOffCameraDoor" |
|
Requires: "canHorizontalMidairShinespark"
{
"canShineCharge": {
"usedTiles": 24,
"openEnd": 1
}
}
{
"shinespark": {
"frames": 75,
"excessFrames": 5
}
}
{
"heatFrames": 380
} |
|
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 65
}
{
"heatFrames": 135
}
"canHorizontalMidairShinespark"
{
"or": [
{
"and": [
{
"shinespark": {
"frames": 66,
"excessFrames": 5
}
},
{
"heatFrames": 105
}
]
},
{
"and": [
{
"shinespark": {
"frames": 66,
"excessFrames": 15
}
},
{
"heatFrames": 165
}
]
}
]
}Unlocks doors: {"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}Dev note: This assumes sparking near the pillars, since sparking near the door is already covered by the comeInWithSpark strat. 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 15 excess frames is mainly useful in the heat-proof case. |
|
Entrance condition: {
"comeInShinecharging": {
"length": 4,
"openEnd": 1
}
}Requires: {
"heatFrames": 150
}
"canHorizontalMidairShinespark"
{
"or": [
{
"and": [
{
"shinespark": {
"frames": 66,
"excessFrames": 5
}
},
{
"heatFrames": 105
}
]
},
{
"and": [
{
"shinespark": {
"frames": 66,
"excessFrames": 15
}
},
{
"heatFrames": 165
}
]
}
]
}Unlocks doors: {"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}Dev note: This assumes sparking near the pillars. 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 15 excess frames is mainly useful in the heat-proof case. |
|
Entrance condition: {
"comeInShinecharged": {}
}Requires: "canHorizontalMidairShinespark"
{
"shineChargeFrames": 65
}
{
"heatFrames": 135
}
{
"or": [
{
"and": [
{
"shinespark": {
"frames": 67,
"excessFrames": 5
}
},
{
"heatFrames": 105
}
]
},
{
"and": [
{
"shinespark": {
"frames": 67,
"excessFrames": 16
}
},
{
"or": [
{
"and": [
"canControlShinesparkEnd",
{
"or": [
"canInsaneJump",
{
"and": [
"canTrickyJump",
"canWalljump"
]
}
]
}
]
},
{
"and": [
{
"acidFrames": 10
},
{
"heatFrames": 20
},
{
"or": [
"HiJump",
"canWalljump"
]
}
]
}
]
},
{
"heatFrames": 200
}
]
}
]
}Unlocks doors: {"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}Dev note: This assumes sparking near the pillars, since sparking near the door is already covered by the comeInWithSpark strat. 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 16 excess frames is mainly useful in the heat-proof case. |
|
Entrance condition: {
"comeInShinecharging": {
"length": 3,
"openEnd": 0
}
}Requires: "canHorizontalMidairShinespark"
{
"or": [
{
"and": [
{
"heatFrames": 105
},
{
"shinespark": {
"frames": 67,
"excessFrames": 5
}
},
{
"heatFrames": 105
}
]
},
{
"and": [
{
"heatFrames": 165
},
{
"shinespark": {
"frames": 67,
"excessFrames": 16
}
},
{
"or": [
{
"and": [
"canControlShinesparkEnd",
{
"or": [
"canInsaneJump",
{
"and": [
"canTrickyJump",
"canWalljump"
]
}
]
}
]
},
{
"and": [
{
"acidFrames": 10
},
{
"heatFrames": 20
},
{
"or": [
"HiJump",
"canWalljump"
]
}
]
}
]
},
{
"heatFrames": 200
}
]
}
]
}Unlocks doors: {"types":["missiles"],"requires":[{"heatFrames":50}]}
{"types":["super"],"requires":[]}
{"types":["powerbomb"],"requires":[{"heatFrames":110}]}Dev note: 5 excess frames is the maximum for which it is still be possible to reach the door without running out of energy, in the case where the shinespark ends at 29 energy and Samus has no heat protection (or reserves to refill from). The alternative with 16 excess frames is mainly useful in the heat-proof case. |
|
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
}
}
]
}
]
} |
|
Requires: "canHorizontalMidairShinespark"
"h_storedSpark"
"canDash"
{
"shinespark": {
"frames": 82,
"excessFrames": 8
}
} |
|
Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 30
}
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 39,
"excessFrames": 10
}
} |
|
Immediately spark after the door transition into the wall just to the right of the top right door. Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 10
}
"Gravity"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 70,
"excessFrames": 16
}
} |
|
Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 10
}
"canSuitlessMaridia"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 88,
"excessFrames": 21
}
} |
From: 1
Top Left Door
To: 9
Platform Below Top Door
Crouch on the lowest stair, then shinespark horizontally to bonk at the top corner of the grapple block. Down grab to get onto it. Entrance condition: {
"comeInShinecharged": {}
}Requires: {
"shineChargeFrames": 110
}
{
"notable": "Shinespark Down-Grab to the Grapple Blocks (Left to Top)"
}
"canSuitlessMaridia"
"h_underwaterCrouchJumpDownGrab"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 56,
"excessFrames": 0
}
}Dev note: This is only done suitless, as with Gravity, you can gravity jump up there. A similar strat can be done from the top right door, but it doesn't have a nice setup and has to be done midair. FIXME: Add a variant with canControlShinesparkEnd. |
|
Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 15
}
"canSuitlessMaridia"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 67,
"excessFrames": 10
}
}Dev note: Frames assume you spark before landing on the Grapple blocks. |
|
Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 90
}
"canSuitlessMaridia"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 61,
"excessFrames": 10
}
}Dev note: This could be done with Gravity to save Energy, but getting from 5 to 1 with Gravity and Speed Booster is free. |
|
Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 55
}
"Gravity"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 69,
"excessFrames": 6
}
}Dev note: Frames assume you land on the Grapple blocks before jumping and shinesparking. |
|
Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 15
}
"Gravity"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 72,
"excessFrames": 6
}
}Dev note: Frames assume you spark before landing on the Grapple blocks. |
|
Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 20
}
"canSuitlessMaridia"
"canPrepareForNextRoom"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 93,
"excessFrames": 12
}
}Dev note: Frames assume you spark before landing on the Grapple blocks. |
|
Entrance condition: {
"comeInShinecharged": {},
"comesThroughToilet": "any"
}Requires: {
"shineChargeFrames": 90
}
"canSuitlessMaridia"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 86,
"excessFrames": 12
}
}Dev note: Frames assume you land on the Grapple blocks before jumping and shinesparking. |
|
Entrance condition: {
"comeInShinechargedJumping": {}
}Requires: {
"shineChargeFrames": 25
}
"canMidAirMorph"
"canCrossRoomJumpIntoWater"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 55,
"excessFrames": 0
}
}Collects items: 5 |
From: 4
Right Door
To: 6
Junction Right of Morph Passage
Entrance condition: {
"comeInShinechargedJumping": {}
}Requires: {
"shineChargeFrames": 20
}
"Morph"
"canCrossRoomJumpIntoWater"
"canHorizontalMidairShinespark"
{
"shinespark": {
"frames": 46,
"excessFrames": 3
}
} |
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
}
} |
|
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
}
]
}
]
} |
|
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
}
}
]
}
]
} |
|
Requires: "canHorizontalMidairShinespark"
{
"canShineCharge": {
"usedTiles": 23,
"openEnd": 0
}
}
{
"or": [
"Ice",
{
"and": [
"canDodgeWhileShooting",
"ScrewAttack"
]
},
{
"and": [
"canDodgeWhileShooting",
"canPseudoScrew"
]
},
"canMetroidAvoid",
{
"metroidFrames": 200
}
]
}
{
"shinespark": {
"frames": 80,
"excessFrames": 5
}
} |
|
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
}
}
]
}
]
} |