diff --git a/helpers.json b/helpers.json index ac3f4d7127..0928a9d630 100644 --- a/helpers.json +++ b/helpers.json @@ -775,6 +775,18 @@ ]} ] }, + { + "name": "h_extremelyTrickyToCarryFlashSuit", + "requires": [ + {"or": [ + {"noFlashSuit": {}}, + {"and": [ + "canTrickyCarryFlashSuit", + "canBeExtremelyPatient" + ]} + ]} + ] + }, { "name": "h_PlasmaHitbox", "requires": [ diff --git a/region/maridia/inner-pink/Aqueduct Save Room.json b/region/maridia/inner-pink/Aqueduct Save Room.json index 8cfcb19c44..82c3e6e95b 100644 --- a/region/maridia/inner-pink/Aqueduct Save Room.json +++ b/region/maridia/inner-pink/Aqueduct Save Room.json @@ -61,7 +61,8 @@ "length": 4, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 2, @@ -76,13 +77,15 @@ "id": 3, "link": [1, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 4, "link": [2, 1], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true } ], "notables": [], diff --git a/region/maridia/inner-pink/Aqueduct.json b/region/maridia/inner-pink/Aqueduct.json index 0238e58638..56943c5e6e 100644 --- a/region/maridia/inner-pink/Aqueduct.json +++ b/region/maridia/inner-pink/Aqueduct.json @@ -357,7 +357,8 @@ "length": 6, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 2, @@ -411,7 +412,8 @@ "h_usePowerBomb" ]} ], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 6, @@ -425,6 +427,7 @@ "requires": [ "canMoonfall" ], + "flashSuitChecked": true, "note": [ "Moonfall twice into the wall adjacent the Power Bomb blocks and then wiggle out to the right.", "Then moonfall again to clip through the Power Bomb Blocks", @@ -453,6 +456,7 @@ ]}, "canBeExtremelyPatient" ], + "flashSuitChecked": true, "note": [ "Use a double spring ball jump to reach the Speed blocks below the items while chaining temporary blue.", "Perform a spring ball jump and immediately unmorph and continue holding up, to break some of the Speed blocks while passing up through them.", @@ -623,7 +627,8 @@ "h_usePowerBomb" ]} ], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 13, @@ -707,7 +712,8 @@ "h_usePowerBomb" ]} ], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 17, @@ -722,7 +728,8 @@ "h_usePowerBomb" ]} ], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 18, @@ -743,6 +750,7 @@ ]} ], "clearsObstacles": ["A"], + "flashSuitChecked": true, "devNote": "HJBless SpringBall jumps require less obvious snail positioning." }, { @@ -759,6 +767,7 @@ ]} ], "clearsObstacles": ["A"], + "flashSuitChecked": true, "note": [ "Stop the snail when it is on the lower part of the overhang (hug the snail to gain extra jump height).", "Climb it by waiting until it is just about to become active to jump." @@ -803,7 +812,8 @@ ]} ]} ], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 148, @@ -829,6 +839,7 @@ ]} ], "clearsObstacles": ["A"], + "flashSuitChecked": true, "note": [ "With only 1 tile of runway, this requires a single-frame stutter (release forward then repress on the next frame), on the last possible frame." ] @@ -901,6 +912,7 @@ ]}, "can4HighMidAirMorph" ], + "flashSuitChecked": true, "note": [ "Use double spring ball jumps to reach the top-right of the room with temporary blue.", "To cross the two gaps at the top of the room to the left while chaining temporary blue, use spring ball jumps with HiJump disabled;", @@ -931,6 +943,7 @@ ]}, "can4HighMidAirMorph" ], + "flashSuitChecked": true, "note": [ "Use double spring ball jumps to reach the top-right of the room with temporary blue.", "To cross the two gaps at the top of the room to the left while chaining temporary blue, use spring ball jumps with HiJump disabled;", @@ -947,6 +960,7 @@ {"useFlashSuit": {}}, {"shinespark": {"frames": 15, "excessFrames": 13}} ], + "flashSuitChecked": true, "note": [ "Position the snail on the high pixel without using x-ray.", "Ceiling clip then use the flash suit while in the crouched pose that Samus is already in to spark vertically and clip through the next block.", @@ -963,6 +977,7 @@ {"useFlashSuit": {}}, {"shinespark": {"frames": 15, "excessFrames": 13}} ], + "flashSuitChecked": true, "note": [ "Position the snail low on the ceiling so that Samus can get onto it.", "Wait for another snail and position it on the high pixel without using x-ray.", @@ -980,7 +995,8 @@ "length": 45, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 27, @@ -1008,7 +1024,8 @@ "unlocksDoors": [ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} - ] + ], + "flashSuitChecked": true }, { "id": 149, @@ -1033,6 +1050,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": ["Start with low run speed by positioning exactly 2 pixels from the door."] }, { @@ -1064,6 +1082,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only 1 tile of runway, this requires a single-frame stutter (release forward then repress on the next frame), on the last possible frame." ] @@ -1094,6 +1113,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With a runway of 5 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 5 frames, and repress forward on the last possible frame before the transition.", @@ -1128,6 +1148,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 4 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 4 frames, and repress forward on the last possible frame before the transition.", @@ -1163,6 +1184,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 3 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 3 or 4 frames, and repress forward on the last possible frame before the transition.", @@ -1205,6 +1227,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 2 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 3 frames, and repress forward on the last possible frame before the transition.", @@ -1245,6 +1268,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only 1 tile of runway in the other room, Samus should ideally start on the last pixel of runway with X subpixels of $3FFF or less.", "Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.", @@ -1296,6 +1320,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Start with low run speed by positioning exactly 2 pixels from the door.", "Use X-Ray to cancel the shinecharge early, to avoid getting hit by the angry snail." @@ -1322,7 +1347,8 @@ ]} ], "resetsObstacles": ["A"], - "farmCycleDrops": [{"enemy": "Yard", "count": 2}] + "farmCycleDrops": [{"enemy": "Yard", "count": 2}], + "flashSuitChecked": true }, { "id": 28, @@ -1366,7 +1392,8 @@ "h_getBlueSpeedMaxRunway", "h_useSpringBall" ]} - ] + ], + "flashSuitChecked": true }, { "id": 32, @@ -1381,7 +1408,8 @@ ]}, "canPlayInSand" ]} - ] + ], + "flashSuitChecked": true }, { "id": 33, @@ -1400,6 +1428,7 @@ "h_shinechargeMaxRunway", {"shinespark": {"frames": 139, "excessFrames": 66}} ], + "flashSuitChecked": true, "note": [ "Enter this room while holding dash in the previous room, before the door transition.", "Do not release dash in the water or Samus will not be able to get blue speed." @@ -1431,7 +1460,8 @@ "id": 34, "link": [2, 4], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 35, @@ -1456,7 +1486,8 @@ ]} ]} ], - "devNote": "A very precise CrouchJumpDownGrab, or springball jumping to the snail is closer to canSnailClimb." + "flashSuitChecked": true, + "devNote": "A very precise crouch-jump down-grab, or spring ball jumping to the snail is closer to canSnailClimb." }, { "id": 36, @@ -1465,7 +1496,8 @@ "requires": [ "canSuitlessMaridia", "canGrappleJump" - ] + ], + "flashSuitChecked": true }, { "id": 37, @@ -1481,7 +1513,8 @@ "HiJump" ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 38, @@ -1492,6 +1525,7 @@ "h_navigateUnderwater", "canSnailClimb" ], + "flashSuitChecked": true, "note": [ "Stop the snail when it is on the lower part of the overhang (hug the snail to gain extra jump height).", "Climb it by waiting until it is just about to become active to jump." @@ -1512,6 +1546,7 @@ "h_shinechargeMaxRunway", {"shinespark": {"frames": 37, "excessFrames": 3}} ], + "flashSuitChecked": true, "note": [ "Enter this room while holding dash in the previous room, before the door transition.", "Do not release dash in the water or Samus will not be able to get blue speed." @@ -1525,7 +1560,8 @@ "Gravity", "h_shinechargeMaxRunway", {"shinespark": {"frames": 40, "excessFrames": 7}} - ] + ], + "flashSuitChecked": true }, { "id": 41, @@ -1542,6 +1578,7 @@ "h_shinechargeMaxRunway", {"shinespark": {"frames": 40, "excessFrames": 7}} ], + "flashSuitChecked": true, "note": [ "Enter this room while holding dash in the previous room, before the door transition.", "Do not release dash in the water or Samus will not be able to get blue speed." @@ -1560,6 +1597,7 @@ "HiJump" ]} ], + "flashSuitChecked": true, "note": [ "Gain temporary blue using the long runway.", "Chaining temporary blue, use two Gravity jumps to navigate the room and break the Speed blocks." @@ -1590,6 +1628,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Use a double spring ball jump to reach the Speed blocks below the items while chaining temporary blue.", "Perform a spring ball jump and immediately unmorph and continue holding up, to break some of the Speed blocks while passing up through them.", @@ -1618,6 +1657,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Use a double spring ball jump to reach the Speed blocks below the items while chaining temporary blue.", "Perform a spring ball jump and immediately unmorph and continue holding up, to break some of the Speed blocks while passing up through them.", @@ -1637,7 +1677,8 @@ "Grapple", "canConsecutiveWalljump" ]} - ] + ], + "flashSuitChecked": true }, { "id": 48, @@ -1646,7 +1687,8 @@ "requires": [ "canSuitlessMaridia", "canGrappleJump" - ] + ], + "flashSuitChecked": true }, { "id": 49, @@ -1663,6 +1705,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": "Watch out for snails coming from above, or aggressive snails from below, who will either block or attack Samus." }, { @@ -1674,6 +1717,7 @@ "h_navigateUnderwater", "canSnailClimb" ], + "flashSuitChecked": true, "note": [ "Stop the snail when it is on the lower part of the overhang (hug the snail to gain extra jump height).", "Climb it by waiting until it is just about to become active to jump.", @@ -1688,7 +1732,8 @@ "Gravity", "h_shinechargeMaxRunway", {"shinespark": {"frames": 37, "excessFrames": 3}} - ] + ], + "flashSuitChecked": true }, { "id": 145, @@ -1704,6 +1749,7 @@ "canWaterShineCharge", {"shinespark": {"frames": 37, "excessFrames": 3}} ], + "flashSuitChecked": true, "note": [ "Begin shinecharging in the previous room and continue through the door transition.", "Do not release dash in the water or Samus will not be able to get blue speed." @@ -1725,6 +1771,7 @@ {"canShineCharge": {"usedTiles": 25, "openEnd": 2}}, {"shinespark": {"frames": 37, "excessFrames": 3}} ], + "flashSuitChecked": true, "note": [ "Enter this room while holding dash in the previous room, before the door transition.", "Do not release dash in the water or Samus will not be able to get blue speed.", @@ -1771,15 +1818,6 @@ "requires": [], "flashSuitChecked": true }, - { - "id": 58, - "link": [3, 3], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } - }, { "id": 157, "link": [3, 3], @@ -1799,15 +1837,6 @@ "If it is important to touch the transition near the middle of the sand, shoot a Yard so that it will move faster and quickly get into position." ] }, - { - "id": 61, - "link": [4, 4], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } - }, { "id": 62, "link": [4, 4], @@ -1867,6 +1896,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Gain blue speed by running right-to-left on the 20-tile runway below the items.", "Then use Space Jump to carry it across the top of the room to break the bomb blocks.", @@ -1892,6 +1922,7 @@ ]}, "canBeVeryPatient" ], + "flashSuitChecked": true, "note": [ "Use a double spring ball jump to reach the top of the room with temporary blue.", "To cross the two gaps at the top of the room while chaining temporary blue, use spring ball jumps with HiJump disabled;", @@ -1908,6 +1939,7 @@ } }, "requires": [], + "flashSuitChecked": true, "note": [ "Hold Grapple through the transition and then immediately release it to teleport below the Bomb blocks." ] @@ -1937,7 +1969,8 @@ "id": 67, "link": [5, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 68, @@ -1949,7 +1982,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 69, @@ -1966,7 +2000,8 @@ "blockPositions": [[2, 34]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 70, @@ -1978,7 +2013,8 @@ "length": 1, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 147, @@ -1997,6 +2033,7 @@ "obstruction": [1, 0] } }, + "flashSuitChecked": true, "devNote": [ "Max extra run speed $2.6.", "This strat is included for completeness, though it apparently doesn't have any applications." @@ -2037,7 +2074,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 73, @@ -2054,7 +2092,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 74, @@ -2074,7 +2113,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 75, @@ -2095,7 +2135,8 @@ }, "minExtraRunSpeed": "$1.2" } - } + }, + "flashSuitChecked": true }, { "id": 76, @@ -2116,7 +2157,8 @@ }, "movementType": "uncontrolled" } - } + }, + "flashSuitChecked": true }, { "id": 77, @@ -2138,7 +2180,8 @@ "minExtraRunSpeed": "$0.F", "movementType": "uncontrolled" } - } + }, + "flashSuitChecked": true }, { "id": 78, @@ -2154,7 +2197,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 185, @@ -2173,7 +2217,8 @@ ]} ], "resetsObstacles": ["A"], - "farmCycleDrops": [{"enemy": "Yard", "count": 1}] + "farmCycleDrops": [{"enemy": "Yard", "count": 1}], + "flashSuitChecked": true }, { "id": 79, @@ -2257,6 +2302,7 @@ ]}, {"shinespark": {"frames": 25}} ], + "flashSuitChecked": true, "devNote": [ "It is possible, although not overly useful, to extend the runway here using a snail.", "FIXME: It is possible to use a snail here and in Shaktool's room to extend the runway at the door.", @@ -2282,6 +2328,7 @@ "canTrickySpringBallBounce", "canMomentumConservingMorph" ], + "flashSuitChecked": true, "note": [ "Depending on Samus' speed and position, either perform a speedball or an uncontrolled bounce onto the platform below the Speed blocks.", "Unmorph and continue holding up in order to break the Speed blocks while passing up through them.", @@ -2311,6 +2358,7 @@ "canInsaneJump", "canMomentumConservingMorph" ], + "flashSuitChecked": true, "note": [ "Bounce onto the platform below the Speed blocks.", "Unmorph and continue holding up in order to break the Speed blocks while passing up through them.", @@ -2340,6 +2388,7 @@ "canTrickySpringBallBounce", "canMomentumConservingMorph" ], + "flashSuitChecked": true, "note": [ "In the previous room, perform a relatively precise 1-tap in order to gain blue speed with momentum in a specific range, then spin jump through the door transition.", "Depending on Samus' speed and position, either perform a speedball or an uncontrolled bounce onto the platform below the Speed blocks.", @@ -2369,6 +2418,7 @@ "canTrickySpringBallBounce", "canMomentumConservingMorph" ], + "flashSuitChecked": true, "note": [ "In the previous room, perform a relatively precise 1-tap in order to gain blue speed with momentum in a specific range, then use spring ball to bounce through the door transition.", "Bounce onto the platform below the Speed blocks.", @@ -2400,6 +2450,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Chain temporary blue to reach the Speed blocks below the items.", "Perform a spring ball jump and immediately unmorph and continue holding up, to break some of the Speed blocks while passing up through them.", @@ -2461,7 +2512,8 @@ "blockPositions": [[5, 3]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 93, @@ -2473,6 +2525,7 @@ } }, "requires": [], + "flashSuitChecked": true, "note": "Press down immediately after teleporting, in order to get above the bomb blocks." }, { @@ -2600,7 +2653,8 @@ }, "requires": [ "canChainTemporaryBlue" - ] + ], + "flashSuitChecked": true }, { "id": 98, @@ -2615,7 +2669,8 @@ "requires": [ "canChainTemporaryBlue", "canXRayTurnaround" - ] + ], + "flashSuitChecked": true }, { "id": 99, @@ -2687,6 +2742,7 @@ "position": "right" } }, + "flashSuitChecked": true, "devNote": [ "FIXME: It's probably possible to leave in 'left' position, with an exceptionally precise swing and maybe a bit of arm pumping." ] @@ -2840,7 +2896,8 @@ ]} ], "resetsObstacles": ["A"], - "farmCycleDrops": [{"enemy": "Yard", "count": 2}] + "farmCycleDrops": [{"enemy": "Yard", "count": 2}], + "flashSuitChecked": true }, { "id": 107, @@ -2866,6 +2923,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Use a double spring ball jump to reach the Speed blocks below the items while chaining temporary blue.", "Perform a spring ball jump and immediately unmorph and continue holding up, to break some of the Speed blocks while passing up through them.", @@ -2893,6 +2951,7 @@ "h_doubleSpringBallJumpWithHiJump", "canXRayCeilingClip" ], + "flashSuitChecked": true, "note": [ "Use a double spring ball jump to reach the Speed blocks below the items while chaining temporary blue.", "Perform a spring ball jump and immediately unmorph and continue holding up, to break some of the Speed blocks while passing up through them.", @@ -2908,7 +2967,8 @@ "comeInNormally": {}, "comesThroughToilet": "any" }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 112, @@ -2956,19 +3016,22 @@ "id": 114, "link": [7, 8], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 115, "link": [8, 5], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 116, "link": [8, 7], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 117, @@ -2977,7 +3040,8 @@ "requires": [ "Gravity", "h_destroyBombWalls" - ] + ], + "flashSuitChecked": true }, { "id": 118, @@ -2985,7 +3049,8 @@ "name": "Suitless", "requires": [ "h_bombThings" - ] + ], + "flashSuitChecked": true }, { "id": 119, @@ -3001,6 +3066,7 @@ "canFreeFallClip" ]} ], + "flashSuitChecked": true, "note": [ "Use two snails to perform an 'Enemy Stuck Moonfall' to bypass the bomb blocks above the middle left door.", "Position one snail on the above door shell, and the second above the corner of pipe below.", @@ -3031,14 +3097,16 @@ "flashSuitChecked": true, "devNote": [ "It is probably possible to use a Power Bomb while the snail is far enough away and have it get here before the block respawns,", - "but it would make more sense to come through the Power Bomb blocks from below." + "but it would make more sense to come through the Power Bomb blocks from below.", + "FIXME: this can also be possible using blue Space Jump or temporary blue." ] }, { "id": 121, "link": [9, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 122, @@ -3047,7 +3115,8 @@ "requires": [ "h_navigateUnderwater", "Grapple" - ] + ], + "flashSuitChecked": true }, { "id": 123, @@ -3057,7 +3126,8 @@ "canSuitlessMaridia", "canFlatleyJump", "HiJump" - ] + ], + "flashSuitChecked": true }, { "id": 124, @@ -3071,7 +3141,8 @@ "canTrickyJump", "canSpringBallBounce" ]} - ] + ], + "flashSuitChecked": true }, { "id": 125, @@ -3088,6 +3159,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": "Requires either a spring fling or a stationary lateral midair morph with an unmorph to reset fall speed." }, { @@ -3098,7 +3170,8 @@ "canSuitlessMaridia", "canSpringFling", "canTrickySpringBallJump" - ] + ], + "flashSuitChecked": true }, { "id": 127, @@ -3110,7 +3183,8 @@ "HiJump", "canSpringBallJumpMidAir" ]} - ] + ], + "flashSuitChecked": true }, { "id": 128, @@ -3120,6 +3194,7 @@ "canSuitlessMaridia", "canUseEnemies" ], + "flashSuitChecked": true, "note": "Involves waiting around for a snail to come along, in order to reach the door by jumping while standing on it." }, { @@ -3134,6 +3209,7 @@ "canMorphTurnaround" ]} ], + "flashSuitChecked": true, "note": [ "Crouch on rightmost pixel of the ledge to the left of the door, jump then move over quickly without spin jumping.", "The timing for the forward press needs to be between 0 and 5 frames after pressing jump (a 6-frame window).", diff --git a/region/maridia/inner-pink/Below Botwoon Energy Tank.json b/region/maridia/inner-pink/Below Botwoon Energy Tank.json index 2ab7f424ac..88045b9411 100644 --- a/region/maridia/inner-pink/Below Botwoon Energy Tank.json +++ b/region/maridia/inner-pink/Below Botwoon Energy Tank.json @@ -122,7 +122,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 2, @@ -137,6 +138,7 @@ "openEnd": 0 } }, + "flashSuitChecked": true, "note": [ "The Zoa needs to be at least 3 pixels higher than when it is frozen at standing height.", "It may help to freeze one while standing to the left of it before it starts moving horizontally,", @@ -170,7 +172,8 @@ {"cycleFrames": 25} ]} ], - "farmCycleDrops": [{"enemy": "Zoa", "count": 3}] + "farmCycleDrops": [{"enemy": "Zoa", "count": 3}], + "flashSuitChecked": true }, { "id": 4, @@ -195,6 +198,7 @@ ]} ], "clearsObstacles": ["A"], + "flashSuitChecked": true, "note": "The Owtch can be killed with a Power Bomb or blue speed, or while it is moving leftward with a Super, Charge, or Plasma.", "devNote": [ "FIXME: Add alternatives that evade the Owtch rather than killing it (either here or on the strats that rely on obstacle 'A' cleared)." @@ -226,6 +230,7 @@ "obstruction": [3, 0] } }, + "flashSuitChecked": true, "devNote": [ "Max extra run speed $4.B.", "FIXME: The canTrickyDashJump is for difficulty placement but could probably be replaced by a more fitting tech,", @@ -272,7 +277,8 @@ "steepUpTiles": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 7, @@ -296,7 +302,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 8, @@ -321,7 +328,8 @@ }, "movementType": "uncontrolled" } - } + }, + "flashSuitChecked": true }, { "id": 9, @@ -341,7 +349,8 @@ "steepUpTiles": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 10, @@ -361,7 +370,8 @@ ], "exitCondition": { "leaveWithTemporaryBlue": {} - } + }, + "flashSuitChecked": true }, { "id": 11, @@ -380,7 +390,8 @@ "id": 12, "link": [1, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 13, @@ -390,7 +401,8 @@ "h_navigateUnderwater", "canTrickyUseFrozenEnemies", "canPlayInSand" - ] + ], + "flashSuitChecked": true }, { "id": 14, @@ -412,6 +424,7 @@ "requires": [ "h_navigateUnderwater" ], + "flashSuitChecked": true, "devNote": "The expectation is to fall down the left side of the sand entrance." }, { @@ -420,7 +433,8 @@ "name": "Base", "requires": [ "Gravity" - ] + ], + "flashSuitChecked": true }, { "id": 17, @@ -434,7 +448,8 @@ "canEscapeSand", "h_useMorphBombs" ]} - ] + ], + "flashSuitChecked": true }, { "id": 18, @@ -444,7 +459,8 @@ "h_navigateUnderwater", "canTrickyUseFrozenEnemies", "canPlayInSand" - ] + ], + "flashSuitChecked": true }, { "id": 19, @@ -466,7 +482,8 @@ "name": "Base", "requires": [ "Gravity" - ] + ], + "flashSuitChecked": true }, { "id": 21, @@ -480,7 +497,8 @@ "canEscapeSand", "h_useMorphBombs" ]} - ] + ], + "flashSuitChecked": true } ], "notables": [], diff --git a/region/maridia/inner-pink/Botwoon Energy Tank Room.json b/region/maridia/inner-pink/Botwoon Energy Tank Room.json index eeb39b7ff3..18f5e9a349 100644 --- a/region/maridia/inner-pink/Botwoon Energy Tank Room.json +++ b/region/maridia/inner-pink/Botwoon Energy Tank Room.json @@ -209,7 +209,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 101, @@ -239,6 +240,7 @@ "obstruction": [3, 0] } }, + "flashSuitChecked": true, "devNote": ["Max extra run speed $6.3."] }, { @@ -289,7 +291,8 @@ ]} ], "resetsObstacles": ["A", "B"], - "farmCycleDrops": [{"enemy": "Puyo", "count": 4}] + "farmCycleDrops": [{"enemy": "Puyo", "count": 4}], + "flashSuitChecked": true }, { "id": 3, @@ -320,7 +323,8 @@ }, "minExtraRunSpeed": "$1.2" } - } + }, + "flashSuitChecked": true }, { "id": 5, @@ -339,6 +343,7 @@ "blue": "yes" } }, + "flashSuitChecked": true, "note": "Use Speed Booster to break the Speed blocks, and run from the right side of the room, using blue speed to run on top of the sand." }, { @@ -359,7 +364,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 7, @@ -381,6 +387,7 @@ } } }, + "flashSuitChecked": true, "note": "Use Speed Booster to break the Speed blocks, and run from the right side of the room, using blue speed to run on top of the sand." }, { @@ -402,7 +409,8 @@ }, "movementType": "uncontrolled" } - } + }, + "flashSuitChecked": true }, { "id": 9, @@ -425,6 +433,7 @@ "movementType": "uncontrolled" } }, + "flashSuitChecked": true, "note": "Use Speed Booster to break the Speed blocks, and run from the right side of the room, using blue speed to run on top of the sand." }, { @@ -441,7 +450,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 11, @@ -459,6 +469,7 @@ } } }, + "flashSuitChecked": true, "note": "Use Speed Booster to break the Speed blocks, and run from the right side of the room, using blue speed to run on top of the sand." }, { @@ -472,7 +483,8 @@ ], "exitCondition": { "leaveWithTemporaryBlue": {} - } + }, + "flashSuitChecked": true }, { "id": 13, @@ -498,7 +510,8 @@ }}, "canUseGrapple" ]} - ] + ], + "flashSuitChecked": true }, { "id": 15, @@ -592,7 +605,8 @@ "name": "Base", "requires": [ "h_navigateUnderwater" - ] + ], + "flashSuitChecked": true }, { "id": 18, @@ -706,7 +720,8 @@ "openEnd": 1 } }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 21, @@ -721,6 +736,7 @@ ]}, {"obstaclesCleared": ["A"]} ], + "flashSuitChecked": true, "devNote": [ "Gravity can run across the sand with speed again.", "FIXME: This is possible without HiJump by breaking spin before landing, then quickly jumping again. Useful in other places as well, like Aqueduct." @@ -734,7 +750,8 @@ "Gravity", "h_getBlueSpeedMaxRunway" ], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 23, @@ -768,6 +785,7 @@ "canSpeedball", "canTrickyJump" ], + "flashSuitChecked": true, "note": ["Enter the room with blue speed, and jump into a speedball."] }, { @@ -782,6 +800,7 @@ "requires": [ "canSpeedball" ], + "flashSuitChecked": true, "note": ["Enter the room in a spin jump with blue speed, and enter a speedball."] }, { @@ -804,6 +823,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Enter the room with blue speed, and jump into a speedball.", "Then chain temporary blue into the next room." @@ -826,6 +846,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Enter the room in a spin jump with blue speed, and enter a speedball.", "Then chain temporary blue into the next room." @@ -841,6 +862,7 @@ } }, "requires": [], + "flashSuitChecked": true, "note": ["Bounce through the Speed blocks."], "devNote": [ "With a mid-air spring ball jump it would be possible to go through the morph tunnel.", @@ -863,6 +885,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Bounce through the Speed blocks.", "Then unmorph and chain temporary blue into the next room." @@ -894,7 +917,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 32, @@ -911,7 +935,8 @@ "blockPositions": [[108, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 33, @@ -928,7 +953,8 @@ "blockPositions": [[108, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 95, @@ -948,6 +974,7 @@ ]} ], "clearsObstacles": ["A"], + "flashSuitChecked": true, "note": "With low Energy it is recommended to spark high in order to not get hit by the Zoas in case Samus ends above their spawn." }, { @@ -965,7 +992,8 @@ ]} ]} ], - "collectsItems": [5] + "collectsItems": [5], + "flashSuitChecked": true }, { "id": 35, @@ -1003,7 +1031,8 @@ "Morph", "canTrickyUseFrozenEnemies" ], - "collectsItems": [5] + "collectsItems": [5], + "flashSuitChecked": true }, { "id": 37, @@ -1040,6 +1069,7 @@ "canMomentumConservingMorph" ], "collectsItems": [5], + "flashSuitChecked": true, "note": [ "Needs near max horizontal speed coming from about 40 runway tiles in the adjacent room.", "Jump after the transition.", @@ -1059,7 +1089,7 @@ }, "requires": [ "canLateralMidAirMorph", - "canDisableEquipment", + {"disableEquipment": "SpeedBooster"}, "canCrossRoomJumpIntoWater", "canSpringBallBounce", {"or": [ @@ -1073,6 +1103,7 @@ ]} ], "collectsItems": [5], + "flashSuitChecked": true, "note": [ "Needs a runway of 7 tiles with no open end in the adjacent room, to get enough height. This is a peak of height with speed booster, no hjb, while underwater.", "Jump before the transition with SpeedBooster off and then SpeedBooster back on after reaching the ceiling and Morphing." @@ -1087,7 +1118,8 @@ {"useFlashSuit": {}}, {"shinespark": {"frames": 5, "excessFrames": 2}} ], - "collectsItems": [5] + "collectsItems": [5], + "flashSuitChecked": true }, { "id": 40, @@ -1177,6 +1209,7 @@ "h_underwaterCrouchJump" ], "collectsItems": [5], + "flashSuitChecked": false, "note": [ "Lure a Puyo close to the sand and use it to Bomb-Grapple-Jump up to the Morph Ball maze.", "It helps to predict the jump pattern of the enemy." @@ -1187,13 +1220,14 @@ "link": [1, 5], "name": "Sand Grapple Boost", "requires": [ - {"notable": "Sand Grapple Boost"}, + {"notable": "Sand Grapple Boost (Left to Right)"}, "h_underwaterCrouchJumpDownGrab", "canSandGrappleBoost", "canInsaneJump", "canMidAirMorph" ], "collectsItems": [5], + "flashSuitChecked": true, "note": [ "Lure a Puyo close to the sand to use for a Sand Grapple Boost.", "As it is close to entering the sand, land on the sand and crouch.", @@ -1217,6 +1251,7 @@ ]} ], "collectsItems": [5], + "flashSuitChecked": true, "note": [ "Stand on the edge of the sand and place a Bomb;", "unmorph (leaving Samus crouched), then press forward to enter the sand when the bomb flashes yellow for the second time.", @@ -1261,6 +1296,7 @@ ]} ], "collectsItems": [5], + "flashSuitChecked": false, "note": [ "Stand on the edge of the sand and place a Power Bomb;", "unmorph (leaving Samus crouched), then wait a moment before pressing forward to enter the sand.", @@ -1310,24 +1346,6 @@ ], "devNote": "This requires canInsaneJump even though it is not difficult, because it is not very intuitive." }, - { - "id": 45, - "link": [2, 2], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } - }, - { - "id": 46, - "link": [3, 3], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } - }, { "id": 47, "link": [4, 1], @@ -1340,7 +1358,8 @@ "h_useSpringBall" ]}, {"obstaclesCleared": ["A"]} - ] + ], + "flashSuitChecked": true }, { "id": 48, @@ -1354,12 +1373,13 @@ "canPlayInSand" ]}, {"obstaclesCleared": ["A"]} - ] + ], + "flashSuitChecked": true }, { "id": 49, "link": [4, 1], - "name": "Shinecharge", + "name": "Blue Speed", "requires": [ "Gravity", {"or": [ @@ -1371,7 +1391,8 @@ ]} ], "unlocksDoors": [{"nodeId": 4, "types": ["ammo"], "requires": []}], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 50, @@ -1387,7 +1408,8 @@ "requires": [ "Gravity" ], - "clearsObstacles": ["A"] + "clearsObstacles": ["A"], + "flashSuitChecked": true }, { "id": 51, @@ -1444,6 +1466,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "devNote": [ "This is just a rough estimate of the minimum number of tiles that this runway can represent.", "It is designed for a skill level that won't be able to use canStutterWaterShineCharge." @@ -1467,7 +1490,8 @@ "unlocksDoors": [ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} - ] + ], + "flashSuitChecked": true }, { "id": 118, @@ -1489,6 +1513,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only 1 tile of runway, this requires releasing forward for 1 or 2 frames", "and repressing forward on the last possible frame." @@ -1531,7 +1556,8 @@ "blockPositions": [[7, 2]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 62, @@ -1543,7 +1569,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 63, @@ -1560,7 +1587,8 @@ "blockPositions": [[3, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 64, @@ -1577,7 +1605,8 @@ "blockPositions": [[3, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 97, @@ -1602,6 +1631,7 @@ ]} ], "clearsObstacles": ["A"], + "flashSuitChecked": true, "note": "It is important not to crouch before sparking, as the ceiling blocks are weird and will prevent the spark.", "devNote": [ "Suitless with a reserve could use pause abuse, however, Samus can just refill, spark across, and then go back and refill.", @@ -1615,9 +1645,11 @@ "requires": [ {"useFlashSuit": {}}, "canControlShinesparkEnd", - {"shinespark": {"frames": 120, "excessFrames": 20}} + {"shinespark": {"frames": 120, "excessFrames": 71}}, + "canPlayInSand" ], "clearsObstacles": ["A"], + "flashSuitChecked": true, "note": [ "Shinespark to the left with less than full Energy in order to prevent getting killed by a Puyo at the end of the spark.", "Sparking while next to the speed blocks requires Samus to be suitless with between 78 and 93 Energy. (With Gravity, she can tank a hit and return to the farm.)", @@ -1779,7 +1811,8 @@ "openEnd": 1, "gentleUpTiles": 4 } - } + }, + "flashSuitChecked": true }, { "id": 70, @@ -1807,7 +1840,8 @@ "unlocksDoors": [ {"types": ["missiles", "super"], "requires": []}, {"types": ["powerbomb"], "requires": ["never"]} - ] + ], + "flashSuitChecked": true }, { "id": 102, @@ -1829,7 +1863,8 @@ "unlocksDoors": [ {"types": ["missiles", "super"], "requires": []}, {"types": ["powerbomb"], "requires": ["never"]} - ] + ], + "flashSuitChecked": true }, { "id": 103, @@ -1857,6 +1892,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With a runway of 5 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 5 frames, and repress forward on the last possible frame before the transition.", @@ -1891,6 +1927,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 4 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 4 frames, and repress forward on the last possible frame before the transition.", @@ -1926,6 +1963,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 3 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 3 or 4 frames, and repress forward on the last possible frame before the transition.", @@ -1968,6 +2006,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 2 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 3 frames, and repress forward on the last possible frame before the transition.", @@ -2008,6 +2047,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only 1 tile of runway in the other room, Samus should ideally start on the last pixel of runway with X subpixels of $3FFF or less.", "Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.", @@ -2084,7 +2124,8 @@ {"cycleFrames": 275} ]} ], - "farmCycleDrops": [{"enemy": "Zoa", "count": 5}] + "farmCycleDrops": [{"enemy": "Zoa", "count": 5}], + "flashSuitChecked": true }, { "id": 72, @@ -2167,7 +2208,8 @@ "name": "Base", "requires": [ "Gravity" - ] + ], + "flashSuitChecked": true }, { "id": 76, @@ -2179,7 +2221,8 @@ "canSpringBallJumpMidAir", "HiJump" ]} - ] + ], + "flashSuitChecked": true }, { "id": 77, @@ -2188,7 +2231,8 @@ "requires": [ "canSuitlessMaridia", "canUseFrozenEnemies" - ] + ], + "flashSuitChecked": true }, { "id": 78, @@ -2205,6 +2249,7 @@ "canWaterShineCharge", {"shinespark": {"frames": 8}} ], + "flashSuitChecked": true, "note": "Shinespark diagonally over the zoa pit or run through the speed blocks and shinespark after turning around.", "devNote": [ "This is just a rough estimate of the minimum number of tiles that this runway can represent.", @@ -2225,6 +2270,7 @@ "canStutterWaterShineCharge", {"shinespark": {"frames": 8}} ], + "flashSuitChecked": true, "note": "Shinespark diagonally over the zoa pit or run through the speed blocks and shinespark after turning around." }, { @@ -2241,6 +2287,7 @@ "canPreciseStutterWaterShineCharge", {"shinespark": {"frames": 8}} ], + "flashSuitChecked": true, "note": "Shinespark diagonally over the zoa pit or run through the speed blocks and shinespark after turning around." }, { @@ -2273,6 +2320,7 @@ "requires": [ "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": [ "If using at least 8 tiles of runway, jump before going down the first slope.", "If using 7 tiles of runway, Samus will get a higher jump; in this case, jump later, after going down the first slope" @@ -2296,6 +2344,7 @@ "requires": [ "canMomentumConservingMorph" ], + "flashSuitChecked": true, "devNote": [ "With high enough speed this could be done without morphing, but it would be more difficult, and Morph is needed to get through the maze anyway." ] @@ -2309,6 +2358,7 @@ "h_underwaterCrouchJumpDownGrab", "canBombGrappleJump" ], + "flashSuitChecked": false, "note": "Use the respawning Zoas to double jump up to the Morph Ball maze." }, { @@ -2320,11 +2370,15 @@ "canSandGrappleBoost", "canInsaneJump" ], + "flashSuitChecked": true, "note": [ "Use the respawning Zoas as a grapple target to get a sand boost in order to reach the ledge above.", "Shoot Grapple just after landing on the sand.", "Jump as soon as the Zoa is hit, and aim down to escape the sand.", "Avoid getting hit by killing the extra Zoas since falling into the sand is a softlock." + ], + "detailNote": [ + "If carrying a flash suit, hold angle-down while shooting the Zoa and jumping." ] }, { @@ -2337,12 +2391,16 @@ "canInsaneJump", "canDownGrab" ], + "flashSuitChecked": true, "note": [ "Kill all of the enemies and leave drops uncollected so that the Zoas will not be in the way.", "Stand on the edge of the sand and place a Bomb or Power Bomb and wait briefly before entering the sand.", "Let the explosion push Samus up for a few frames before simultaneously jumping and aiming down.", "Then move left to down-grab onto the morph tunnel ledge.", "Jumping too early can lead to a softlock but jumping too late usually exits the sand safely." + ], + "detailNote": [ + "If carrying a flash suit, hold angle-down while jumping." ] }, { @@ -2352,7 +2410,8 @@ "requires": [ {"useFlashSuit": {}}, {"shinespark": {"frames": 5, "excessFrames": 2}} - ] + ], + "flashSuitChecked": true }, { "id": 115, @@ -2380,7 +2439,7 @@ { "id": 53, "link": [4, 7], - "name": "Suitless Water Shinecharge, Blue Speed Run", + "name": "Suitless Water Blue Speed Run", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 6, @@ -2390,6 +2449,7 @@ "requires": [ "h_waterGetBlueSpeed" ], + "flashSuitChecked": true, "devNote": [ "This is just a rough estimate of the minimum number of tiles that this runway can represent.", "It is designed for a skill level that won't be able to use canStutterWaterShineCharge." @@ -2398,28 +2458,26 @@ { "id": 54, "link": [4, 7], - "name": "Suitless Stutter Water Shinecharge", + "name": "Suitless Stutter Water Get Blue Speed", "entranceCondition": { - "comeInStutterShinecharging": { + "comeInStutterGettingBlueSpeed": { "minTiles": 2 } }, - "requires": [ - "h_stutterWaterGetBlueSpeed" - ] + "requires": [], + "flashSuitChecked": true }, { "id": 109, "link": [4, 7], "name": "Precise Suitless Stutter Water Shinecharge", "entranceCondition": { - "comeInStutterShinecharging": { + "comeInStutterGettingBlueSpeed": { "minTiles": 1 } }, - "requires": [ - "h_stutterWaterGetBlueSpeed" - ], + "requires": [], + "flashSuitChecked": true, "note": [ "With only 1 tile of runway, this requires releasing forward for 1 or 2 frames", "and repressing forward on the last possible frame." @@ -2440,6 +2498,7 @@ "requires": [ "canSpeedball" ], + "flashSuitChecked": true, "note": [ "This is just a rough estimate of the minimum number of tiles that this runway can represent." ] @@ -2454,6 +2513,7 @@ } }, "requires": [], + "flashSuitChecked": true, "devNote": [ "With a mid-air spring ball jump it would be possible to go through the morph tunnel.", "This strat exists mainly as a way to avoid collecting the item, by passing through the Speed blocks." @@ -2466,6 +2526,7 @@ "requires": [ "Morph" ], + "flashSuitChecked": true, "note": "If the Puyos are alive, lure the first to the right, then roll out of the hole, unmorph and fight them. Crouching while shooting may increase accuracy.", "devNote": "FIXME This probably shouldnt be free if the Puyos are still alive." }, @@ -2477,6 +2538,7 @@ "canComplexGMode", {"obstaclesCleared": ["B"]} ], + "flashSuitChecked": true, "note": "If the Puyos are alive, lure the first to the right, then roll out of the hole, unmorph and fight them. Crouching while shooting may increase accuracy.", "devNote": "FIXME This probably shouldnt be free if the Puyos are still alive." }, @@ -2487,7 +2549,8 @@ "requires": [ "canComplexGMode", {"obstaclesCleared": ["B"]} - ] + ], + "flashSuitChecked": true }, { "id": 89, @@ -2503,7 +2566,8 @@ "h_additionalBomb" ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 90, @@ -2514,13 +2578,15 @@ "canMidAirMorph", "canDisableEquipment" ], + "flashSuitChecked": true, "note": "Jump and mid-air morph. This is much easier with Gravity and HiJump turned off." }, { "id": 91, "link": [6, 4], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 92, @@ -2537,7 +2603,8 @@ ]} ]} ], - "collectsItems": [5] + "collectsItems": [5], + "flashSuitChecked": true }, { "id": 93, @@ -2546,9 +2613,11 @@ "requires": [ "canSuitlessMaridia", "canMidAirMorph", - "canDisableEquipment" + {"disableEquipment": "Gravity"}, + {"disableEquipment": "HiJump"} ], "collectsItems": [5], + "flashSuitChecked": true, "note": "Jump and mid-air morph. This is much easier with Gravity and HiJump turned off." }, { @@ -2572,7 +2641,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Zoa", "count": 5}] + "farmCycleDrops": [{"enemy": "Zoa", "count": 5}], + "flashSuitChecked": true }, { "id": 110, @@ -2580,6 +2650,7 @@ "name": "Base", "requires": [], "clearsObstacles": ["A"], + "flashSuitChecked": true, "note": ["Use blue speed to pass through the speed blocks."] }, { @@ -2594,6 +2665,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Use blue speed to pass through the speed blocks, then chain temporary blue through the door." ], @@ -2615,6 +2687,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": ["Use X-Ray to turn around, then chain temporary blue back through the door."], "devNote": [ "The `h_getBlueSpeedMaxRunway` requirement is to satisfy the tests,", @@ -2633,7 +2706,7 @@ }, { "id": 2, - "name": "Sand Grapple Boost", + "name": "Sand Grapple Boost (Left to Right)", "note": [ "Lure a Puyo close to the sand to use for a Sand Grapple Boost.", "As it is close to entering the sand, land on the sand and crouch.", diff --git a/region/maridia/inner-pink/Botwoon Hallway.json b/region/maridia/inner-pink/Botwoon Hallway.json index 4d9236e017..4f21fd01f4 100644 --- a/region/maridia/inner-pink/Botwoon Hallway.json +++ b/region/maridia/inner-pink/Botwoon Hallway.json @@ -94,6 +94,7 @@ "canTrickyUseFrozenEnemies" ], "bypassesDoorShell": true, + "flashSuitChecked": true, "note": [ "Freeze two Mochtroids above the door to set up a moonfall between them, and aim down.", "After gaining enough speed, press forward to fall down and clip past the door shell below.", @@ -149,7 +150,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Mochtroid", "count": 2}] + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 2}], + "flashSuitChecked": true }, { "id": 37, @@ -194,16 +196,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Puyo", "count": 2}] - }, - { - "id": 3, - "link": [1, 1], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } + "farmCycleDrops": [{"enemy": "Puyo", "count": 2}], + "flashSuitChecked": true }, { "id": 4, @@ -216,6 +210,7 @@ "requires": [ {"shinespark": {"frames": 8, "excessFrames": 8}} ], + "flashSuitChecked": true, "devNote": "This strat is not useful in-room, but can satisfy a strat in the room before with an exit shinespark." }, { @@ -253,7 +248,8 @@ "requires": [ "Gravity", "h_getBlueSpeedMaxRunway" - ] + ], + "flashSuitChecked": true }, { "id": 8, @@ -273,6 +269,7 @@ {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} ]} ], + "flashSuitChecked": true, "note": [ "Crouch under the crumble blocks. Holding both angle buttons to aim upward, freeze the Mochtroid while it is on Samus.", "Jump onto the Mochtroid by quickly pressing down after jumping. When on it, press up to stand then jump through the ceiling.", @@ -316,6 +313,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Chain temporary blue across the room in order to break the Speed blocks.", "If available, bouncing using Spring Ball can help speed this up significantly.", @@ -359,6 +357,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Chain temporary blue across the room in order to break the Speed blocks.", "If available, bouncing using Spring Ball can help speed this up significantly.", @@ -425,7 +424,8 @@ {"shinespark": {"frames": 18, "excessFrames": 9}} ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 13, @@ -434,7 +434,8 @@ "requires": [ "Gravity", "h_getBlueSpeedMaxRunway" - ] + ], + "flashSuitChecked": true }, { "id": 14, @@ -478,6 +479,7 @@ "canHorizontalShinespark", {"shinespark": {"frames": 75, "excessFrames": 8}} ], + "flashSuitChecked": true, "note": [ "Quickly move next to the first set of speed blocks at the left end of the hole.", "Shoot a Wave shot, then just before it goes off screen, horizontally spark to the left to get through all the shot and speed blocks.", @@ -508,6 +510,7 @@ {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} ]} ], + "flashSuitChecked": true, "note": [ "Crouch under the crumble blocks. Holding both angle buttons to aim upward, freeze the Mochtroid while it is on Samus.", "Jump onto the Mochtroid by quickly pressing down after jumping. When on it, press up to stand then jump through the ceiling.", @@ -530,6 +533,7 @@ {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 1}} ]} ], + "flashSuitChecked": true, "note": [ "Use the middle section of pipes as a platform to reach the top level, above the Mochtroid.", "A crouch jump and down grab is enough if the jump begins on the rightmost 75% of the rightmost pixel.", @@ -552,6 +556,7 @@ "canTrickyJump", "h_underwaterCrouchJumpDownGrab" ], + "flashSuitChecked": true, "note": [ "Use the middle section of pipes as a platform to reach the top level, above the Mochtroid.", "A crouch jump and down grab is enough if the jump begins on the rightmost 75% of the rightmost pixel.", @@ -633,6 +638,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "Chain temporary blue across the room in order to break the Speed blocks.", "If available, bouncing using Spring Ball can help speed this up significantly.", @@ -664,6 +670,7 @@ } }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Chain temporary blue across the room in order to break the Speed blocks, using Spring Ball to speed up the process.", "If two Power Bombs are also available, they can be used to break the shot blocks along the way without needing to stop bouncing;", @@ -684,7 +691,8 @@ "blockPositions": [[5, 3], [7, 2], [3, 12], [3, 13]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 35, @@ -693,7 +701,8 @@ "requires": [ {"useFlashSuit": {}}, {"shinespark": {"frames": 1, "excessFrames": 1}} - ] + ], + "flashSuitChecked": true }, { "id": 22, @@ -705,7 +714,8 @@ "length": 5, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 23, @@ -720,6 +730,7 @@ "openEnd": 1 } }, + "flashSuitChecked": true, "note": "Lure the Mochtroid into the pit and freeze it, then wait for it on the ledge and freeze it when it is in position.", "devNote": "This just assumes 1 extra runway tile, although it is possible to add 1.5 with a decent lure." }, @@ -753,7 +764,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 26, @@ -771,7 +783,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 27, @@ -791,7 +804,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 28, @@ -812,7 +826,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 29, @@ -828,7 +843,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 30, @@ -845,7 +861,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 38, @@ -918,7 +935,8 @@ "farmCycleDrops": [ {"enemy": "Mochtroid", "count": 1}, {"enemy": "Puyo", "count": 2} - ] + ], + "flashSuitChecked": true }, { "id": 31, diff --git a/region/maridia/inner-pink/Botwoon Quicksand Room.json b/region/maridia/inner-pink/Botwoon Quicksand Room.json index f11d004e37..4ff2048195 100644 --- a/region/maridia/inner-pink/Botwoon Quicksand Room.json +++ b/region/maridia/inner-pink/Botwoon Quicksand Room.json @@ -127,7 +127,8 @@ "id": 2, "link": [1, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 3, @@ -227,6 +228,7 @@ "h_usePowerBomb" ]} ], + "flashSuitChecked": true, "note": [ "If the room above has a narrow sand exit, then spin jump through the transition pressing against the wall,", "continue holding right to reach the wall above the tunnel,", @@ -238,15 +240,6 @@ "FIXME: Entering through the Toilet can be possible with a lateral mid-air and enough run speed from an air room above." ] }, - { - "id": 8, - "link": [2, 2], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } - }, { "id": 9, "link": [3, 2], @@ -301,7 +294,8 @@ "id": 11, "link": [3, 4], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 12, @@ -361,6 +355,7 @@ "h_usePowerBomb" ]} ], + "flashSuitChecked": true, "note": [ "If the room above has a narrow sand exit, then spin jump through the transition pressing against the wall,", "continue holding left to reach the wall above the tunnel,", @@ -372,22 +367,14 @@ "FIXME: Entering through the Toilet can be possible with a lateral mid-air and enough run speed from an air room above." ] }, - { - "id": 16, - "link": [4, 4], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } - }, { "id": 17, "link": [5, 2], "name": "Base", "requires": [ "Morph" - ] + ], + "flashSuitChecked": true }, { "id": 18, @@ -395,7 +382,8 @@ "name": "Base", "requires": [ "Morph" - ] + ], + "flashSuitChecked": true }, { "id": 19, diff --git a/region/maridia/inner-pink/Botwoon's Room.json b/region/maridia/inner-pink/Botwoon's Room.json index 68b62bec4b..2fb9f5034d 100644 --- a/region/maridia/inner-pink/Botwoon's Room.json +++ b/region/maridia/inner-pink/Botwoon's Room.json @@ -111,7 +111,8 @@ "length": 1, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 40, @@ -131,6 +132,7 @@ "obstruction": [1, 0] } }, + "flashSuitChecked": true, "devNote": ["Max extra run speed $3.2 with spin, or $3.3 with a quick aim-down."] }, { @@ -166,6 +168,7 @@ "exitCondition": { "leaveShinecharged": {} }, + "flashSuitChecked": true, "note": "Achieve a shinecharge before running into the wall, to be able to make it to the door faster." }, { @@ -182,7 +185,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 4, @@ -202,7 +206,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 5, @@ -223,7 +228,8 @@ }, "movementType": "uncontrolled" } - } + }, + "flashSuitChecked": true }, { "id": 6, @@ -239,7 +245,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 7, @@ -251,7 +258,8 @@ ], "exitCondition": { "leaveWithTemporaryBlue": {} - } + }, + "flashSuitChecked": true }, { "id": 8, @@ -275,7 +283,8 @@ "enemies": [["Botwoon 2"]] }} ], - "setsFlags": ["f_DefeatedBotwoon"] + "setsFlags": ["f_DefeatedBotwoon"], + "flashSuitChecked": true }, { "id": 25, @@ -292,6 +301,7 @@ }} ], "setsFlags": ["f_DefeatedBotwoon"], + "flashSuitChecked": true, "note": [ "Fight Botwoon without Gravity suit.", "The left corner can be used to avoid most attacks and may be worth using even in the opening of the fight for safety." @@ -316,7 +326,8 @@ "name": "Base", "requires": [ "f_DefeatedBotwoon" - ] + ], + "flashSuitChecked": true }, { "id": 27, @@ -324,7 +335,8 @@ "name": "Base", "requires": [ "f_DefeatedBotwoon" - ] + ], + "flashSuitChecked": true }, { "id": 10, @@ -343,7 +355,8 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 11, @@ -354,7 +367,8 @@ "blockPositions": [[5, 3], [7, 2]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 12, @@ -366,7 +380,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 13, @@ -383,7 +398,8 @@ "blockPositions": [[3, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 14, @@ -395,7 +411,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 15, @@ -410,7 +427,8 @@ ], "exitCondition": { "leaveShinecharged": {} - } + }, + "flashSuitChecked": true }, { "id": 16, @@ -426,7 +444,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 17, @@ -443,7 +462,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 18, @@ -463,7 +483,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 19, @@ -479,7 +500,8 @@ "openEnd": 2 } } - } + }, + "flashSuitChecked": true }, { "id": 20, @@ -492,7 +514,8 @@ ], "exitCondition": { "leaveWithTemporaryBlue": {} - } + }, + "flashSuitChecked": true }, { "id": 21, @@ -518,6 +541,7 @@ ]} ], "setsFlags": ["f_DefeatedBotwoon"], + "flashSuitChecked": true, "note": ["Fight Botwoon from behind the wall."], "devNote": [ "With Gravity, dodging the acid is pretty trivial.", @@ -540,6 +564,7 @@ ]} ], "setsFlags": ["f_DefeatedBotwoon"], + "flashSuitChecked": true, "note": [ "Even when suitless, it's possible to stand far enough that the acid attack doesn't spawn.", "Botwoon still gets hit. So there's a safe way to take no damage." @@ -591,9 +616,11 @@ {"enemyKill": { "enemies": [["Reverse Botwoon 1"], ["Reverse Botwoon 2"]], "explicitWeapons": ["Charge+Plasma", "Charge+Ice+Spazer"] - }} + }}, + "h_trickyToCarryFlashSuit" ], "setsFlags": ["f_DefeatedBotwoon"], + "flashSuitChecked": true, "note": [ "A charge beam shot will pass right through the dividing wall if fired from the correct 2-pixel window.", "Using angle down the spot is where Samus' front toe touches the wall.", @@ -633,6 +660,7 @@ }} ], "setsFlags": ["f_DefeatedBotwoon"], + "flashSuitChecked": true, "note": "Stand near the dividing wall and unleash the Plasma Special Beam Attack!" }, { @@ -649,6 +677,7 @@ }} ], "setsFlags": ["f_DefeatedBotwoon"], + "flashSuitChecked": true, "note": [ "Wait for the one pattern (bottom->right) where Botwoon's head passes through the dividing barrier briefly and fire a Super Missile.", "This takes a long time, averaging one super per minute." diff --git a/region/maridia/inner-pink/Colosseum.json b/region/maridia/inner-pink/Colosseum.json index 50265a5e8d..0e55c128e7 100644 --- a/region/maridia/inner-pink/Colosseum.json +++ b/region/maridia/inner-pink/Colosseum.json @@ -101,7 +101,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 2, @@ -128,6 +129,7 @@ "openEnd": 1 } }, + "flashSuitChecked": true, "note": [ "Use a frozen Mochtroid to extend the length of the runway.", "Positioning the Mochtroid can be done by dropping down below then climbing back up with the frozen Mochtroid as a platform.", @@ -168,7 +170,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}] + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}], + "flashSuitChecked": true }, { "id": 109, @@ -204,7 +207,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Mochtroid", "count": 4}] + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 4}], + "flashSuitChecked": true }, { "id": 4, @@ -241,6 +245,7 @@ "blockPositions": [[3, 13]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the top Grapple block below the door.", "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.", @@ -265,6 +270,7 @@ "blockPositions": [[3, 12]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the top Grapple block below the door.", "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.", @@ -293,6 +299,7 @@ "blockPositions": [[3, 13]] } }, + "flashSuitChecked": true, "note": [ "Grapple to the second Grapple block from the bottom of the room, jump off from it, morph, and press against the Grapple wall to the left.", "Unmorph slightly before the peak of the jump (an 8-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel or two inside the second Grapple block below the door.", @@ -318,6 +325,7 @@ "blockPositions": [[3, 12]] } }, + "flashSuitChecked": true, "note": [ "Grapple to the second Grapple block from the bottom of the room, jump off from it, morph, and press against the Grapple wall to the left.", "Unmorph slightly before the peak of the jump (an 8-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel or two inside the second Grapple block below the door.", @@ -348,6 +356,7 @@ "blockPositions": [[3, 13]] } }, + "flashSuitChecked": true, "note": [ "Freeze a Mochtroid at a specific position, where its top is about at the midpoint of the fourth Grapple block below the door.", "Stand on the frozen Mochtroid, and fire Grapple horizontally while walking toward the wall.", @@ -377,6 +386,7 @@ "blockPositions": [[3, 12]] } }, + "flashSuitChecked": true, "note": [ "Freeze a Mochtroid at a specific position, where its top is about at the midpoint of the third Grapple block below the door.", "Stand on the frozen Mochtroid, and fire Grapple horizontally while walking toward the wall.", @@ -430,7 +440,8 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 85, @@ -440,6 +451,7 @@ {"useFlashSuit": {}}, {"shinespark": {"frames": 112, "excessFrames": 19}} ], + "flashSuitChecked": true, "note": "Jumping to the first platform is relatively tight without a wall jump and requires disabling HiJump." }, { @@ -463,6 +475,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": "While that one walljump near the end is a bit precise, it does not require a delayed walljump." }, { @@ -483,7 +496,8 @@ "ScrewAttack", {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} ]} - ] + ], + "flashSuitChecked": true }, { "id": 14, @@ -535,6 +549,7 @@ "canBePatient" ]} ], + "flashSuitChecked": true, "note": [ "Start an IBJ by either bouncing on the sand with SpringBall, doing a stationary spinjump on the sand, ", "Or by crouch jumping in the sand while holding down." @@ -543,13 +558,14 @@ { "id": 16, "link": [1, 3], - "name": "SpringBall Jump", + "name": "Spring Ball Jump", "requires": [ "Gravity", "HiJump", "canPlayInSand", "canTrickySpringBallJump" - ] + ], + "flashSuitChecked": true }, { "id": 17, @@ -566,8 +582,10 @@ {"or": [ "HiJump", "canTrickyJump" - ]} + ]}, + "h_complexToCarryFlashSuit" ], + "flashSuitChecked": true, "note": [ "Use Grapple Beam to cross the room. The first two room segments can be safely grappled across from in the water.", "The third room segment grapple is tricky. It is possible to use the spikes as platforms instead." @@ -600,10 +618,11 @@ "canHorizontalDamageBoost" ]} ], + "flashSuitChecked": true, "note": [ "Use the spikes, which are not in the water, to jump from platform to platform as a way to cross the room.", "Requires knowing the position of every spike in the room, and hitting the spikes while morphed can help.", - "The first jump is particularly tough. A SpringBallJump from the sand with HiJump, or Grapple can be used to get past it." + "The first jump is particularly tough. A Spring Ball jump from the sand with HiJump, or Grapple can be used to get past it." ] }, { @@ -629,6 +648,7 @@ "canHorizontalDamageBoost" ]} ], + "flashSuitChecked": true, "note": [ "Use the spikes, which are not in the water, to jump from platform to platform as a way to cross the room.", "Requires knowing the position of every spike in the room, and hitting the spikes while morphed can help.", @@ -649,8 +669,10 @@ {"or": [ "Morph", {"spikeHits": 2} - ]} + ]}, + "h_extremelyTrickyToCarryFlashSuit" ], + "flashSuitChecked": true, "note": [ "Land on each set of spikes as a way to jump to the next safe platform.", "The first jump can be done with a very precise damage boost to bounce forward off the spike, or using morph." @@ -674,8 +696,10 @@ {"or": [ "canInsaneJump", {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} - ]} + ]}, + "h_complexToCarryFlashSuit" ], + "flashSuitChecked": true, "note": [ "Climb a mochtroid with ice using the wall to help guide them.", "It is very easy to take damage if not preemptive with freezes.", @@ -696,8 +720,10 @@ {"or": [ "canInsaneJump", {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} - ]} + ]}, + "h_trickyToCarryFlashSuit" ], + "flashSuitChecked": true, "note": [ "Climb a mochtroid with ice using the wall to help guide them.", "Mochtroid damage is pretty hard to avoid, but it is possible." @@ -720,7 +746,8 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 24, @@ -732,7 +759,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 25, @@ -749,7 +777,8 @@ "blockPositions": [[108, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 26, @@ -766,7 +795,8 @@ "blockPositions": [[108, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 86, @@ -776,6 +806,7 @@ {"useFlashSuit": {}}, {"shinespark": {"frames": 112, "excessFrames": 5}} ], + "flashSuitChecked": true, "note": "Jumping to the first platform is relatively tight without a wall jump and requires disabling HiJump." }, { @@ -815,6 +846,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "devNote": "This can be done at greater speed (at least up to $2.3) but would be more difficult." }, { @@ -826,7 +858,8 @@ "blockPositions": [[5, 3], [7, 2]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 29, @@ -838,7 +871,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 30, @@ -855,7 +889,8 @@ "blockPositions": [[3, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 31, @@ -872,7 +907,8 @@ "blockPositions": [[3, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 32, @@ -938,6 +974,7 @@ "canGrappleClip" ], "bypassesDoorShell": true, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the second Grapple block below the top right door.", "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.", @@ -962,6 +999,7 @@ "canGrappleClip" ], "bypassesDoorShell": true, + "flashSuitChecked": true, "note": [ "Grapple to the second Grapple block from the bottom (the one partially underwater), jump off from it, morph, and press against the wall to the right.", "Unmorph slightly before the peak of the jump (a 3-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel inside the second Grapple block.", @@ -987,7 +1025,8 @@ "length": 4, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 37, @@ -1005,6 +1044,7 @@ "openEnd": 0 } }, + "flashSuitChecked": true, "note": [ "Use a frozen Mochtroid to extend the length of the runway.", "Positioning the Mochtroid is easiest by dropping into the sand and freezing it.", @@ -1045,7 +1085,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}] + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}], + "flashSuitChecked": true }, { "id": 38, @@ -1088,18 +1129,20 @@ "canGravityJump" ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 41, "link": [2, 3], - "name": "Gravity Jump, SpringBall Jump", + "name": "Gravity Jump, Spring Ball Jump", "requires": [ "canTrickySpringBallJump", "canGravityJump", "canTrickyJump" ], - "note": "Pause for the Gravity Jump as late as possible and then repause as soon as possible for the SpringBall Jump." + "flashSuitChecked": true, + "note": "Pause for the Gravity Jump as late as possible and then repause as soon as possible for the Spring Ball jump." }, { "id": 42, @@ -1108,7 +1151,8 @@ "requires": [ "h_navigateUnderwater", "canMochtroidIceClimb" - ] + ], + "flashSuitChecked": true }, { "id": 43, @@ -1116,7 +1160,30 @@ "name": "Grapple", "requires": [ "h_navigateUnderwater", - "Grapple" + "Grapple", + {"or": [ + "h_midAirShootUp", + "Gravity" + ]} + ], + "flashSuitChecked": true + }, + { + "link": [2, 3], + "name": "Grapple (Tricky Carry Flash Suit)", + "requires": [ + "Grapple", + "canTrickyCarryFlashSuit" + ], + "flashSuitChecked": true, + "note": [ + "Crouch jump while holding shot to jump high enough to grapple horizontally to the second-lowest block.", + "then fall, aim diagonally up, and grapple to the opposite wall after moving close enough to it,", + "repeating this until Samus is above the water line.", + "Grappling the same wall is also an option:", + "in this case Samus will already be facing the wall when falling,", + "so simply hold angle up and fire Grapple again immediately when Samus begins to fall;", + "if done quickly, Samus will climb up to the next Grapple block." ] }, { @@ -1145,6 +1212,7 @@ "canBombJumpWaterEscape", "canJumpIntoIBJ" ], + "flashSuitChecked": true, "note": [ "Perform the spring ball jump near max height.", "Place the first bomb between a few frames after the spring ball jump; ideally it should be just above the water line.", @@ -1169,6 +1237,7 @@ "canMomentumConservingTurnaround", {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} ], + "flashSuitChecked": true, "note": "Requires a runway of one tile in the adjacent room.", "devNote": "Possible with no openend using a harder jump but a runway that small doesn't exist." }, @@ -1189,6 +1258,7 @@ "canMomentumConservingTurnaround", "canDownGrab" ], + "flashSuitChecked": true, "note": "Requires a runway of one tile in the adjacent room." }, { @@ -1207,6 +1277,7 @@ "canMomentumConservingTurnaround", "canDownGrab" ], + "flashSuitChecked": true, "note": "Requires running a very precise distance of 7 tiles with no open end in the adjacent room, to hit a peak of the speed vs height graph." }, { @@ -1224,6 +1295,7 @@ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "note": [ "Gain speed using at least 18 tiles of runway, then Space Jump through the door transition." ] @@ -1246,6 +1318,7 @@ "canMomentumConservingTurnaround", "canDownGrab" ], + "flashSuitChecked": false, "note": [ "Requires running a precise distance of 7 tiles with no open end in the adjacent room, to hit a peak of the speed vs height graph (at extra run speed $2.0 or $2.1).", "This needs a last-frame Space Jump in the previous room.", @@ -1269,6 +1342,7 @@ "canTrickyJump", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "note": "Requires a runway of one tile in the adjacent room.", "devNote": "Possible with no openend using a harder jump but a runway that small doesn't exist." }, @@ -1287,6 +1361,7 @@ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "note": "Uses a runway of two tiles in the adjacent room." }, { @@ -1464,7 +1539,8 @@ "requires": [ "canCrossRoomJumpIntoWater", "canTrickyJump" - ] + ], + "flashSuitChecked": true }, { "id": 108, @@ -1566,6 +1642,7 @@ "canMomentumConservingTurnaround", "canSpringBallJumpMidAir" ], + "flashSuitChecked": true, "devNote": [ "This strat is included for completeness even though it's not really useful;", "it would be easier to use the runway attached to the door, even if it is only 1 tile long,", @@ -1626,7 +1703,8 @@ "requires": [ "canUnderwaterWalljump", "canSpaceJumpWaterBounce" - ] + ], + "flashSuitChecked": true }, { "id": 87, @@ -1635,6 +1713,7 @@ "requires": [ "canUnderwaterWalljumpBreakFree" ], + "flashSuitChecked": true, "devNote": "FIXME: Crossing the room with just HiJump should be possible but terrible." }, { @@ -1656,7 +1735,8 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 56, @@ -1680,6 +1760,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Position as far left as possible, hanging over the ledge, and use X-Ray to turn around to the right.", "Perform a gravity jump into a spring ball jump.", @@ -1707,7 +1788,8 @@ {"shinespark": {"frames": 10, "excessFrames": 6}} ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 57, @@ -1923,7 +2005,8 @@ "canConsecutiveWalljump", "Grapple" ]} - ] + ], + "flashSuitChecked": true }, { "id": 59, @@ -1943,7 +2026,8 @@ "ScrewAttack", {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} ]} - ] + ], + "flashSuitChecked": true }, { "id": 60, @@ -1998,6 +2082,7 @@ "canBePatient" ]} ], + "flashSuitChecked": true, "note": [ "Start an IBJ by either bouncing on the sand with SpringBall, doing a stationary spinjump on the sand, ", "Or by crouch jumping in the sand while holding down." @@ -2006,13 +2091,14 @@ { "id": 62, "link": [3, 1], - "name": "SpringBall Jump", + "name": "Spring Ball Jump", "requires": [ "Gravity", "HiJump", "canPlayInSand", "canTrickySpringBallJump" - ] + ], + "flashSuitChecked": true }, { "id": 63, @@ -2029,8 +2115,10 @@ {"or": [ "HiJump", "canTrickyJump" - ]} - ] + ]}, + "h_complexToCarryFlashSuit" + ], + "flashSuitChecked": true }, { "id": 64, @@ -2058,6 +2146,7 @@ "canBombJumpWaterEscape", "canJumpIntoIBJ" ], + "flashSuitChecked": true, "note": [ "Stay out of the water, and by extension the sand, of the room by using the spikes as platforms.", "Morphing before landing on the spikes helps to be able to control the knockback.", @@ -2088,10 +2177,14 @@ {"spikeHits": 3}, "canNeutralDamageBoost", {"or": [ - "canHorizontalDamageBoost", + {"and": [ + "canHorizontalDamageBoost", + {"noFlashSuit": {}} + ]}, {"spikeHits": 1} ]} ], + "flashSuitChecked": true, "note": [ "Stay out of the water, and by extension the sand, of the room by using the spikes as platforms.", "Landing on spikes aiming down with no other direction pressed can help control the knockback.", @@ -2116,7 +2209,8 @@ {"or": [ "canInsaneJump", {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} - ]} + ]}, + "h_complexToCarryFlashSuit" ], "note": [ "Jump out of the sand to lure down mochtroids to freeze.", @@ -2139,7 +2233,8 @@ {"or": [ "canInsaneJump", {"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 2}} - ]} + ]}, + "h_trickyToCarryFlashSuit" ], "note": [ "Jump out of the sand to lure down mochtroids to freeze.", @@ -2164,7 +2259,8 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 69, @@ -2175,7 +2271,8 @@ "blockPositions": [[5, 3], [7, 2]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 70, @@ -2187,7 +2284,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 71, @@ -2204,7 +2302,8 @@ "blockPositions": [[3, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 72, @@ -2221,7 +2320,8 @@ "blockPositions": [[3, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 73, @@ -2257,6 +2357,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": "Wall jump to the first platform then spark while standing, or spark from the right door - one tile lower than the Grapple blocks.", "devNote": "FIXME: Adding another node at the first platform would allow for cross room strats from the bottom right door." }, @@ -2264,7 +2365,8 @@ "id": 74, "link": [3, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 99, @@ -2382,7 +2484,8 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 76, @@ -2398,6 +2501,7 @@ "canGrappleClip" ], "bypassesDoorShell": true, + "flashSuitChecked": true, "note": [ "Perform a moonfall with stored fall speed to clip into the air space between the grapple blocks and the wall.", "Jump and tap grapple while aiming diagonally to be pushed into the wall just the right amount.", @@ -2420,6 +2524,7 @@ "canGrappleClip" ], "bypassesDoorShell": true, + "flashSuitChecked": true, "note": [ "Land in the right side of the third Samus Eater on the floor of Hellway.", "This allows Samus to get inside the air pocket below the door.", @@ -2437,6 +2542,7 @@ "canGrappleClip" ], "bypassesDoorShell": true, + "flashSuitChecked": true, "note": [ "Enter the room with a super sink, and hold right, to clip down into the air pocket below the door.", "From there use Grapple to clip inside the wall and down into the transition, bypassing the door lock below." @@ -2452,7 +2558,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 78, @@ -2479,6 +2586,7 @@ "openEnd": 1 } }, + "flashSuitChecked": true, "note": [ "Use a frozen Mochtroid to extend the length of the runway.", "Positioning the Mochtroid can be done by dropping down below then climbing back up with the frozen Mochtroid as a platform.", @@ -2495,7 +2603,8 @@ "leaveWithGrappleSwing": { "blocks": [{"position": [7, 3], "note": "Closest Grapple block above top-right door"}] } - } + }, + "flashSuitChecked": true }, { "id": 79, @@ -2511,6 +2620,7 @@ "blockPositions": [[108, 13]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the second Grapple block below the door.", "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.", @@ -2537,6 +2647,7 @@ "blockPositions": [[108, 12]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the top Grapple block below the door.", "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.", @@ -2562,6 +2673,7 @@ "blockPositions": [[108, 13]] } }, + "flashSuitChecked": true, "note": [ "Grapple to the second Grapple block from the bottom (the one partially underwater), jump off from it, morph, and press against the wall to the right.", "Unmorph slightly before the peak of the jump (a 3-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel inside the second Grapple block.", @@ -2590,6 +2702,7 @@ "blockPositions": [[108, 12]] } }, + "flashSuitChecked": true, "note": [ "Grapple to the fifth Grapple block below the door (the first one fully above the water line), jump off from it, and morph.", "Unmorph slightly before the peak of the jump (a 3-frame window), then immediately use grapple (a 2-frame window) to get stuck standing a pixel inside the second Grapple block.", @@ -2618,6 +2731,7 @@ "blockPositions": [[108, 13]] } }, + "flashSuitChecked": true, "note": [ "Freeze a Mochtroid at a specific position, aiming for its top to be slightly above the midpoint of the fourth Grapple block below the door.", "Stand on the frozen Mochtroid, and fire Grapple horizontally while walking toward the wall.", @@ -2647,6 +2761,7 @@ "blockPositions": [[108, 12]] } }, + "flashSuitChecked": true, "note": [ "Freeze a Mochtroid at a specific position, aiming for its top to be slightly above the midpoint of the third Grapple block below the door.", "Stand on the frozen Mochtroid, and fire Grapple horizontally while walking toward the wall.", @@ -2696,7 +2811,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}] + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}], + "flashSuitChecked": true }, { "id": 113, @@ -2733,7 +2849,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Mochtroid", "count": 3}] + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 3}], + "flashSuitChecked": true }, { "id": 83, diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index 4167460516..18a9a4b9b9 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -160,7 +160,8 @@ "length": 14, "openEnd": 0 } - } + }, + "flashSuitChecked": true }, { "id": 69, @@ -218,6 +219,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With a runway of 5 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 5 frames, and repress forward on the last possible frame before the transition.", @@ -252,6 +254,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 4 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 4 frames, and repress forward on the last possible frame before the transition.", @@ -287,6 +290,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 3 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 3 or 4 frames, and repress forward on the last possible frame before the transition.", @@ -329,6 +333,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only a runway of 2 tiles (open end) in the other room,", "the ideal timing for the stutter is to release forward for 3 frames, and repress forward on the last possible frame before the transition.", @@ -369,6 +374,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "With only 1 tile of runway in the other room, Samus should ideally start on the last pixel of runway with X subpixels of $3FFF or less.", "Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.", @@ -429,7 +435,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Sciser", "count": 2}] + "farmCycleDrops": [{"enemy": "Sciser", "count": 2}], + "flashSuitChecked": true }, { "id": 4, @@ -465,7 +472,8 @@ "id": 7, "link": [1, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 8, @@ -493,6 +501,7 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "Slide into the hole where the shot block was and sink to the bottom.", "Shoot the door using a Hero shot and time the shinespark to follow the shot." @@ -535,6 +544,7 @@ }, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], + "flashSuitChecked": true, "note": [ "Slide into the hole where the shot block was and sink to the bottom.", "Shoot the door using a Hero shot and time the shinespark to follow the shot.", @@ -564,6 +574,7 @@ "leaveWithSpark": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": ["never"]}], + "flashSuitChecked": true, "note": [ "Spinjump through the shotblocks and fire a Plasma + Wave shot on the way down, clearing the crabs.", "Begin the Shinespark windup while the Beam shot travels towards the door to open it." @@ -644,7 +655,8 @@ "canGravityJump", "canSpringBallJumpMidAir" ]} - ] + ], + "flashSuitChecked": true }, { "id": 12, @@ -656,6 +668,7 @@ "HiJump", "canConsecutiveWalljump" ], + "flashSuitChecked": true, "note": "Wall jump back and forth up the shaft. It's a really long climb." }, { @@ -687,6 +700,7 @@ "Gravity", {"shinespark": {"frames": 40, "excessFrames": 6}} ], + "flashSuitChecked": true, "devNote": [ "FIXME: It is possible to shinespark through the top door.", "--Open the top door, shortcharge, turn off gravity while jumping up the left shaft, diagonal spark to the right." @@ -708,6 +722,7 @@ {"ammo": {"type": "Super", "count": 1}} ]} ], + "flashSuitChecked": true, "note": [ "Freeze a crab multiple times to climb the upper section.", "It may be easier to climb the left shaft by knocking the crab off the wall, or by bringing up a crab from the lower area." @@ -721,7 +736,8 @@ "canSuitlessMaridia", "HiJump", "canUseFrozenEnemies" - ] + ], + "flashSuitChecked": true }, { "id": 19, @@ -731,7 +747,8 @@ "canSuitlessMaridia", "canSpringBallJumpMidAir", "HiJump" - ] + ], + "flashSuitChecked": true }, { "id": 20, @@ -749,6 +766,7 @@ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "note": "Only requires a runway of approximately 1 tile in the adjacent room.", "devNote": "Possible with no openend using a harder jump but a runway that small doesn't exist." }, @@ -768,6 +786,7 @@ "canTrickyDashJump", "canDownGrab" ], + "flashSuitChecked": true, "note": "Requires running a very precise distance of 12 tiles in the adjacent room and down grabbing onto the platform (extra run speed exactly $3.1).", "devNote": [ "FIXME: With 6.4375 tiles, it is possible to reach the floor below the floating platform;", @@ -788,6 +807,7 @@ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "note": "Requires around 19 tiles in the adjacent room.", "devNote": [ "This is on a spike in the speed graph, but would work even if it weren't. And higher tile counts work too.", @@ -810,6 +830,7 @@ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "note": [ "Requires running a very precise distance equivalent to a runway of 7 tiles with no open end in the adjacent room, to hit a peak in the speed / height relationship.", "The spring ball jump is used after landing near the top, to get to the platform below the door." @@ -831,6 +852,7 @@ "canCrossRoomJumpIntoWater", "canSpringBallJumpMidAir" ], + "flashSuitChecked": true, "note": [ "Unmorphing helps with avoiding the crab.", "The spring ball jump is used to get through the door after landing near the top." @@ -853,6 +875,7 @@ "canMomentumConservingMorph", "canSpringBallJumpMidAir" ], + "flashSuitChecked": true, "note": [ "Requires gaining a specific amount of speed by running a distance equivalent to a runway of 7 tiles with no open end in the adjacent room, to hit a peak in the speed / height relationship.", "Unmorph to maintain momentum while sliding along the ceiling near the entrance.", @@ -873,6 +896,7 @@ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "devNote": [ "This is on a spike in the speed graph, but higher tile counts work too.", "FIXME: With 7 tiles (extra run speed $2.0 or $2.1) or 11 tiles (extra run speed between $2.C and $3.1),", @@ -948,6 +972,7 @@ "canTrickyJump", "canMomentumConservingTurnaround" ], + "flashSuitChecked": true, "note": [ "Use a platform below the door in the other room to jump through the door while aiming down, carrying upward momentum into this room.", "Hold down and back through the transition, to perform a momentum-conserving turnaround past the corner.", @@ -980,6 +1005,7 @@ "canMomentumConservingTurnaround", "canUnderwaterBombIntoSpringBallJump" ], + "flashSuitChecked": true, "note": [ "Use a platform below the door in the other room to jump through the door while aiming down, carrying upward momentum into this room.", "Hold down and back through the transition, to perform a momentum-conserving turnaround past the corner.", @@ -1002,7 +1028,8 @@ {"shinespark": {"frames": 33, "excessFrames": 7}} ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 27, @@ -1040,7 +1067,8 @@ }, "requires": [ "canPreciseGrappleJump" - ] + ], + "flashSuitChecked": true }, { "id": 71, @@ -1061,7 +1089,8 @@ }, "requires": [ "canTrickyGrappleJump" - ] + ], + "flashSuitChecked": false }, { "id": 30, @@ -1079,7 +1108,12 @@ "canSpringBallJumpMidAir" ]} ], - "devNote": "The requirements are for getting onto the platform." + "flashSuitChecked": true, + "devNote": [ + "The requirements are for getting onto the platform.", + "FIXME: it would probably be better to add another node below the platform;", + "and flash suit is also an option for getting up onto it." + ] }, { "id": 92, @@ -1091,6 +1125,7 @@ "canBeExtremelyPatient", "canSpringBallJumpMidAir" ], + "flashSuitChecked": true, "note": "Perform a very long, very unforgiving, bootless underwater wall jump." }, { @@ -1107,7 +1142,8 @@ "canWaterShineCharge", {"shineChargeFrames": 0} ], - "endsWithShineCharge": true + "endsWithShineCharge": true, + "flashSuitChecked": true }, { "id": 86, @@ -1122,7 +1158,8 @@ "canPreciseStutterWaterShineCharge", {"shineChargeFrames": 0} ], - "endsWithShineCharge": true + "endsWithShineCharge": true, + "flashSuitChecked": true }, { "id": 87, @@ -1140,6 +1177,7 @@ {"shineChargeFrames": 0} ], "endsWithShineCharge": true, + "flashSuitChecked": true, "note": [ "With only 1 tile of runway in the other room, Samus should ideally start on the last pixel of runway with X subpixels of $3FFF or less.", "Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.", @@ -1175,7 +1213,8 @@ "name": "Base", "requires": [ "Gravity" - ] + ], + "flashSuitChecked": true }, { "id": 32, @@ -1222,6 +1261,7 @@ "canDodgeWhileShooting", {"ammo": {"type": "Super", "count": 1}} ], + "flashSuitChecked": true, "note": [ "Use a Super to knock a crab off of the wall so that it falls through the opening above.", "Use it to either jump directly to the blocks above, or onto a second crab.", @@ -1239,6 +1279,7 @@ "h_underwaterCrouchJump", "canTrickyJump" ], + "flashSuitChecked": true, "note": [ "Freeze a crab below the opening, and another one at the ceiling on the lip of the entrance.", "Stand on a frozen crab and crouch jump to the one on the ceiling.", @@ -1255,6 +1296,7 @@ "canUseFrozenEnemies", "canStationarySpinJump" ], + "flashSuitChecked": true, "note": [ "Similar to naked Watering Hole escape.", "Freeze a crab under the gap above, do a stationary spinjump facing right, then walljump until you're up.", @@ -1282,6 +1324,7 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Face right and perform a mid-air spring ball jump through the single-tile gap." ] @@ -1295,6 +1338,7 @@ {"useFlashSuit": {}}, {"shinespark": {"frames": 19, "excessFrames": 3}} ], + "flashSuitChecked": true, "note": [ "Position Samus to where her shot can partially go through the right tile of the tunnel above.", "Shoot up, then jump to move the camera up so that it hits the block.", @@ -1310,7 +1354,8 @@ "blockPositions": [[5, 3], [7, 2], [3, 12], [3, 13]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 39, @@ -1322,7 +1367,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 40, @@ -1339,7 +1385,8 @@ "blockPositions": [[2, 34]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 41, @@ -1351,7 +1398,8 @@ "length": 4, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 42, @@ -1366,6 +1414,7 @@ "openEnd": 0 } }, + "flashSuitChecked": true, "note": "Freeze a crab to extend the runway while leaving a half-tile gap between the crab and the runway to extend it as much as possible." }, { @@ -1459,6 +1508,7 @@ ]} ], "farmCycleDrops": [{"enemy": "Sciser", "count": 3}], + "flashSuitChecked": true, "devNote": [ "Other, slower methods are possible for resetting the room using the upper doors." ] @@ -1493,7 +1543,8 @@ }, "minExtraRunSpeed": "$3.2" } - } + }, + "flashSuitChecked": true }, { "id": 46, @@ -1510,7 +1561,8 @@ "openEnd": 0 } } - } + }, + "flashSuitChecked": true }, { "id": 47, @@ -1551,7 +1603,8 @@ }, "movementType": "uncontrolled" } - } + }, + "flashSuitChecked": true }, { "id": 49, @@ -1567,7 +1620,8 @@ "openEnd": 0 } } - } + }, + "flashSuitChecked": true }, { "id": 50, @@ -1580,7 +1634,8 @@ ], "exitCondition": { "leaveWithTemporaryBlue": {} - } + }, + "flashSuitChecked": true }, { "id": 51, @@ -1636,6 +1691,7 @@ } }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": [ "Perform a long series of tricky spring ball jumps to get up through the room while chaining temporary blue.", "After each spring ball jump, immediately unmorph to avoid bonking the wall and losing temporary blue.", @@ -1715,7 +1771,8 @@ "blockPositions": [[5, 3]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 56, @@ -1733,11 +1790,13 @@ "canSpringBallJumpMidAir" ]} ], + "flashSuitChecked": true, "note": [ "If the top door is blue, it will open immediately after the teleport, not allowing Samus to swing directly onto the platform." ], "devNote": [ - "FIXME: Add a variation with canRiskPermanentLossOfAccess if the door is not blue." + "FIXME: Add a variation with canRiskPermanentLossOfAccess if the door is not blue.", + "FIXME: end at a new node below the platform; a flash suit is another way to get up." ] }, { @@ -1756,8 +1815,10 @@ "canSpringBallJumpMidAir" ]} ], + "flashSuitChecked": true, "devNote": [ - "Here Samus spawns at or slightly inside the left wall; the additional requirements are for getting up to the platform below the door." + "Here Samus spawns at or slightly inside the left wall; the additional requirements are for getting up to the platform below the door.", + "FIXME: end at a new node below the platform; a flash suit is another way to get up." ] }, { @@ -1907,13 +1968,15 @@ "comeInNormally": {}, "comesThroughToilet": "any" }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 58, "link": [4, 1], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 67, @@ -2045,6 +2108,7 @@ ]} ], "farmCycleDrops": [{"enemy": "Sciser", "count": 1}], + "flashSuitChecked": true, "devNote": "FIXME: for the Grapple case, a water entry above can work as an alternative to wall jump or unmorph." }, { @@ -2072,7 +2136,8 @@ "unlocksDoors": [ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} - ] + ], + "flashSuitChecked": true }, { "id": 89, @@ -2151,6 +2216,7 @@ "h_shinechargeMaxRunway", {"shinespark": {"frames": 37, "excessFrames": 1}} ], + "flashSuitChecked": true, "note": [ "After storing the shinecharge, spin jump back to the left and spark aligned against the right side of the left shaft.", "At the top of the room, hold right in order to land on the platform below the door." diff --git a/region/maridia/inner-pink/Draygon Save Room.json b/region/maridia/inner-pink/Draygon Save Room.json index 26b79f6c6c..a2478b7658 100644 --- a/region/maridia/inner-pink/Draygon Save Room.json +++ b/region/maridia/inner-pink/Draygon Save Room.json @@ -83,7 +83,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 2, @@ -188,7 +189,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 8, @@ -205,7 +207,8 @@ "blockPositions": [[12, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 9, @@ -222,13 +225,15 @@ "blockPositions": [[12, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 10, "link": [1, 3], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 11, @@ -324,7 +329,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 16, @@ -341,7 +347,8 @@ "blockPositions": [[3, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 17, @@ -358,7 +365,8 @@ "blockPositions": [[3, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 18, @@ -370,25 +378,29 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 19, "link": [2, 3], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 20, "link": [3, 1], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 21, "link": [3, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true } ], "notables": [], diff --git a/region/maridia/inner-pink/Draygon's Room.json b/region/maridia/inner-pink/Draygon's Room.json index 509bddb9be..05cfac5c17 100644 --- a/region/maridia/inner-pink/Draygon's Room.json +++ b/region/maridia/inner-pink/Draygon's Room.json @@ -104,7 +104,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 57, @@ -125,6 +126,7 @@ "obstruction": [3, 0] } }, + "flashSuitChecked": true, "devNote": ["Max extra run speed $4.2"] }, { @@ -142,7 +144,8 @@ }, "minExtraRunSpeed": "$0.8" } - } + }, + "flashSuitChecked": true }, { "id": 3, @@ -162,7 +165,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 4, @@ -183,7 +187,8 @@ }, "movementType": "uncontrolled" } - } + }, + "flashSuitChecked": true }, { "id": 5, @@ -199,7 +204,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 6, @@ -217,6 +223,7 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, + "flashSuitChecked": true, "devNote": "This may be possible without destroying the turret, but it might be unreliable or need other requirements." }, { @@ -231,9 +238,13 @@ {"enemyDamage": {"enemy": "Draygon", "type": "contact", "hits": 5}} ], "setsFlags": ["f_DefeatedDraygon"], + "flashSuitChecked": true, "note": [ "Kill Draygon by grappling to the top left turret.", "Number of Draygon hits varies; 5 hits are assumed, which is close to a worst-case scenario." + ], + "devNote": [ + "FIXME: Should this include requirements for breaking the turrets or dodging their shots?" ] }, { @@ -245,9 +256,11 @@ "h_navigateUnderwater", "canPreciseGrapple", "h_breakOneDraygonTurret", - {"draygonElectricityFrames": 240} + {"draygonElectricityFrames": 240}, + "h_complexToCarryFlashSuit" ], "setsFlags": ["f_DefeatedDraygon"], + "flashSuitChecked": true, "note": [ "Kill Draygon by grappling to a bottom turret as you get grabbed.", "Avoids taking all the hits from Draygon." @@ -279,6 +292,7 @@ {"shinespark": {"frames": 150}} ], "setsFlags": ["f_DefeatedDraygon"], + "flashSuitChecked": true, "note": [ "Shinecharge in-room, then horizontally spark through Draygon multiple times.", "It takes 3 Shinesparks if that is the only source of damage onto Draygon.", @@ -295,9 +309,14 @@ {"enemyKill": { "enemies": [["Draygon"]], "farmableAmmo": ["Missile", "Super"] - }} + }}, + "h_complexToCarryFlashSuit" ], - "setsFlags": ["f_DefeatedDraygon"] + "setsFlags": ["f_DefeatedDraygon"], + "flashSuitChecked": true, + "devNote": [ + "FIXME: Should this include requirements for breaking the turrets or dodging their shots?" + ] }, { "id": 49, @@ -311,9 +330,11 @@ {"enemyKill": { "enemies": [["Draygon"]], "farmableAmmo": ["Missile", "Super"] - }} + }}, + "h_trickyToCarryFlashSuit" ], "setsFlags": ["f_DefeatedDraygon"], + "flashSuitChecked": true, "note": "Fight Draygon without gravity, but with morph.", "devNote": "This will require coming into the fight with ammo to kill the turrets. Although that ammo could instead be farmed in the fight." }, @@ -441,6 +462,7 @@ "blockPositions": [[2, 19]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the bottom half of the turret above the door.", "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.", @@ -478,6 +500,7 @@ "blockPositions": [[2, 18]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the top half of the turret above the door.", "Samus will enter a 'glitched grapple hanging' state where Samus' graphics will appear corrupted while swinging with Grapple.", @@ -508,6 +531,7 @@ "blockPositions": [[2, 19]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the bottom half of the turret above the door.", "This can be done by standing at the very edge of the ledge, jumping up into a mid-air morph, laying a bomb or Power Bomb, unmorphing, then grappling diagonally.", @@ -540,6 +564,7 @@ "blockPositions": [[2, 18]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the top half of the turret above the door.", "With HiJump, this can be done by standing on the low ground a couple tiles right of the ledge, jumping up into a mid-air morph, laying a bomb or Power Bomb, unmorphing, then grappling diagonally.", @@ -572,6 +597,7 @@ "blockPositions": [[2, 18]] } }, + "flashSuitChecked": true, "note": [ "Get a boost from a Bomb or Power Bomb while grappled to the top half of the turret above the door.", "Without HiJump, this is most easy to do by positioning as far right as possible on the ledge and performing a stationary lateral morph.", @@ -603,7 +629,8 @@ "canJumpIntoIBJ" ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 36, @@ -612,7 +639,8 @@ "requires": [ "Gravity", "canGravityJump" - ] + ], + "flashSuitChecked": true }, { "id": 37, @@ -622,7 +650,8 @@ "Gravity", "HiJump", "canSpringBallJumpMidAir" - ] + ], + "flashSuitChecked": true }, { "id": 38, @@ -636,7 +665,8 @@ "canWalljump", "canTrickyDashJump" ]} - ] + ], + "flashSuitChecked": true }, { "id": 39, @@ -647,6 +677,7 @@ "canTrickyDashJump", "canPreciseWalljump" ], + "flashSuitChecked": true, "note": [ "There is a very precise speed where the HiJumpless speedjump is doable.", "Starting against the left wall, jump just to the left of the rightmost pipe sticking out of the ground." @@ -656,10 +687,12 @@ "id": 40, "link": [1, 2], "name": "Draygon Springwall", + "entranceCondition": { + "comeInNormally": {} + }, "requires": [ "Gravity", - "canSpringwall", - {"resetRoom": {"nodes": [1]}} + "canSpringwall" ], "devNote": "The turret cannot be broken." }, @@ -677,7 +710,8 @@ {"shinespark": {"frames": 20, "excessFrames": 4}} ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 42, @@ -690,6 +724,7 @@ {"draygonElectricityFrames": 60}, "h_breakOneDraygonTurret" ], + "flashSuitChecked": true, "note": "Performing a grapple jump off of a Draygon turret. Usually done by bouncing off the wall for momentum." }, { @@ -708,6 +743,7 @@ "leaveWithSpark": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true, "note": "Charge a shinespark in the bottom of the room, then Gravity jump up in order to shinespark out of the right door." }, { @@ -749,7 +785,8 @@ "exitCondition": { "leaveShinecharged": {} }, - "unlocksDoors": [{"types": ["ammo"], "requires": []}] + "unlocksDoors": [{"types": ["ammo"], "requires": []}], + "flashSuitChecked": true }, { "id": 44, @@ -764,7 +801,8 @@ {"shinespark": {"frames": 19, "excessFrames": 5}} ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 13, @@ -808,6 +846,7 @@ "requires": [ "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": [ "With a 3-tile runway in the other room, this has a 2-frame window to jump before the transition." ] @@ -826,6 +865,7 @@ "canCrossRoomJumpIntoWater", "canTrickyJump" ], + "flashSuitChecked": true, "note": [ "With a 2-tile runway in the other room, this requires a frame-perfect jump immediately before the transition." ], @@ -847,6 +887,7 @@ "canCrossRoomJumpIntoWater", "canTrickyJump" ], + "flashSuitChecked": true, "note": [ "With a 2-tile runway in the other room, this requires a frame-perfect jump immediately before the transition." ], @@ -867,6 +908,7 @@ "requires": [ "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": [ "With a 1-tile runway in the other room, this has a 2-frame window to jump before the transition." ] @@ -889,6 +931,7 @@ "canMomentumConservingMorph" ]} ], + "flashSuitChecked": true, "note": [ "Jump through the door in the previous room, and perform an air ball soon after entering.", "With a last-frame jump through the door, there is a wide timing window to do the air ball.", @@ -934,6 +977,7 @@ "requires": [ "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": [ "Gain run speed using a platform below the door in the other room.", "Jump through the door, carrying upward momentum into this room." @@ -957,6 +1001,7 @@ "canCrossRoomJumpIntoWater", "canTrickyJump" ], + "flashSuitChecked": true, "devNote": "FIXME: with this and several other cross-room strats, it would be possible to leave with temporary blue, if we had a way to encode the requirement to come in blue." }, { @@ -973,7 +1018,8 @@ }, "requires": [ "canGrappleJump" - ] + ], + "flashSuitChecked": true }, { "id": 54, @@ -985,8 +1031,10 @@ } }, "requires": [ - "canPreciseGrappleJump" - ] + "canPreciseGrappleJump", + "h_trickyToCarryFlashSuit" + ], + "flashSuitChecked": true }, { "id": 55, @@ -1020,6 +1068,7 @@ "requires": [ "canTrickyGrappleJump" ], + "flashSuitChecked": false, "devNote": [ "Coming from Grapple Tutorial Room 2 does not work (with or without HiJump), as it's not possible to gain enough horizontal speed." ] @@ -1075,7 +1124,8 @@ "id": 32, "link": [2, 1], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 24, @@ -1087,7 +1137,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 25, @@ -1104,7 +1155,8 @@ "blockPositions": [[2, 18]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 26, @@ -1121,7 +1173,8 @@ "blockPositions": [[2, 19]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 27, @@ -1138,7 +1191,8 @@ "blockPositions": [[2, 28]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 28, @@ -1155,7 +1209,8 @@ "blockPositions": [[2, 29]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 29, @@ -1167,7 +1222,8 @@ "length": 6, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 30, @@ -1188,6 +1244,7 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, + "flashSuitChecked": true, "devNote": "This may be possible without destroying the turrets, but it might be unreliable or need other requirements." }, { diff --git a/region/maridia/inner-pink/East Aqueduct Quicksand Room.json b/region/maridia/inner-pink/East Aqueduct Quicksand Room.json index 291f05f3aa..d4dcabc21d 100644 --- a/region/maridia/inner-pink/East Aqueduct Quicksand Room.json +++ b/region/maridia/inner-pink/East Aqueduct Quicksand Room.json @@ -86,7 +86,8 @@ "id": 3, "link": [1, 2], "name": "Base", - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 4, @@ -137,15 +138,6 @@ }, "flashSuitChecked": true, "note": "Samus will fall quickly. Fall through the room slightly left of center to avoid the Bulls." - }, - { - "id": 6, - "link": [2, 2], - "name": "Leave Normally", - "requires": [], - "exitCondition": { - "leaveNormally": {} - } } ], "notables": [], diff --git a/region/maridia/inner-pink/East Cactus Alley.json b/region/maridia/inner-pink/East Cactus Alley.json index f710cf8abb..9692bd21ff 100644 --- a/region/maridia/inner-pink/East Cactus Alley.json +++ b/region/maridia/inner-pink/East Cactus Alley.json @@ -167,7 +167,8 @@ "length": 5, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 2, @@ -258,7 +259,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Cacatac", "count": 1}] + "farmCycleDrops": [{"enemy": "Cacatac", "count": 1}], + "flashSuitChecked": true }, { "id": 68, @@ -354,7 +356,7 @@ "link": [1, 3], "name": "Base", "requires": [], - "note": "Doesn't require anything, but getting out does." + "flashSuitChecked": true }, { "id": 6, @@ -514,7 +516,8 @@ "blockPositions": [[5, 3], [7, 2]] } }, - "requires": [] + "requires": [], + "flashSuitChecked": true }, { "id": 10, @@ -526,7 +529,8 @@ } }, "requires": [], - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 11, @@ -543,7 +547,8 @@ "blockPositions": [[3, 12]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 12, @@ -560,7 +565,8 @@ "blockPositions": [[3, 13]] } }, - "bypassesDoorShell": true + "bypassesDoorShell": true, + "flashSuitChecked": true }, { "id": 13, @@ -592,7 +598,8 @@ "length": 3, "openEnd": 1 } - } + }, + "flashSuitChecked": true }, { "id": 15, @@ -614,7 +621,8 @@ "openEnd": 1 } } - } + }, + "flashSuitChecked": true }, { "id": 16, @@ -680,7 +688,8 @@ ]} ]} ], - "farmCycleDrops": [{"enemy": "Cacatac", "count": 2}] + "farmCycleDrops": [{"enemy": "Cacatac", "count": 2}], + "flashSuitChecked": true }, { "id": 17, @@ -725,7 +734,8 @@ "canWalljump", "h_IBJFromSpikes" ]} - ] + ], + "flashSuitChecked": true }, { "id": 78, @@ -739,6 +749,7 @@ "canJumpIntoIBJ" ]} ], + "flashSuitChecked": true, "note": "Perform an HBJ at the top of an IBJ. This is basically a very short diagonal bomb jump." }, { @@ -784,15 +795,16 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ - "Use SpaceJump to break out of the water.", + "Use Space Jump to break out of the water.", "Afterward, it's easiest to use a wall jump to gain height but this is not required." ] }, { "id": 22, "link": [2, 4], - "name": "Suitless HiJump SpringBall Jump", + "name": "Suitless Hi-Jump Spring Ball Jump", "requires": [ "canSuitlessMaridia", "HiJump", @@ -805,6 +817,7 @@ ]} ]} ], + "flashSuitChecked": true, "note": [ "SpringBall jump just as Samus exits the water to reach the distant ledge.", "To get enough horizontal distance, either use a Stationary Lateral Mid-Air Morph with a crouch jump for extra height, or spin jump out before morphing.", @@ -851,6 +864,7 @@ "HiJump", "canTrickyDashJump" ], + "flashSuitChecked": true, "note": [ "The in-room runway with the door closed works but is somewhat precise.", "With the door open the jump is easier, but only use a small portion of the runway that was occupied by the door." @@ -876,6 +890,7 @@ {"spikeHits": 1} ]} ], + "flashSuitChecked": true, "note": [ "Take a spike hit and pause just after getting hit. Quickly crouch and jump just before the fade out ends.", "With a precise Gravity jump, it is possible to not need a crouch jump or down grab." @@ -919,6 +934,7 @@ ]}, "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": "Requires a runway of at least 1 tile in the adjacent room, although it is easier with more." }, { @@ -940,6 +956,7 @@ "canTrickyJump" ], "wallJumpAvoid": true, + "flashSuitChecked": true, "note": [ "Requires a runway of at least 1 tiles in the adjacent room, although it is easier with more.", "Start the IBJ as far left as possible. The furthest right is just right of the waterfall.", @@ -966,6 +983,7 @@ ]}, "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": "Requires a runway of at least 1 tile in the adjacent room, although it is easier with more." }, { @@ -982,6 +1000,7 @@ "HiJump", "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": "This assumes a runway of at least 2 tiles in the adjacent room, although it is easier with more." }, { @@ -1001,6 +1020,7 @@ ]} ], "wallJumpAvoid": true, + "flashSuitChecked": true, "note": "Use the bomb boost as Samus is going through the doorway, then spring ball after breaking the water, then IBJ or use an unmorph bomb boost.", "devNote": [ "This strat requires a minimum of 2 bombs or Power Bombs.", @@ -1024,6 +1044,7 @@ "canCrossRoomJumpIntoWater", "canTrickyDashJump" ], + "flashSuitChecked": true, "note": [ "Requires a runway of 7 tiles with no open end in the adjacent room, to hit a peak of the speed vs height graph." ] @@ -1031,7 +1052,7 @@ { "id": 32, "link": [2, 4], - "name": "Cross Room Jump with SpeedBooster", + "name": "Cross Room Jump with Speed Booster", "entranceCondition": { "comeInJumping": { "speedBooster": true, @@ -1042,12 +1063,13 @@ "canCrossRoomJumpIntoWater", "canTrickyJump" ], + "flashSuitChecked": true, "note": ["Requires a runway of at least 17 tiles in the adjacent room."] }, { "id": 33, "link": [2, 4], - "name": "Cross Room Jump with SpeedBooster (Lenient)", + "name": "Cross Room Jump with Speed Booster (Lenient)", "entranceCondition": { "comeInJumping": { "speedBooster": true, @@ -1057,6 +1079,7 @@ "requires": [ "canCrossRoomJumpIntoWater" ], + "flashSuitChecked": true, "note": ["Assumes a runway of at least 18 tiles in the adjacent room."] }, { @@ -1199,7 +1222,8 @@ }, "requires": [ "canCrossRoomJumpIntoWater" - ] + ], + "flashSuitChecked": true }, { "id": 34, @@ -1229,6 +1253,7 @@ "canUnderwaterWalljumpBreakFree", {"spikeHits": 2} ], + "flashSuitChecked": true, "devNote": "Two spike hits for leniency." }, { @@ -1238,7 +1263,8 @@ "requires": [ {"useFlashSuit": {}}, {"shinespark": {"frames": 18, "excessFrames": 7}} - ] + ], + "flashSuitChecked": true }, { "id": 69, @@ -1255,7 +1281,8 @@ }, "requires": [ "canPreciseGrappleJump" - ] + ], + "flashSuitChecked": true }, { "id": 70, @@ -1279,7 +1306,8 @@ }, "requires": [ "canTrickyGrappleJump" - ] + ], + "flashSuitChecked": false }, { "id": 71, @@ -1299,7 +1327,8 @@ "canBombHorizontally" ]} ]} - ] + ], + "flashSuitChecked": false }, { "id": 35, @@ -1308,7 +1337,8 @@ "requires": [ "Gravity", "SpaceJump" - ] + ], + "flashSuitChecked": true }, { "id": 36, @@ -1326,12 +1356,13 @@ "canWalljump" ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 37, "link": [3, 1], - "name": "Gravity and Springball", + "name": "Gravity and Spring Ball", "requires": [ "Gravity", {"or": [ @@ -1341,7 +1372,8 @@ "canSpringBallJumpMidAir" ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 38, @@ -1353,6 +1385,7 @@ "SpeedBooster", "canCarefulJump" ], + "flashSuitChecked": true, "note": "Jump from the raised alcove. A down grab can help." }, { @@ -1372,12 +1405,13 @@ "canBombHorizontally", "h_IBJFromSpikes" ]} - ] + ], + "flashSuitChecked": true }, { "id": 40, "link": [3, 1], - "name": "HiJump Walljump", + "name": "Hi-Jump Wall Jump", "requires": [ "canSuitlessMaridia", "HiJump", @@ -1390,7 +1424,8 @@ "canConsecutiveWalljump", "canTrickyWalljump" ]} - ] + ], + "flashSuitChecked": true }, { "id": 41, @@ -1405,7 +1440,8 @@ "canWalljump" ]} ]} - ] + ], + "flashSuitChecked": true }, { "id": 67, @@ -1416,6 +1452,7 @@ "canSpaceJumpWaterBounce", "canWalljump" ], + "flashSuitChecked": true, "note": [ "With Space Jump alone, it is possible to jump to the water line and bounce on the surface.", "This requires a moderately precise Space Jump to start the Space Jump and then a wall jump to escape the water." @@ -1424,7 +1461,7 @@ { "id": 42, "link": [3, 1], - "name": "Suitless Springball", + "name": "Suitless Spring Ball", "requires": [ "canSuitlessMaridia", "HiJump", @@ -1434,6 +1471,7 @@ "canFlatleyJump" ]} ], + "flashSuitChecked": true, "note": [ "1) Start the jump from the raised alcove, standing on the edge facing right.", "2) Turn-around spin jump to get the necessary horizontal speed to reach the upper ledge.", diff --git a/schema/m3-room.schema.json b/schema/m3-room.schema.json index bad5e662d2..146bb0f5a7 100644 --- a/schema/m3-room.schema.json +++ b/schema/m3-room.schema.json @@ -356,6 +356,20 @@ } } }, + "comeInStutterGettingBlueSpeed": { + "type": "object", + "title": "Come In Stutter Getting Blue Speed", + "description": "Represents that Samus must run through this door with SpeedBooster equipped, immediately after stuttering in the previous room (which must have normal physics). This can be used to get blue speed.", + "required": ["minTiles"], + "additionalProperties": false, + "properties": { + "minTiles": { + "type": "number", + "title": "Minimum Speed in Tiles", + "description": "The minimum amount of effective runway tiles in other room needed for this strat." + } + } + }, "comeInWithBombBoost": { "type": "object", "title": "Come In With Bomb Boost", @@ -916,6 +930,7 @@ {"required": ["comeInWithSpark"]}, {"required": ["comeInWithBombBoost"]}, {"required": ["comeInStutterShinecharging"]}, + {"required": ["comeInStutterGettingBlueSpeed"]}, {"required": ["comeInWithDoorStuckSetup"]}, {"required": ["comeInSpeedballing"]}, {"required": ["comeInWithTemporaryBlue"]}, diff --git a/strats.md b/strats.md index 14c30c6707..cb0a752428 100644 --- a/strats.md +++ b/strats.md @@ -1018,6 +1018,29 @@ A `comeInStutterShinecharging` condition must match with a `leaveWithRunway` con } ``` +### Come In Stutter Getting Blue Speed + +A `comeInStutterGettingBlueSpeed` entrance condition indicates that Samus must run into the room with SpeedBooster equipped, with a stutter immediately before the transition. This is used when entering a water room in order to obtain blue speed in a shorter amount of space than would otherwise be possible. It has the following property: +- _minTiles_: The minimum amount of effective runway tiles in other room needed for this strat. + +A `comeInStutterGettingBlueSpeed` condition must match with a `leaveWithRunway` condition on the other side of the door, which must have an "air" environment and an effective length of at least `minTiles`. A match comes with the following implicit requirements for actions to be performed in the previous room: +- The `SpeedBooster` item. +- The tech requirement `{"tech": "canStutterWaterShineCharge"}`. Note that this allows retaining a flash suit. +- If the previous room is heated, then heat frame requirements are included based on `minTiles`, in the same way as for a `comeInRunning` requirement. + +#### Example +```json +{ + "name": "Come In Stutter Getting Blue Speed", + "entranceCondition": { + "comeInStutterGettingBlueSpeed": { + "minTiles": 2 + } + }, + "requires": [] +} +``` + ### Come In With Bomb Boost A `comeInWithBombBoost` entrance condition indicates that Samus must come into the room with a horizontal bomb boost. This object has no properties.