From 4f65b4263277c48be5e9c688feb2475d1d8d7ef1 Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Sun, 5 Apr 2026 14:41:03 -0600 Subject: [PATCH 1/4] Rest of Yellow Maridia (Watering Hole, etc.): blue suit logic --- .../inner-yellow/Plasma Spark Room.json | 266 +++++++++++++----- .../inner-yellow/Plasma Tutorial Room.json | 97 +++++-- region/maridia/inner-yellow/The Beach.json | 137 +++++++-- .../inner-yellow/Thread The Needle Room.json | 119 ++++++-- .../maridia/inner-yellow/Watering Hole.json | 115 ++++++-- region/maridia/inner-yellow/Yoink Room.json | 266 +++++++++++++----- 6 files changed, 747 insertions(+), 253 deletions(-) diff --git a/region/maridia/inner-yellow/Plasma Spark Room.json b/region/maridia/inner-yellow/Plasma Spark Room.json index 071f795b1..a31b61bcc 100644 --- a/region/maridia/inner-yellow/Plasma Spark Room.json +++ b/region/maridia/inner-yellow/Plasma Spark Room.json @@ -186,6 +186,7 @@ {"shinespark": {"frames": 6, "excessFrames": 6}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Enter on the right side of the doorway to reduce the amount of energy used.", "devNote": "This strat is not useful in-room, but can satisfy a strat in the room before with an exit shinespark." }, @@ -213,6 +214,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain a shinecharge by running right-to-left on the long runway at the bottom of the room." ], @@ -226,6 +228,10 @@ "name": "Choot Farm (Single Choot)", "requires": [ {"resetRoom": {"nodes": [1]}}, + {"or": [ + "canDash", + {"cycleFrames": 10} + ]}, {"or": [ {"and": [ "Grapple", @@ -243,7 +249,10 @@ {"cycleFrames": 160} ]}, {"and": [ - "ScrewAttack", + {"or": [ + "ScrewAttack", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 170} ]}, {"and": [ @@ -255,7 +264,8 @@ ], "resetsObstacles": ["R-Mode"], "farmCycleDrops": [{"enemy": "Choot", "count": 1}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 95, @@ -263,6 +273,10 @@ "name": "Choot Farm (3 Choots)", "requires": [ {"resetRoom": {"nodes": [1]}}, + {"or": [ + "canDash", + {"cycleFrames": 120} + ]}, {"or": [ "canWalljump", "HiJump", @@ -292,7 +306,10 @@ {"cycleFrames": 750} ]}, {"and": [ - "ScrewAttack", + {"or": [ + "ScrewAttack", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 820} ]}, {"and": [ @@ -308,7 +325,8 @@ ], "resetsObstacles": ["R-Mode"], "farmCycleDrops": [{"enemy": "Choot", "count": 3}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 3, @@ -318,7 +336,8 @@ "h_CrystalFlash", {"obstaclesNotCleared": ["R-Mode"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 97, @@ -338,12 +357,13 @@ "link": [1, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 98, "link": [1, 2], - "name": "Direct G-mode Morph, Crystal Flash Interrupt", + "name": "Direct G-Mode Morph, Crystal Flash Interrupt", "entranceCondition": { "comeInWithGMode": { "mode": "direct", @@ -369,6 +389,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -401,7 +422,8 @@ "Gravity" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -428,7 +450,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 7, @@ -460,17 +483,19 @@ {"shinespark": {"frames": 37, "excessFrames": 10}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Spark vertically to avoid hitting the right ledge." }, { "id": 67, "link": [1, 5], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"shinespark": {"frames": 33, "excessFrames": 14}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 8, @@ -505,7 +530,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 9, @@ -525,7 +551,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 10, @@ -541,7 +568,8 @@ "canWalljump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 11, @@ -554,7 +582,8 @@ "canTrickyUseFrozenEnemies", "h_underwaterCrouchJumpDownGrab" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 12, @@ -574,6 +603,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Start the dash close to the door to help avoid getting hit by the first Owtch.", "Spark up while on the right side of the platform. To avoid the Owtch on the platform, it may help to jump on the left side of the platform then jump again and spark midair above the right side." @@ -614,6 +644,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Start the dash as close to the door transition as possible to help avoid getting hit by the first Owtch. Store the shine charge while high up on the left slope.", "Spark up while on the right side of the platform. To avoid the Owtch on the platform, it may help to jump on the left side of the platform then jump again and spark midair above the right side." @@ -630,14 +661,15 @@ "canTrickyJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Gravity jump out of the water then perform a precise crouch jump + down grab to get onto the next ledge." }, { "id": 68, "link": [2, 1], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"or": [ {"shinespark": {"frames": 72, "excessFrames": 49}}, {"and": [ @@ -661,6 +693,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "With HiJump, jump left and spark up right while against the left wall to save Energy.", "With Ice, wait for the Skultera and use it save a small amount of Energy.", @@ -699,7 +732,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 15, @@ -717,7 +751,8 @@ "startingGentleDownTiles": 2 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 85, @@ -746,7 +781,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 86, @@ -772,6 +808,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["Start with low run speed by positioning exactly 2 pixels from the door."] }, { @@ -804,6 +841,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": 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." ] @@ -835,6 +873,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": 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.", @@ -870,6 +909,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": 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.", @@ -906,6 +946,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": 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.", @@ -949,6 +990,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": 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.", @@ -990,6 +1032,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": 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.", @@ -1041,6 +1084,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Start with low run speed by positioning exactly 2 pixels from the door.", "Use X-ray to turn around, and chain temporary blue back to the door." @@ -1058,7 +1102,10 @@ "canSuitlessMaridia", {"or": [ {"and": [ - "Plasma", + {"or": [ + "Plasma", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 1660} ]}, {"and": [ @@ -1074,6 +1121,7 @@ ], "farmCycleDrops": [{"enemy": "Skultera", "count": 2}], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "With Gravity the Choot farm would be used instead.", "FIXME: The Owtches could also be farmed, though they are not worth much." @@ -1087,7 +1135,8 @@ "h_CrystalFlash", {"obstaclesNotCleared": ["R-Mode"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [2, 2], @@ -1150,6 +1199,7 @@ ], "resetsObstacles": ["R-Mode"], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -1203,7 +1253,7 @@ { "id": 101, "link": [2, 2], - "name": "Direct G-mode Morph, Crystal Flash Interrupt", + "name": "Direct G-Mode Morph, Crystal Flash Interrupt", "entranceCondition": { "comeInWithGMode": { "mode": "direct", @@ -1231,6 +1281,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -1257,7 +1308,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 18, @@ -1273,6 +1325,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Wall jump when the water is low or crouch jump + down grab when it is high." }, { @@ -1295,6 +1348,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use the Skultera to get onto the top right platform. There are two distinct ways to get up using the top Skultera.", "1. Freeze it at the bottom of its path to the left. Crouch jump and down grab to get onto it. The positioning is very precise.", @@ -1305,12 +1359,14 @@ { "id": 69, "link": [2, 3], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", + "h_underwaterCrouchJump", {"shinespark": {"frames": 7, "excessFrames": 4}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is possible to climb to the highest underwater platform before sparking with a crouch jump and down grab.", "To crouch without using the shinespark, simply hold shoot while jumping." @@ -1331,6 +1387,7 @@ "canLongXRayClimb" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Climb up 2 screens." }, { @@ -1347,6 +1404,7 @@ "canLongXRayClimb" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Climb up 2 screens." }, { @@ -1365,6 +1423,7 @@ ], "bypassesDoorShell": "yes", "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Enter with G-mode direct, back up to between 1 and 6 pixels from the door transition, and activate X-ray to get very deep stuck in the door.", "Climb up 2 screens, and perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door." @@ -1402,6 +1461,7 @@ {"shinespark": {"frames": 43, "excessFrames": 3}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain a shinecharge by running right-to-left on the underwater runway on the right side of the room.", "Use HiJump or a Spring Ball jump to quickly exit the water to the left and spark up." @@ -1433,14 +1493,15 @@ ]}, "h_artificialMorphLongIBJ" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 70, "link": [2, 5], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"or": [ {"shinespark": {"frames": 72, "excessFrames": 14}}, {"and": [ @@ -1449,7 +1510,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 25, @@ -1494,7 +1556,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 26, @@ -1517,6 +1580,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Start the dash close to the door to help avoid getting hit by the first Owtch.", "Spark up while on the right side of the platform. To avoid the Owtch on the platform, it may help to jump on the left side of the platform then jump again and spark midair above the right side.", @@ -1539,6 +1603,7 @@ {"shinespark": {"frames": 90, "excessFrames": 11}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Start the dash as close to the door transition as possible to help avoid getting hit by the first Owtch. Store the shine charge while high up on the left slope.", "Spark up while on the right side of the platform. To avoid the Owtch on the platform, it may help to jump on the left side of the platform then jump again and spark midair above the right side." @@ -1553,12 +1618,13 @@ "link": [3, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 102, "link": [3, 2], - "name": "Direct G-mode Morph, Crystal Flash Interrupt", + "name": "Direct G-Mode Morph, Crystal Flash Interrupt", "entranceCondition": { "comeInWithGMode": { "mode": "direct", @@ -1579,6 +1645,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -1603,7 +1670,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 30, @@ -1632,6 +1700,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain a shinecharge by running right-to-left on the underwater runway on the right side of the room.", "Perform quick ledge-grabs to reach the platform in front of the door in time to spark out." @@ -1665,6 +1734,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain a shinecharge by running right-to-left on the underwater runway on the right side of the room." ], @@ -1691,6 +1761,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain a shinecharge by running right-to-left on the long runway at the bottom of the room." ] @@ -1710,7 +1781,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 33, @@ -1729,7 +1801,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 34, @@ -1749,7 +1822,8 @@ "movementType": "uncontrolled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 35, @@ -1764,7 +1838,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 36, @@ -1826,6 +1901,7 @@ {"cycleFrames": 390} ]}, {"and": [ + "canDash", "ScrewAttack", "canDodgeWhileShooting", {"cycleFrames": 500} @@ -1835,7 +1911,8 @@ ], "resetsObstacles": ["R-Mode"], "farmCycleDrops": [{"enemy": "Choot", "count": 2}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 37, @@ -1845,7 +1922,8 @@ "h_CrystalFlash", {"obstaclesNotCleared": ["R-Mode"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [3, 3], @@ -1886,7 +1964,8 @@ "canLongIBJ" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 39, @@ -1897,7 +1976,8 @@ "HiJump", "canWalljump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 40, @@ -1910,7 +1990,8 @@ "canTrickyJump", "canSpringBallJumpMidAir" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 41, @@ -1923,7 +2004,8 @@ "canUnmorphBombBoost", "h_complexToCarryFlashSuit" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 79, @@ -1939,6 +2021,7 @@ ], "wallJumpAvoid": true, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the island Choot when it is at the far left of its second-highest swoop.", "Run right-to-left on it and perform a last-frame jump into a max-height spring ball jump.", @@ -1970,6 +2053,7 @@ "canTrickySpringBallJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run into the room, pressing pause immediately when entering.", "Jump into a mid-air spring ball jump to reach the ledge above.", @@ -1993,6 +2077,7 @@ "canTrickySpringBallJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run into the room, pressing pause immediately when entering.", "Jump into a mid-air spring ball jump to reach the ledge above.", @@ -2023,6 +2108,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run into the room, pressing pause immediately when entering.", "Jump into a mid-air spring ball jump to reach the ledge above.", @@ -2045,6 +2131,7 @@ {"shinespark": {"frames": 30, "excessFrames": 3}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Shinespark from the left side of the water, or the very edge of the land.", "It helps to face right before Shinesparking." @@ -2071,6 +2158,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Shinespark from the left side of the water, or the very edge of the land.", "It helps to face right before Shinesparking." @@ -2079,9 +2167,9 @@ { "id": 71, "link": [3, 4], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"or": [ {"shinespark": {"frames": 30, "excessFrames": 2}}, {"and": [ @@ -2100,6 +2188,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Spark vertically above the leftmost water tile. It is possible to use a frozen Choot to save Energy." }, { @@ -2115,7 +2204,8 @@ "requires": [ "h_artificialMorphLongIBJ" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 47, @@ -2129,7 +2219,8 @@ ]}, {"enemyDamage": {"enemy": "Choot", "type": "contact", "hits": 1}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 48, @@ -2160,7 +2251,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 49, @@ -2184,6 +2276,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Shoot the Choot either before landing or from the safety of the ledge edge.", "If bomb jumping, there is a timing for rolling under the Choot." @@ -2213,6 +2306,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "To avoid damage, the Choot can be killed and then Samus can climb back up again.", "devNote": "Missile kill strats could fit here with a reclimb or by landing on the ledge, with the same requirements." }, @@ -2233,6 +2327,7 @@ "canTrickySpringBallJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run into the room, pressing pause immediately when entering.", "Jump into a mid-air spring ball jump to reach the top ledge above;", @@ -2256,6 +2351,7 @@ {"shinespark": {"frames": 49, "excessFrames": 1}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Shinespark from the tile to the right of the Choot.", "It helps to face right before shinesparking." @@ -2277,6 +2373,7 @@ {"shinespark": {"frames": 49, "excessFrames": 1}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Shinespark from the tile to the right of the Choot.", "It helps to face right before shinesparking." @@ -2285,7 +2382,7 @@ { "id": 72, "link": [3, 5], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ {"useFlashSuit": {}}, {"or": [ @@ -2306,6 +2403,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "It is possible to use a frozen Choot to save Energy." }, { @@ -2343,7 +2441,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 54, @@ -2357,6 +2456,7 @@ "canLongXRayClimb" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Climb up 2 screens plus 2 tiles, to enter a normally inaccessible area behind the top right door, containing a copy of the bottom half of Kassiuz Room.", "There is a blue door on the other side of the top right door.", @@ -2371,7 +2471,7 @@ { "id": 104, "link": [4, 2], - "name": "Direct G-mode Morph, Crystal Flash Interrupt", + "name": "Direct G-Mode Morph, Crystal Flash Interrupt", "entranceCondition": { "comeInWithGMode": { "mode": "direct", @@ -2392,6 +2492,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -2410,7 +2511,8 @@ "link": [4, 3], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 80, @@ -2433,7 +2535,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 81, @@ -2455,7 +2558,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 56, @@ -2468,7 +2572,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 57, @@ -2478,7 +2583,8 @@ "h_CrystalFlash", {"obstaclesNotCleared": ["R-Mode"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [4, 4], @@ -2519,6 +2625,7 @@ "canTrickyJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Bomb horizontally, then use spring ball to jump around the overhang.", "Either quickly kill the Choot or land on the left pixel to avoid a hit.", @@ -2540,6 +2647,7 @@ "canInsaneJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Jump on the last possible frame, and get around the ledge while remaining in spin.", "If at least 23 runway tiles are available, then a momentum conserving turnaround can be used to make the jump more lenient." @@ -2565,6 +2673,7 @@ "h_useSpringBall" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Come in rolling with high speed, and use Spring Ball to jump around the ledge." ], @@ -2583,6 +2692,7 @@ "canXRayClimb" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Climb less than 1 screen." }, { @@ -2598,6 +2708,7 @@ {"shinespark": {"frames": 13, "excessFrames": 1}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "A diagonal spark may take damage from the Choot", "It helps to face right before Shinesparking." @@ -2618,6 +2729,7 @@ {"shinespark": {"frames": 13, "excessFrames": 1}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "A diagonal spark may take damage from the Choot", "It helps to face right before Shinesparking." @@ -2626,12 +2738,13 @@ { "id": 73, "link": [4, 5], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"shinespark": {"frames": 12, "excessFrames": 1}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 62, @@ -2655,6 +2768,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "IBJ from below or bomb horizontally, then use Spring Ball with HiJump to jump around the overhang while avoiding the upper Choot." }, { @@ -2662,14 +2776,16 @@ "link": [5, 1], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 64, "link": [5, 3], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 65, @@ -2678,14 +2794,15 @@ "requires": [ "canPreciseWalljump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 66, "link": [5, 4], - "name": "SpringFling into Top Right Door", + "name": "Spring Fling into Top Right Door", "requires": [ - {"notable": "SpringFling into Top Right Door"}, + {"notable": "Spring Fling into Top Right Door"}, "canInsaneJump", "canSpringFling", "canResetFallSpeed", @@ -2693,6 +2810,7 @@ ], "wallJumpAvoid": true, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Roll off the above ledge and use both the vertical speed resets from first (un)equipping SpringBall and then by unmorphing in order to reach the door.", "Pause shortly after rolling off the ledge, after falling for 1 tile. The timing is very precise.", @@ -2702,20 +2820,21 @@ { "id": 74, "link": [5, 4], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"shinespark": {"frames": 2, "excessFrames": 1}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 75, "link": [5, 4], - "name": "Use Flash Suit, Spark Through the Door", + "name": "Use Stored Spark, Leave With Spark", "requires": [ "canHeroShot", - {"useFlashSuit": {}}, + "h_storedSpark", {"shinespark": {"frames": 17, "excessFrames": 0}} ], "exitCondition": { @@ -2725,7 +2844,8 @@ {"types": ["super", "powerbomb"], "requires": []}, {"types": ["missiles"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [ @@ -2750,7 +2870,7 @@ }, { "id": 3, - "name": "SpringFling into Top Right Door", + "name": "Spring Fling into Top Right Door", "wallJumpAvoid": true, "note": [ "Roll off the above ledge and use both the vertical speed resets from first (un)equipping SpringBall and then by unmorphing in order to reach the door.", diff --git a/region/maridia/inner-yellow/Plasma Tutorial Room.json b/region/maridia/inner-yellow/Plasma Tutorial Room.json index ccd533de1..ae8e88567 100644 --- a/region/maridia/inner-yellow/Plasma Tutorial Room.json +++ b/region/maridia/inner-yellow/Plasma Tutorial Room.json @@ -57,7 +57,8 @@ "openEnd": 0 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -73,7 +74,8 @@ } }, "unlocksDoors": [{"nodeId": 2, "types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 3, @@ -93,7 +95,10 @@ {"cycleFrames": 85} ]}, {"and": [ - "ScrewAttack", + {"or": [ + "ScrewAttack", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 90} ]}, {"and": [ @@ -113,6 +118,7 @@ ], "farmCycleDrops": [{"enemy": "Puyo", "count": 6}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It helps to crouch and use angle-down shots, to hit many or all of the Puyos at once;", "this works best from the right side." @@ -125,7 +131,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [1, 1], @@ -184,6 +191,7 @@ } ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It takes between 1-2 minutes for the Puyos to wake up and get to the doorway." ] @@ -198,6 +206,7 @@ ], "gModeRegainMobility": {}, "flashSuitChecked": true, + "blueSuitChecked": true, "note": "It takes between 1-2 minutes for the Puyos to wake up and get to the doorway." }, { @@ -205,7 +214,8 @@ "link": [1, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 8, @@ -227,7 +237,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 9, @@ -252,7 +263,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 33, @@ -272,7 +284,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 10, @@ -293,7 +306,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 11, @@ -312,7 +326,8 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 12, @@ -333,7 +348,8 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 13, @@ -346,7 +362,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 14, @@ -364,7 +381,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 15, @@ -382,7 +400,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 16, @@ -403,7 +422,8 @@ {"types": ["missiles", "super"], "requires": []}, {"types": ["powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 17, @@ -424,14 +444,16 @@ {"types": ["missiles", "super"], "requires": []}, {"types": ["powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 18, "link": [2, 1], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 19, @@ -453,7 +475,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 20, @@ -477,7 +500,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 34, @@ -503,7 +527,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 21, @@ -523,7 +548,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 22, @@ -542,7 +568,8 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 23, @@ -563,7 +590,8 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 24, @@ -584,7 +612,8 @@ {"types": ["missiles", "super"], "requires": []}, {"types": ["powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 25, @@ -605,7 +634,8 @@ {"types": ["missiles", "super"], "requires": []}, {"types": ["powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 26, @@ -618,7 +648,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 27, @@ -636,7 +667,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 28, @@ -654,7 +686,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 29, @@ -667,7 +700,8 @@ "openEnd": 0 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 30, @@ -683,7 +717,8 @@ } }, "unlocksDoors": [{"nodeId": 1, "types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [2, 2], @@ -726,6 +761,7 @@ } ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It takes approximately 3 minutes for the Puyos to wake up and get to the doorway." ] @@ -740,6 +776,7 @@ ], "gModeRegainMobility": {}, "flashSuitChecked": true, + "blueSuitChecked": true, "note": "It takes approximately 3 minutes for the Puyos to wake up and get to the doorway." } ], diff --git a/region/maridia/inner-yellow/The Beach.json b/region/maridia/inner-yellow/The Beach.json index 3b31fa865..2c12d0c34 100644 --- a/region/maridia/inner-yellow/The Beach.json +++ b/region/maridia/inner-yellow/The Beach.json @@ -102,7 +102,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -119,7 +120,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 3, @@ -139,6 +141,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Use either the island platform or the ledge to the right of it, depending on the run speed needed." }, { @@ -159,7 +162,8 @@ "minExtraRunSpeed": "$2.8" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 5, @@ -180,7 +184,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -202,7 +207,8 @@ "movementType": "uncontrolled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 7, @@ -224,7 +230,8 @@ "movementType": "controlled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 8, @@ -239,7 +246,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 9, @@ -266,6 +274,7 @@ "leaveWithTemporaryBlue": {} }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["Destroy the Owtch using blue speed."] }, { @@ -285,6 +294,10 @@ {"cycleFrames": 130} ]} ]}, + {"or": [ + "canDash", + {"cycleFrames": 200} + ]}, {"or": [ {"and": [ "Plasma", @@ -311,6 +324,7 @@ ], "farmCycleDrops": [{"enemy": "Choot", "count": 5}], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "There is a sixth Choot on the far right but it's not worth going for.", "FIXME: add other movement options for reaching the top of the room from node 2.", @@ -324,7 +338,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [1, 1], @@ -368,6 +383,7 @@ ], "collectsItems": [3], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Avoid moving too much between the right of the Owtch and the item to avoid overloading PLMs until after touching the item." }, { @@ -416,7 +432,8 @@ } }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 71, @@ -439,6 +456,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -455,7 +473,7 @@ { "id": 72, "link": [1, 2], - "name": "Direct G-mode Morph, Crystal Flash Interrupt", + "name": "Direct G-Mode Morph, Crystal Flash Interrupt", "entranceCondition": { "comeInWithGMode": { "mode": "direct", @@ -476,6 +494,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -494,7 +513,8 @@ "link": [1, 4], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 15, @@ -509,6 +529,7 @@ {"shinespark": {"frames": 40, "excessFrames": 18}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Spark diagonally from the right side of the doorway.", "devNote": [ "It is possible to spark through the doorway, but diagonal sparks are not supported.", @@ -528,6 +549,7 @@ {"shinespark": {"frames": 40, "excessFrames": 18}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "Entering through Toilet will center Samus horizontally, making a few more shinecharge frames required", "It possible to end spark earlier by precisely bonking the island in the center, but the Energy savings do not seem too important since you can farm Choots afterward." @@ -556,6 +578,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Finish shinecharging on the raised plateau, then quickly climb up to the left door." }, { @@ -581,6 +604,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Finish shinecharging on the raised plateau, then quickly climb up to the left door." }, { @@ -606,6 +630,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Finish shinecharging on the raised plateau, then climb up and spark out the left door." }, { @@ -631,6 +656,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Finish shinecharging on the raised plateau, then quickly climb up to the left door." }, { @@ -656,6 +682,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Shortcharge from right to left while finishing in the plants to the right of the raised plateau, then tricky dash jump up to the left door." }, { @@ -678,6 +705,7 @@ "canInsaneJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Using Speed Booster in the room below and the full length of the runway (starting with Samus hanging over the edge as far as possible), run and jump precisely to make it through without bonking the door frame.", "Break spin before the transition to expand Samus' hitbox and trigger the transition earlier, retaining more speed and also making it easier to avoid bonking.", @@ -705,6 +733,7 @@ "canInsaneJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Using Speed Booster in the room below, start running at a precise position to be able to jump during a spike in the speed-to-jumpHeight chart.", "Break spin before the transition to expand Samus' hitbox and trigger the transition early, retaining more speed and also making it easier to avoid bonking.", @@ -738,12 +767,13 @@ ]} ], "collectsItems": [3], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 26, "link": [2, 2], - "name": "Shinecharge Out Bottom", + "name": "Leave Shinecharged", "requires": [ "Gravity", "h_shinechargeMaxRunway", @@ -752,7 +782,8 @@ "exitCondition": { "leaveShinecharged": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 27, @@ -766,6 +797,7 @@ ], "bypassesDoorShell": "yes", "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the two Skullteras 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.", @@ -785,6 +817,7 @@ {"shinespark": {"frames": 7, "excessFrames": 7}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "This strat is not useful in-room, but can satisfy a strat in the room before with an exit shinespark." }, { @@ -841,6 +874,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["Destroy the Owtch using blue speed."] }, { @@ -852,7 +886,10 @@ "canSuitlessMaridia", {"or": [ {"and": [ - "Plasma", + {"or": [ + "Plasma", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 360} ]}, {"and": [ @@ -872,6 +909,7 @@ ], "farmCycleDrops": [{"enemy": "Skultera", "count": 2}], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "If Gravity is available, the Choot farm at the top of the room would be used instead." ] @@ -883,7 +921,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [2, 2], @@ -918,6 +957,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -934,7 +974,7 @@ { "id": 74, "link": [2, 2], - "name": "Direct G-mode Morph, Crystal Flash Interrupt", + "name": "Direct G-Mode Morph, Crystal Flash Interrupt", "entranceCondition": { "comeInWithGMode": { "mode": "direct", @@ -956,6 +996,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is required to avoid double hitting the Skultera with the Power Bomb,", "and to position the Crystal Flash so that the Skultera can hit Samus from above so it avoids the light orb.", @@ -982,6 +1023,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Wait for the fish to swim left where they can safely be killed." }, { @@ -1002,6 +1044,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "The canCrouchJump is not a h_underwaterCrouchJump, because Gravity is required." }, { @@ -1013,7 +1056,8 @@ "HiJump", "canSpringBallJumpMidAir" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 34, @@ -1031,6 +1075,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "The fish can safely be damaged from the door until they are ready to be used as platforms." }, { @@ -1040,7 +1085,8 @@ "requires": [ "canUnderwaterWalljump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 78, @@ -1055,6 +1101,7 @@ {"shinespark": {"frames": 40, "excessFrames": 27}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Spark diagonally from the right side of the doorway.", "devNote": [ "It is possible to spark through the doorway, but diagonal sparks are not supported.", @@ -1074,6 +1121,7 @@ {"shinespark": {"frames": 40, "excessFrames": 27}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "Entering through Toilet will center Samus horizontally, making a few more shinecharge frames required", "It possible to end spark earlier by precisely bonking the island in the center, but the Energy savings do not seem too important since you can farm Choots afterward." @@ -1094,6 +1142,7 @@ {"shinespark": {"frames": 14, "excessFrames": 4}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Spark vertically by the first plant on the right to hit the floating island.", "devNote": [ "It is possible to spark diagonally from the door and hit the island, requiring fewer frames remaining, but it's starting position is somewhat precise and uses a bit more energy." @@ -1114,6 +1163,7 @@ {"shinespark": {"frames": 14, "excessFrames": 4}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Spark vertically by the first plant on the right to hit the floating island.", "devNote": [ "It is possible to spark diagonally from the door and hit the island, requiring fewer frames remaining, but it's starting position is somewhat precise and uses a bit more energy." @@ -1148,6 +1198,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Shortcharge to kill the Owtch or kill it with Plasma, a Power Bomb, or a Charge shot while it is moving to the left.", "It is possible to wait for the Owtch to be at the far end of the flat portion to have a bit extra room to get blue speed.", @@ -1175,6 +1226,7 @@ "canCrossRoomJumpIntoWater" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Standing on the platform in the room below, jump up and press right against the door frame through the transition." ], @@ -1197,6 +1249,7 @@ "comesThroughToilet": "yes" }, "requires": [ + "canDash", "canCrossRoomJumpIntoWater", "canTrickyJump" ], @@ -1223,6 +1276,7 @@ "canCrossRoomJumpIntoWater" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use Space Jump to enter with rightward momentum and moderate vertical speed.", "This can be done by using Space Jump at an appropriate height and pressing against the right side of the door frame while entering the transition." @@ -1249,6 +1303,7 @@ "HiJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Spin jump from the platform in the room below, pressing right against the door frame through the transition." ], @@ -1270,11 +1325,13 @@ "comesThroughToilet": "yes" }, "requires": [ + "canDash", "canCrossRoomJumpIntoWater", "HiJump", "canMomentumConservingTurnaround" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run and spin jump from the platform in the room below, gaining horizontal speed but without bonking the door frame.", "Perform a momentum-conserving turn-around to make it around the corner of the ledge above." @@ -1294,12 +1351,14 @@ "comesThroughToilet": "yes" }, "requires": [ + "canDash", "canCrossRoomJumpIntoWater", "HiJump", "canMomentumConservingTurnaround", "canInsaneJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run and spin jump from the platform in the room below, gaining horizontal speed but without bonking the door frame.", "Perform a momentum-conserving turn-around to make it around the corner of the ledge above.", @@ -1326,6 +1385,7 @@ "canCrouchJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Standing on the platform in the room below, crouch jump up and press right against the door frame through the transition." ], @@ -1353,6 +1413,7 @@ "canSpeedyJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain a small amount of speed (<1 tile is enough) and jump through the transition, pressing right against the door frame." ], @@ -1376,12 +1437,14 @@ "comesThroughToilet": "yes" }, "requires": [ + "canDash", "canCrossRoomJumpIntoWater", "HiJump", "canSpeedyJump", "canMomentumConservingTurnaround" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain a few tiles of run speed and jump through the transition, without bonking against the door frame.", "Perform a momentum-conserving turn-around to make it around the corner of the ledge above." @@ -1406,6 +1469,7 @@ "canMomentumConservingTurnaround" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Spin jump from the platform in the room below, pressing right against the door frame through the transition.", "Perform a momentum-conserving turn-around to make it around the corner of the ledge above." @@ -1429,10 +1493,12 @@ "comesThroughToilet": "any" }, "requires": [ + "canDash", "canCrossRoomJumpIntoWater", "HiJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run left-to-right and spin jump from the platform in the room below, passing through the transition without bonking the door." ], @@ -1454,10 +1520,12 @@ "comesThroughToilet": "no" }, "requires": [ + "canDash", "canCrossRoomJumpIntoWater", "HiJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run left-to-right and spin jump from the platform in the room below, passing through the transition without bonking the door." ], @@ -1477,11 +1545,13 @@ "comesThroughToilet": "yes" }, "requires": [ + "canDash", "canCrossRoomJumpIntoWater", "HiJump", "canMomentumConservingTurnaround" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run left-to-right and spin jump from the platform in the room below, passing through the transition without bonking the door.", "Pass through the Toilet, and then perform a momentum conserving turnaround to make it onto the ledge." @@ -1510,6 +1580,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Standing on the platform in the room below, jump up (crouch jump makes it easier) and press right against the door frame through the transition.", "After the transition, perform a spring ball jump mid-air to reach the ledge." @@ -1534,6 +1605,7 @@ "can4HighMidAirMorph" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Standing on the platform in the room below, perform a spring ball jump mid-air a few tiles below the transition.", "Hold right through the transition, and do not bonk the door frame." @@ -1559,6 +1631,7 @@ "canInsaneJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Standing on the platform in the room below, perform a spring ball jump mid-air a few tiles below the transition.", "It is necessary to morph very quickly after jumping in order to spring ball jump as low as necessary.", @@ -1584,6 +1657,7 @@ "canTrickyJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Using Speed Booster in the room below, run and jump, pressing against the right side of the door frame through the transition without breaking spin.", "It may be necessary to use less runway than is available, to avoid getting too much vertical speed." @@ -1614,6 +1688,7 @@ "canMidairWiggle" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Using Speed Booster in the room below, run and jump through the door without bonking the door frame or breaking spin.", "Perform a mid-air wiggle to make into onto either ledge." @@ -1638,6 +1713,7 @@ "canTrickyDashJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Run left-to-right in the room below using Speed Booster over a specific distance, and jump up through the door." ], @@ -1660,6 +1736,7 @@ "canPreciseWalljump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Do a wall jump from the right side of the door frame, three tiles below the door transition.", "Turn back around to the right before the transition, while maintaining spin." @@ -1690,6 +1767,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Do a low spin jump and press against the right side of the door frame.", "Wall jump as low as possible, jumping as soon as possible after moving away from the wall.", @@ -1724,14 +1802,15 @@ "h_artificialMorphDoubleSpringBallJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 66, "link": [2, 4], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"or": [ {"shinespark": {"frames": 9, "excessFrames": 4}}, {"and": [ @@ -1741,6 +1820,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Spark vertically in the center of the gap to save Energy." }, { @@ -1757,6 +1837,7 @@ {"notable": "Tricky Grapple Swing"} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Swing up through the door from a Grapple block in the room below (Mt. Everest).", "Fire a Grapple shot after entering the room, to allow Samus to move further right and get onto the ledge." @@ -1767,7 +1848,8 @@ "link": [3, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 61, @@ -1780,7 +1862,8 @@ "canTrickySpringBallJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 62, @@ -1792,6 +1875,7 @@ "canTrickyJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Crouch jump just before the water reaches its maximum.", "Wait until Samus reaches the peak of the jump;", @@ -1813,6 +1897,7 @@ "canTrickyWalljump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Perform a precise wall jump as the water is lowering. Climbing up the right side of the room is slightly easier." }, { @@ -1823,6 +1908,7 @@ "canSpaceJumpWaterBounce" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Kill the Choot, then space jump across the water and onto the center platform - it is slightly lower than the sides." }, { @@ -1830,7 +1916,8 @@ "link": [4, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [ diff --git a/region/maridia/inner-yellow/Thread The Needle Room.json b/region/maridia/inner-yellow/Thread The Needle Room.json index c62f3eee4..baa255f9f 100644 --- a/region/maridia/inner-yellow/Thread The Needle Room.json +++ b/region/maridia/inner-yellow/Thread The Needle Room.json @@ -78,7 +78,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -96,6 +97,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "A half tile is considered unusable, in order to be able to quickly spin jump forward after gaining the shinecharge." ], @@ -123,6 +125,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -148,6 +151,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -168,6 +172,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -190,6 +195,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -216,6 +222,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -243,6 +250,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -269,6 +277,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -290,6 +299,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -307,6 +317,7 @@ "leaveWithTemporaryBlue": {} }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "A half tile is considered unusable, in order to avoid sliding into the wall and losing blue state." ], @@ -330,7 +341,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 13, @@ -352,7 +364,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 14, @@ -375,7 +388,8 @@ "movementType": "uncontrolled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 15, @@ -397,7 +411,8 @@ "movementType": "controlled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 16, @@ -414,7 +429,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 18, @@ -423,6 +439,7 @@ "requires": [ {"resetRoom": {"nodes": [1]}}, {"or": [ + "canDash", "Gravity", {"cycleFrames": 330} ]}, @@ -436,7 +453,10 @@ {"cycleFrames": 1240} ]}, {"and": [ - "ScrewAttack", + {"or": [ + "ScrewAttack", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 1330} ]}, {"and": [ @@ -461,7 +481,8 @@ {"enemy": "Choot", "count": 5}, {"enemy": "Puyo", "count": 5} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 20, @@ -470,7 +491,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [1, 1], @@ -524,7 +546,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 22, @@ -541,6 +564,7 @@ "canCarefulJump", "ScrewAttack" ]}, + {"haveBlueSuit": {}}, {"and": [ "h_usePowerBomb", {"ammo": {"type": "PowerBomb", "count": 1}} @@ -551,7 +575,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 1}} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 53, @@ -574,7 +599,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 1}} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 23, @@ -590,6 +616,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["Roll through the bottom of the room."] }, { @@ -600,7 +627,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 4}}, {"enemyDamage": {"enemy": "Choot", "type": "contact", "hits": 1}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 25, @@ -627,6 +655,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use Space jumps or Spring Ball bounces to carry blue speed across the room.", "Then chain temporary blue into the next room.", @@ -645,7 +674,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 27, @@ -663,7 +693,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 28, @@ -681,7 +712,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 29, @@ -698,6 +730,7 @@ "canCarefulJump", "ScrewAttack" ]}, + {"haveBlueSuit": {}}, {"and": [ "h_usePowerBomb", {"ammo": {"type": "PowerBomb", "count": 1}} @@ -708,7 +741,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 1}} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 54, @@ -731,7 +765,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 1}} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 30, @@ -758,6 +793,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Roll through the bottom of the room, killing the three Puyos in the middle.", "It helps to start rolling from as close to the edge of the water as possible to build speed while the Puyos are inactive." @@ -771,7 +807,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 4}}, {"enemyDamage": {"enemy": "Choot", "type": "contact", "hits": 1}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 32, @@ -798,6 +835,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use Space jumps or Spring Ball bounces to carry blue speed across the room.", "Then chain temporary blue into the next room.", @@ -844,7 +882,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 34, @@ -862,7 +901,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 35, @@ -880,7 +920,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 36, @@ -893,7 +934,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 37, @@ -908,6 +950,7 @@ "leaveShinecharged": {} }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "A half tile is considered unusable, in order to be able to quickly spin jump forward after gaining the shinecharge." ], @@ -933,6 +976,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -957,6 +1001,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -982,6 +1027,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -1002,6 +1048,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -1019,6 +1066,7 @@ "leaveWithTemporaryBlue": {} }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: If Morph or X-Ray is available, an extra half tile of runway could be gained by standing up inside the last tile of the platform." ] @@ -1039,7 +1087,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 44, @@ -1062,7 +1111,8 @@ "movementType": "uncontrolled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 45, @@ -1084,7 +1134,8 @@ "movementType": "controlled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 46, @@ -1101,7 +1152,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 47, @@ -1111,6 +1163,7 @@ {"resetRoom": {"nodes": [2]}}, {"or": [ "Gravity", + "canDash", {"cycleFrames": 120} ]}, {"or": [ @@ -1141,7 +1194,8 @@ {"enemy": "Choot", "count": 3}, {"enemy": "Puyo", "count": 3} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 50, @@ -1150,7 +1204,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [2, 2], @@ -1176,7 +1231,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 52, @@ -1186,7 +1242,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [ diff --git a/region/maridia/inner-yellow/Watering Hole.json b/region/maridia/inner-yellow/Watering Hole.json index 6c4ff0228..00505e251 100644 --- a/region/maridia/inner-yellow/Watering Hole.json +++ b/region/maridia/inner-yellow/Watering Hole.json @@ -82,7 +82,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -98,6 +99,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Requires a pixel-perfect freeze in order to run onto and off of the frozen Zeb." }, { @@ -115,6 +117,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze both Zebs in order to significantly extend the length of the runway.", "Requires a pixel-perfect freeze in order to run onto and off of the frozen Zebs." @@ -135,7 +138,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 5, @@ -154,7 +158,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -174,7 +179,8 @@ "movementType": "uncontrolled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 7, @@ -189,7 +195,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 8, @@ -200,7 +207,8 @@ {"cycleFrames": 30} ], "farmCycleDrops": [{"enemy": "Zeb", "count": 1}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 25, @@ -212,6 +220,7 @@ ], "farmCycleDrops": [{"enemy": "Zeb", "count": 2}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["Run back and forth between the two Zeb spawners to farm them simultaneously."] }, { @@ -246,6 +255,7 @@ "h_CrystalSpark" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the two Zebs to create a runway to shinecharge with.", "Pixel perfect freezing of both Zebs provides the longest runway, but a slightly higher position of the second Zeb is still usable." @@ -278,6 +288,50 @@ "Pixel perfect freezing of both Zebs provides the longest runway, but a slightly higher position of the second Zeb is still usable." ] }, + { + "link": [1, 1], + "name": "Frozen Zebs Runway, Collect Left Item, Diagonal Shinespark", + "requires": [ + "h_trickyFrozenEnemyRunway", + {"notable": "Double Frozen Zeb Runway"}, + {"notable": "Double Frozen Zeb Item Collect Shinespark Escape"}, + {"canShineCharge": {"usedTiles": 19, "openEnd": 1}}, + {"shinespark": {"frames": 36, "excessFrames": 28}} + ], + "collectsItems": [2], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Kill the Choot at the bottom of the room.", + "Freeze the two Zebs to create a runway to shinecharge with.", + "Pixel perfect freezing of both Zebs provides the longest runway, but a slightly higher position of the second Zeb is still usable.", + "Slide off the end of the runway while gaining a shinecharge.", + "After landing on the center pedestal, do a short spin jump to the left, turn right, fire shot to break spin and collect the item.", + "After the message box closes, depending on Samus' position, wait a moment to let Samus sink straight down a few pixels before activating a diagonal spark." + ] + }, + { + "link": [1, 1], + "name": "Frozen Zebs Runway, Collect Right Item, Diagonal Shinespark", + "requires": [ + "h_trickyFrozenEnemyRunway", + {"notable": "Double Frozen Zeb Runway"}, + {"notable": "Double Frozen Zeb Item Collect Shinespark Escape"}, + {"canShineCharge": {"usedTiles": 19, "openEnd": 1}}, + {"shinespark": {"frames": 20, "excessFrames": 11}} + ], + "collectsItems": [3], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Kill the Choot at the bottom of the room.", + "Freeze the two Zebs to create a runway to shinecharge with.", + "Pixel perfect freezing of both Zebs provides the longest runway, but a slightly higher position of the second Zeb is still usable.", + "Slide off the end of the runway while gaining a shinecharge.", + "After landing on the center pedestal, do a short spin jump to the right, turn left, fire shot to break spin and collect the item.", + "After the message box closes, depending on Samus' position, hold left and wait a moment to let Samus move down-left a few pixels before activating a diagonal spark." + ] + }, { "id": 9, "link": [1, 1], @@ -286,14 +340,16 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 10, "link": [1, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 13, @@ -306,10 +362,12 @@ "HiJump", "SpaceJump", "canIBJ", - "canSpringBallJumpMidAir" + "canSpringBallJumpMidAir", + "canSpringBallBombJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 14, @@ -320,6 +378,7 @@ "canTrickyUseFrozenEnemies" ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "The only thing tricky about this is realizing to leave the Choot alive before going down." }, { @@ -333,6 +392,7 @@ "h_crouchJumpDownGrab" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Getting out with only Gravity and no wall jump requires a tight crouch jump and down grab while above the water:", "Position very close to the edge, and press forward immediately after crouch jumping (almost simultaneously)." @@ -341,12 +401,13 @@ { "id": 16, "link": [2, 1], - "name": "Suitless Springball Jump", + "name": "Suitless Spring Ball Jump", "requires": [ "canSuitlessMaridia", "h_underwaterMaxHeightSpringBallJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "This is a max height springball jump.", "devNote": "FIXME add a slightly easier variant that damage boosts off of the Choot." }, @@ -359,18 +420,20 @@ "HiJump", "canDownGrab" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 22, "link": [2, 1], - "name": "Suitless HiJump Springball", + "name": "Suitless HiJump Spring Ball", "requires": [ "canSuitlessMaridia", "HiJump", "canSpringBallJumpMidAir" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 18, @@ -382,14 +445,15 @@ "canSunkenTileWideWallClimb" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "A stationary spinjump can fit into the 1 tile wide hole where Samus can slowly infinite walljump to freedom." }, { "id": 21, "link": [2, 1], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"or": [ {"shinespark": {"frames": 32, "excessFrames": 13}}, {"and": [ @@ -400,21 +464,24 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 11, "link": [2, 3], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 12, "link": [3, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [ @@ -434,8 +501,16 @@ "Use a precise crouch jump and down grab to get to the second platform above the water.", "Position very close to the edge, and press forward immediately after crouch jumping (almost simultaneously)." ] + }, + { + "id": 3, + "name": "Double Frozen Zeb Item Collect Shinespark Escape", + "note": [ + "Use two frozen Zebs to gain a shinecharge and slide off the edge of the runway.", + "Spin jump to collect one of the items below, then shinespark diagonally to escape." + ] } ], "nextStratId": 27, - "nextNotableId": 3 + "nextNotableId": 4 } \ No newline at end of file diff --git a/region/maridia/inner-yellow/Yoink Room.json b/region/maridia/inner-yellow/Yoink Room.json index 347ef3730..e6f681e64 100644 --- a/region/maridia/inner-yellow/Yoink Room.json +++ b/region/maridia/inner-yellow/Yoink Room.json @@ -109,7 +109,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -125,6 +126,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the Yapping Maw on room entry, and continue to periodically refreeze it throughout.", "Jump and freeze the Zoa at the correct height, noting that it will rise one more pixel after it thaws.", @@ -154,6 +156,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": ["Max extra run speed $0.9."] }, { @@ -172,7 +175,8 @@ {"types": ["super"], "requires": ["canInsaneJump"]}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 65, @@ -186,7 +190,8 @@ {"doorUnlockedAtNode": 1} ], "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 4, @@ -195,7 +200,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 86, @@ -216,7 +222,8 @@ ]} ], "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 5, @@ -226,7 +233,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -236,7 +244,8 @@ {"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 83, @@ -265,7 +274,8 @@ } }, "bypassesDoorShell": "free", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 84, @@ -287,6 +297,7 @@ }, "bypassesDoorShell": "free", "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Artificial morph will allow Samus not to fall; real Morph is not sufficient." }, { @@ -318,6 +329,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: It is possible to leave with more frames remaining by falling directly into the sand (e.g., with a down-back turnaround);", "but then it would not be possible to mid-air shinespark in the next room before landing, and we don't yet have a way to model that." @@ -343,6 +355,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "This requires jumping through the door, but we don't use 'comeInShinechargedJumping' because it's not required to come from an air environment.", "FIXME: clean up the way this kind of cross-room movement is expressed." @@ -364,7 +377,8 @@ "morphed": false } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 10, @@ -382,7 +396,8 @@ "morphed": true } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 11, @@ -391,7 +406,8 @@ "requires": [ "SpaceJump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 12, @@ -415,6 +431,7 @@ {"nodeId": 3, "types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Requires a jumping entry, but any runway length and environment is fine." }, { @@ -429,6 +446,7 @@ {"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "From the doorframe, wait for the Zoa to rise out of the water, then use it to damage boost into the open opposite door." }, { @@ -453,6 +471,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Build up run speed and jump into the transition to cross this room without touching the water.", "Shoot open the opposite door upon entering and morph before touching the ceiling to bounce into the open door." @@ -481,6 +500,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Build up run speed and jump into the transition to cross this room without touching the water.", "Shoot open the opposite door upon entering and morph before touching the ceiling to bounce into the open door." @@ -505,6 +525,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Enter with a high shinespark through the door then shoot the opposite door and fall into it." }, { @@ -528,6 +549,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": ["Higher speeds can work but with greater difficulty."] }, { @@ -554,6 +576,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Jump into the room with blue speed, shoot open the door mid-air;", "then airball across the room and unmorph on the door ledge, chaining temporary blue into the next room." @@ -581,7 +604,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 74, @@ -602,7 +626,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 75, @@ -624,6 +649,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "This requires jumping through the door, but we don't use 'comeInShinechargedJumping' because it's not required to come from an air environment.", "FIXME: clean up the way this kind of cross-room movement is expressed." @@ -640,7 +666,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 19, @@ -658,7 +685,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 20, @@ -668,7 +696,8 @@ "comeInNormally": {} }, "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 66, @@ -682,7 +711,8 @@ } }, "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 67, @@ -700,6 +730,7 @@ "canPlayInSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Jump through the door to cross most of the room, then jump off of the sand to cross the rest.", "With enough speed, crossing the whole room without landing in the sand is also possible, but Samus must still jump quickly after landing to avoid being grabbed by the Yapping Maw." @@ -747,6 +778,7 @@ {"nodeId": 3, "types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Kill, freeze, or dodge the Yapping Maws. Kill the Zoa and wait for its drop to disappear.", "Just before it disappears, move into the sand and crouch. Press forward when near the transition to stand up and touch the transition on the first frame of standing.", @@ -762,7 +794,8 @@ "requires": [ "SpaceJump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 23, @@ -786,6 +819,7 @@ {"nodeId": 3, "types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Requires a jumping entry, but any runway length and environment is fine." }, { @@ -799,6 +833,7 @@ {"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "From the doorframe, wait for the Zoa to rise out of the water, then use it to damage boost into the open opposite door." }, { @@ -823,6 +858,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Build up run speed and jump into the transition to cross this room without touching the water.", "Shoot open the opposite door upon entering and morph before touching the ceiling to bounce into the open door." @@ -851,6 +887,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Build up run speed and jump into the transition to cross this room without touching the water.", "Shoot open the opposite door upon entering and morph before touching the ceiling to bounce into the open door." @@ -875,6 +912,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Enter with a high shinespark through the door then shoot the opposite door and fall into it." }, { @@ -899,7 +937,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 77, @@ -920,7 +959,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 78, @@ -942,6 +982,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "This requires jumping through the door, but we don't use 'comeInShinechargedJumping' because it's not required to come from an air environment.", "FIXME: clean up the way this kind of cross-room movement is expressed." @@ -968,6 +1009,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": ["Higher speeds can work but with greater difficulty."] }, { @@ -994,6 +1036,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Jump into the room with blue speed, shoot open the door mid-air;", "then airball across the room and unmorph on the door ledge, chaining temporary blue into the next room." @@ -1010,7 +1053,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 29, @@ -1028,7 +1072,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 30, @@ -1046,7 +1091,8 @@ "morphed": false } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 79, @@ -1077,6 +1123,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: It is possible to leave with more frames remaining by falling directly into the sand (e.g., with a down-back turnaround);", "but then it would not be possible to mid-air shinespark in the next room before landing, and we don't yet have a way to model that." @@ -1102,6 +1149,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "This requires jumping through the door, but we don't use 'comeInShinechargedJumping' because it's not required to come from an air environment.", "FIXME: clean up the way this kind of cross-room movement is expressed." @@ -1123,7 +1171,8 @@ "morphed": true } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 32, @@ -1136,7 +1185,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 33, @@ -1152,6 +1202,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the Yapping Maw on room entry, and continue to periodically refreeze it throughout.", "Jump and freeze the Zoa at the correct height, noting that it will rise one more pixel after it thaws.", @@ -1181,6 +1232,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": ["Max extra run speed $0.9."] }, { @@ -1199,7 +1251,8 @@ {"types": ["super"], "requires": ["canInsaneJump"]}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 68, @@ -1213,7 +1266,8 @@ {"doorUnlockedAtNode": 3} ], "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 87, @@ -1234,7 +1288,8 @@ ]} ], "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 35, @@ -1243,7 +1298,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 36, @@ -1253,7 +1309,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 37, @@ -1263,7 +1320,8 @@ {"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 38, @@ -1292,7 +1350,8 @@ } }, "bypassesDoorShell": "free", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 39, @@ -1314,6 +1373,7 @@ }, "bypassesDoorShell": "free", "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Artificial morph will allow Samus not to fall; real Morph is not sufficient." }, { @@ -1332,6 +1392,7 @@ "canPlayInSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Jump through the door to cross most of the room, then jump off of the sand to cross the rest.", "With enough speed, crossing the whole room without landing in the sand is also possible, but Samus must still jump quickly after landing to avoid being grabbed by the Yapping Maw." @@ -1345,7 +1406,8 @@ "comeInNormally": {} }, "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 70, @@ -1359,7 +1421,8 @@ } }, "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 41, @@ -1380,7 +1443,8 @@ {"nodeId": 1, "types": ["super"], "requires": []}, {"nodeId": 1, "types": ["powerbomb"], "requires": ["canTrickyJump"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 42, @@ -1402,18 +1466,16 @@ {"nodeId": 1, "types": ["powerbomb"], "requires": ["canTrickyJump"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Escape by wall jumping when the water is low or using a crouch jump and down grab when it's high." }, { "id": 43, "link": [4, 1], - "name": "Kill Yapping Maw With Super", + "name": "Yapping Maw Cleared", "requires": [ "canSuitlessMaridia", - {"or": [ - {"ammo": {"type": "Super", "count": 1}}, - {"obstaclesCleared": ["A"]} - ]}, + {"obstaclesCleared": ["A"]}, {"or": [ "canWalljump", "h_underwaterCrouchJumpDownGrab", @@ -1423,6 +1485,7 @@ ], "unlocksDoors": [{"nodeId": 1, "types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Escape by wall jumping when the water is low or using a crouch jump and down grab when it's high." }, { @@ -1436,6 +1499,7 @@ ], "unlocksDoors": [{"nodeId": 1, "types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Keep freezing the Yapping Maw while using a frozen bug to escape." }, { @@ -1443,7 +1507,8 @@ "link": [4, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 88, @@ -1468,6 +1533,7 @@ ], "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "While farming the Zoas, jump back and forth across the room to avoid the Yapping Maws." ] @@ -1491,6 +1557,7 @@ ], "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "While farming the Zoas, jump back and forth across the room to avoid the Yapping Maws." ] @@ -1507,6 +1574,7 @@ ], "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["Freeze a Yapping Maw to farm the Zoas safely."] }, { @@ -1519,7 +1587,8 @@ {"ammo": {"type": "Super", "count": 1}} ], "clearsObstacles": ["A"], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 92, @@ -1532,6 +1601,7 @@ ], "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["With the Yapping Maw killed, the Zoas can be farmed safely."] }, { @@ -1539,9 +1609,11 @@ "link": [4, 5], "name": "Base", "requires": [ - "Gravity" + "Gravity", + {"noBlueSuit": {}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 47, @@ -1554,9 +1626,11 @@ "canPlayInSand", "h_useSpringBall", "SpaceJump" - ]} + ]}, + {"noBlueSuit": {}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Kill the Zoa while avoiding the Yapping Maw, then cross the sand. Spring ball can be used to help cross the sand." }, { @@ -1569,6 +1643,7 @@ "canCarefulJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the Zoa as it spawns and jump on it then jump across the room.", "Freeze any Yapping Maws that attack and use them or a frozen Zoa as a platform to leave." @@ -1577,18 +1652,16 @@ { "id": 49, "link": [4, 5], - "name": "Suitless Kill Yapping Maw with Super", + "name": "Suitless Play in Sand (Yapping Maw Cleared)", "requires": [ "canSuitlessMaridia", "canPlayInSand", - {"or": [ - {"ammo": {"type": "Super", "count": 1}}, - {"obstaclesCleared": ["A"]} - ]} + {"obstaclesCleared": ["A"]}, + {"noBlueSuit": {}} ], "clearsObstacles": ["A"], "flashSuitChecked": true, - "devNote": "One Super to cross the room, a second is likely used before getting up to the door." + "blueSuitChecked": true }, { "id": 50, @@ -1598,9 +1671,11 @@ {"notable": "Sand Jumps"}, "canSuitlessMaridia", "canTrickyJump", - "canPlayInSand" + "canPlayInSand", + {"noBlueSuit": {}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Avoid the Yapping Maw after entering by not standing in one place for too long.", "Kill the Zoa and quickly jump across the sand.", @@ -1608,11 +1683,26 @@ ] }, { - "id": 51, - "link": [5, 2], - "name": "Base", - "requires": [], - "flashSuitChecked": true + "link": [4, 5], + "name": "Blue Suit Sand Walk", + "requires": [ + {"haveBlueSuit": {}}, + {"or": [ + "canTrickyDodgeEnemies", + {"obstaclesCleared": ["A"]} + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Simply walk across the sand without stopping." + ], + "detailNote": [ + "Avoid jumping onto the sand while having a blue suit without Gravity:", + "the water tide makes it impossible to normalize the jump", + "so there would be a risk of losing the blue suit and sinking into the sand.", + "With Gravity, a full height jump makes it safe to land on the sand." + ] }, { "id": 52, @@ -1633,7 +1723,8 @@ {"nodeId": 3, "types": ["super"], "requires": []}, {"nodeId": 3, "types": ["powerbomb"], "requires": ["canTrickyJump"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 53, @@ -1655,18 +1746,16 @@ {"nodeId": 3, "types": ["powerbomb"], "requires": ["canTrickyJump"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Escape by wall jumping when the water is low or using a crouch jump and down grab when it's high." }, { "id": 54, "link": [5, 3], - "name": "Kill Yapping Maw With Super", + "name": "Yapping Maw Cleared", "requires": [ "canSuitlessMaridia", - {"or": [ - {"ammo": {"type": "Super", "count": 1}}, - {"obstaclesCleared": ["B"]} - ]}, + {"obstaclesCleared": ["B"]}, {"or": [ "canWalljump", "h_underwaterCrouchJumpDownGrab", @@ -1676,6 +1765,7 @@ ], "unlocksDoors": [{"nodeId": 3, "types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Escape by wall jumping when the water is low or using a crouch jump and down grab when it's high." }, { @@ -1689,6 +1779,7 @@ ], "unlocksDoors": [{"nodeId": 3, "types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Keep freezing the Yapping Maw while using a frozen bug to escape." }, { @@ -1696,9 +1787,11 @@ "link": [5, 4], "name": "Base", "requires": [ - "Gravity" + "Gravity", + {"noBlueSuit": {}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 57, @@ -1711,9 +1804,11 @@ "canPlayInSand", "h_useSpringBall", "SpaceJump" - ]} + ]}, + {"noBlueSuit": {}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Kill the Zoa while avoiding the Yapping Maw, then cross the sand. Spring Ball can be used to help cross the sand." }, { @@ -1734,18 +1829,16 @@ { "id": 59, "link": [5, 4], - "name": "Suitless Kill Yapping Maw with Super", + "name": "Suitless Play in Sand (Yapping Maw Cleared)", "requires": [ "canSuitlessMaridia", "canPlayInSand", - {"or": [ - {"ammo": {"type": "Super", "count": 1}}, - {"obstaclesCleared": ["B"]} - ]} + {"obstaclesCleared": ["B"]}, + {"noBlueSuit": {}} ], "clearsObstacles": ["B"], "flashSuitChecked": true, - "devNote": "One Super to cross the room, a second is likely used before getting up to the door." + "blueSuitChecked": true }, { "id": 60, @@ -1755,7 +1848,8 @@ {"notable": "Sand Jumps"}, "canSuitlessMaridia", "canTrickyJump", - "canPlayInSand" + "canPlayInSand", + {"noBlueSuit": {}} ], "flashSuitChecked": true, "note": [ @@ -1764,6 +1858,28 @@ "Hitting the Zoas will drop Samus deep into the sand below." ] }, + { + "link": [5, 4], + "name": "Blue Suit Sand Walk", + "requires": [ + {"haveBlueSuit": {}}, + {"or": [ + "canTrickyDodgeEnemies", + {"obstaclesCleared": ["B"]} + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Simply walk across the sand without stopping." + ], + "detailNote": [ + "Avoid jumping onto the sand while having a blue suit without Gravity:", + "the water tide makes it impossible to normalize the jump", + "so there would be a risk of losing the blue suit and sinking into the sand.", + "With Gravity, a full height jump makes it safe to land on the sand." + ] + }, { "id": 93, "link": [5, 5], @@ -1774,7 +1890,8 @@ {"ammo": {"type": "Super", "count": 1}} ], "clearsObstacles": ["B"], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 94, @@ -1787,6 +1904,7 @@ ], "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": ["With the Yapping Maw killed, the Zoas can be farmed safely."] } ], From d9b6da96e0905546ae99b071cf2612469a45346d Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Sun, 5 Apr 2026 14:44:31 -0600 Subject: [PATCH 2/4] add wallJumpAvoid --- region/maridia/inner-yellow/Watering Hole.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/region/maridia/inner-yellow/Watering Hole.json b/region/maridia/inner-yellow/Watering Hole.json index 00505e251..174664e45 100644 --- a/region/maridia/inner-yellow/Watering Hole.json +++ b/region/maridia/inner-yellow/Watering Hole.json @@ -299,6 +299,7 @@ {"shinespark": {"frames": 36, "excessFrames": 28}} ], "collectsItems": [2], + "wallJumpAvoid": true, "flashSuitChecked": true, "blueSuitChecked": true, "note": [ @@ -321,6 +322,7 @@ {"shinespark": {"frames": 20, "excessFrames": 11}} ], "collectsItems": [3], + "wallJumpAvoid": true, "flashSuitChecked": true, "blueSuitChecked": true, "note": [ @@ -508,7 +510,8 @@ "note": [ "Use two frozen Zebs to gain a shinecharge and slide off the edge of the runway.", "Spin jump to collect one of the items below, then shinespark diagonally to escape." - ] + ], + "wallJumpAvoid": true } ], "nextStratId": 27, From bb5148b73a54d663d402aac8167490b415224ddc Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Fri, 10 Apr 2026 20:58:07 -0600 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: Michael McKenzie --- region/maridia/inner-yellow/Watering Hole.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/region/maridia/inner-yellow/Watering Hole.json b/region/maridia/inner-yellow/Watering Hole.json index 174664e45..ff860c887 100644 --- a/region/maridia/inner-yellow/Watering Hole.json +++ b/region/maridia/inner-yellow/Watering Hole.json @@ -294,7 +294,8 @@ "requires": [ "h_trickyFrozenEnemyRunway", {"notable": "Double Frozen Zeb Runway"}, - {"notable": "Double Frozen Zeb Item Collect Shinespark Escape"}, + {"notable": "Double Frozen Zeb Item Collect Shinespark Escape"}, + "canShinechargeMovementTricky", {"canShineCharge": {"usedTiles": 19, "openEnd": 1}}, {"shinespark": {"frames": 36, "excessFrames": 28}} ], @@ -317,7 +318,8 @@ "requires": [ "h_trickyFrozenEnemyRunway", {"notable": "Double Frozen Zeb Runway"}, - {"notable": "Double Frozen Zeb Item Collect Shinespark Escape"}, + {"notable": "Double Frozen Zeb Item Collect Shinespark Escape"}, + "canShinechargeMovementTricky", {"canShineCharge": {"usedTiles": 19, "openEnd": 1}}, {"shinespark": {"frames": 20, "excessFrames": 11}} ], From bc4b399a7a90c457609703819473f2e2f1dacaab Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Fri, 10 Apr 2026 21:05:24 -0600 Subject: [PATCH 4/4] feedback updates --- .../inner-yellow/Plasma Spark Room.json | 1 + .../maridia/inner-yellow/Watering Hole.json | 23 +++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/region/maridia/inner-yellow/Plasma Spark Room.json b/region/maridia/inner-yellow/Plasma Spark Room.json index a31b61bcc..712ddc09d 100644 --- a/region/maridia/inner-yellow/Plasma Spark Room.json +++ b/region/maridia/inner-yellow/Plasma Spark Room.json @@ -2013,6 +2013,7 @@ "name": "Insane Frozen Choot Spring Ball Jump", "requires": [ {"notable": "Insane Frozen Choot Spring Ball Jump"}, + "canDash", "canTrickyUseFrozenEnemies", "HiJump", "can4HighMidAirMorph", diff --git a/region/maridia/inner-yellow/Watering Hole.json b/region/maridia/inner-yellow/Watering Hole.json index ff860c887..cd0ab60a0 100644 --- a/region/maridia/inner-yellow/Watering Hole.json +++ b/region/maridia/inner-yellow/Watering Hole.json @@ -285,7 +285,8 @@ "blueSuitChecked": true, "note": [ "Freeze the two Zebs to create a runway to shinecharge with.", - "Pixel perfect freezing of both Zebs provides the longest runway, but a slightly higher position of the second Zeb is still usable." + "Pixel perfect freezing of both Zebs provides the longest runway, but a slightly higher position of the second Zeb is still usable.", + "Freezing just a single Zeb is also possible but requires a 13-tile shortcharge." ] }, { @@ -310,6 +311,9 @@ "Slide off the end of the runway while gaining a shinecharge.", "After landing on the center pedestal, do a short spin jump to the left, turn right, fire shot to break spin and collect the item.", "After the message box closes, depending on Samus' position, wait a moment to let Samus sink straight down a few pixels before activating a diagonal spark." + ], + "detailNote": [ + "Freezing just a single Zeb is also possible but requires a 13-tile shortcharge." ] }, { @@ -321,7 +325,19 @@ {"notable": "Double Frozen Zeb Item Collect Shinespark Escape"}, "canShinechargeMovementTricky", {"canShineCharge": {"usedTiles": 19, "openEnd": 1}}, - {"shinespark": {"frames": 20, "excessFrames": 11}} + {"shinespark": {"frames": 20, "excessFrames": 11}}, + {"or": [ + "canWalljump", + "HiJump", + "SpaceJump", + "canIBJ", + "canSpringBallJumpMidAir", + "canSpringBallBombJump", + {"and": [ + "canCrouchJump", + {"notable": "Precise Crouch Jump Down Grab"} + ]} + ]} ], "collectsItems": [3], "wallJumpAvoid": true, @@ -334,6 +350,9 @@ "Slide off the end of the runway while gaining a shinecharge.", "After landing on the center pedestal, do a short spin jump to the right, turn left, fire shot to break spin and collect the item.", "After the message box closes, depending on Samus' position, hold left and wait a moment to let Samus move down-left a few pixels before activating a diagonal spark." + ], + "detailNote": [ + "Freezing just a single Zeb is also possible but requires a 13-tile shortcharge." ] }, {