diff --git a/region/maridia/inner-yellow/Butterfly Room.json b/region/maridia/inner-yellow/Butterfly Room.json index 407240098c..3181a6c386 100644 --- a/region/maridia/inner-yellow/Butterfly Room.json +++ b/region/maridia/inner-yellow/Butterfly Room.json @@ -41,7 +41,8 @@ "requires": [ "f_DefeatedDraygon" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ] } @@ -89,7 +90,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -109,6 +111,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the Zoa just a few pixels higher than it would be if Samus was standing next to the farm.", "Dodge and freeze the other Zoas, or tank a hit then kill them and don't collect their drops.", @@ -133,6 +136,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Max extra run speed $1.2" }, { @@ -158,7 +162,8 @@ ]} ], "farmCycleDrops": [{"enemy": "Zoa", "count": 3}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 36, @@ -173,6 +178,7 @@ ], "bypassesDoorShell": "yes", "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Repeatedly freeze the Zoas to slowly push Samus into the wall and through the locked doorway.", "devNote": "The drops will keep Samus at high energy, but 2 hits enemy damage were added as a worst-case scenario where the next-to-last Zoa you kill doesn't give you energy." }, @@ -184,7 +190,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 5, @@ -194,7 +201,8 @@ {"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -206,7 +214,8 @@ "HiJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 8, @@ -218,6 +227,7 @@ "canPlayInSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use a frozen Zoa as a platform to cross the sand without falling in.", "If Samus does fall into the sand, it is possible to get out using a crouch jump,", @@ -231,9 +241,11 @@ "requires": [ "canSuitlessMaridia", "canPlayInSand", - "h_useMorphBombs" + "h_useMorphBombs", + {"noBlueSuit": {}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "It is relatively easy to get out of the sand by rapidly placing bombs." }, { @@ -246,11 +258,15 @@ "canCarefulJump", {"or": [ {"doorUnlockedAtNode": 1}, - "canTrickyJump" + {"and": [ + "canTrickyJump", + {"noBlueSuit": {}} + ]} ]}, "canPlayInSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Kill all the Zoas and don't pick up their drops. If the door is unlocked, stand in the doorframe and jump across the room.", "Otherwise, jump across the sand, starting 1.5 tiles away from the sandfall. Hold jump and forward the whole time. Samus will dip into the sand, but still make it to the other side." @@ -261,9 +277,11 @@ "link": [1, 2], "name": "Suitless Sand Escape (Left to Right)", "requires": [ + {"noBlueSuit": {}}, "canEscapeSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is possible to get out of the sand with nothing.", "Press against the wall, hold down, crouch jump while continuing to hold down,", @@ -278,6 +296,16 @@ "but in practice it is useful, so it is good for it to be documented here." ] }, + { + "link": [1, 2], + "name": "Blue Suit Sand Walk", + "requires": [ + {"haveBlueSuit": {}} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": ["Simply walk across the sand without stopping."] + }, { "id": 12, "link": [1, 2], @@ -288,7 +316,8 @@ "requires": [ {"shinespark": {"frames": 22, "excessFrames": 11}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 13, @@ -301,6 +330,7 @@ "canCrossRoomJumpIntoWater" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Only requires a runway of approximately 0.5 tiles in the adjacent room.", "Bomb boost through the doorway and hold right." @@ -328,7 +358,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 38, @@ -349,7 +380,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 39, @@ -377,6 +409,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." @@ -393,7 +426,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 15, @@ -411,7 +445,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 16, @@ -429,7 +464,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 17, @@ -441,7 +477,8 @@ "HiJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 19, @@ -453,6 +490,7 @@ "canPlayInSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use a frozen Zoa as a platform to cross the sand without falling in.", "If Samus does fall into the sand, it is possible to get out using a crouch jump,", @@ -464,11 +502,13 @@ "link": [2, 1], "name": "Suitless Bombs", "requires": [ + {"noBlueSuit": {}}, "canSuitlessMaridia", "h_useMorphBombs", "canPlayInSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "It is relatively easy to get out of the sand with rapidly placing bombs." }, { @@ -481,11 +521,15 @@ "canCarefulJump", {"or": [ {"doorUnlockedAtNode": 2}, - "canTrickyJump" + {"and": [ + "canTrickyJump", + {"noBlueSuit": {}} + ]} ]}, "canPlayInSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Kill all the Zoas and don't pick up their drops. If the door is unlocked, stand in the doorframe and jump across the room.", "Otherwise, jump across the sand, starting 1.5 tiles away from the sandfall. Hold jump and forward the whole time. Samus will dip into the sand, but still make it to the other side." @@ -496,9 +540,11 @@ "link": [2, 1], "name": "Suitless Sand Escape (Right to Left)", "requires": [ + {"noBlueSuit": {}}, "canEscapeSand" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It is possible to get out of the sand with nothing.", "Press against the wall, hold down, crouch jump while continuing to hold down,", @@ -513,6 +559,16 @@ "but in practice it is useful, so it is good for it to be documented here." ] }, + { + "link": [2, 1], + "name": "Blue Suit Sand Walk", + "requires": [ + {"haveBlueSuit": {}} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": ["Simply walk across the sand without stopping."] + }, { "id": 23, "link": [2, 1], @@ -523,7 +579,8 @@ "requires": [ {"shinespark": {"frames": 22, "excessFrames": 11}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 24, @@ -536,6 +593,7 @@ "canCrossRoomJumpIntoWater" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Only requires a runway of approximately 0.5 tiles in the adjacent room.", "Bomb boost through the doorway and hold left." @@ -563,7 +621,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 41, @@ -584,7 +643,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 42, @@ -612,6 +672,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." @@ -628,7 +689,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 26, @@ -646,7 +708,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 27, @@ -664,7 +727,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 28, @@ -677,7 +741,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 29, @@ -697,6 +762,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze the Zoa just a few pixels higher than it would be if Samus was standing next to the farm.", "Dodge and freeze the other Zoas, or tank a hit then kill them and don't collect their drops.", @@ -721,6 +787,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Max extra run speed $1.2" }, { @@ -746,13 +813,15 @@ ]} ], "farmCycleDrops": [{"enemy": "Zoa", "count": 3}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 47, "link": [2, 2], "name": "Zoa Farm (In Sand, Strong Weapon)", "requires": [ + {"noBlueSuit": {}}, {"or": [ "HiJump", "Gravity", @@ -776,13 +845,15 @@ {"cycleFrames": 130} ], "farmCycleDrops": [{"enemy": "Zoa", "count": 3}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 48, "link": [2, 2], "name": "Zoa Farm (In Sand, Power Beam)", "requires": [ + {"noBlueSuit": {}}, {"or": [ "HiJump", "Gravity", @@ -795,7 +866,8 @@ {"cycleFrames": 165} ], "farmCycleDrops": [{"enemy": "Zoa", "count": 3}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 31, @@ -810,6 +882,7 @@ ], "bypassesDoorShell": "yes", "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Repeatedly freeze the Zoas to slowly push Samus into the wall and through the locked doorway.", "devNote": "The drops will keep Samus at high energy, but 2 hits enemy damage were added as a worst-case scenario where the next-to-last Zoa you kill doesn't give you energy." }, @@ -821,7 +894,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 33, @@ -831,7 +905,8 @@ {"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 34, @@ -843,7 +918,8 @@ "HiJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 43, @@ -866,6 +942,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: A 'Carry Shinecharge' version is possible but we need to model which side of the transition Samus enters through.", "FIXME: Model that Samus must be in a jumping (vs. falling) state, in order to be able to spark mid-air." @@ -881,7 +958,8 @@ "HiJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 44, @@ -904,6 +982,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: A 'Carry Shinecharge' version is possible but we need to model which side of the transition Samus enters through.", "FIXME: Model that Samus must be in a jumping (vs. falling) state, in order to be able to spark mid-air." diff --git a/region/maridia/inner-yellow/Forgotten Highway Save Room.json b/region/maridia/inner-yellow/Forgotten Highway Save Room.json index 9e3cc88d14..d4fac2eb25 100644 --- a/region/maridia/inner-yellow/Forgotten Highway Save Room.json +++ b/region/maridia/inner-yellow/Forgotten Highway Save Room.json @@ -47,7 +47,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -56,7 +57,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [1, 1], @@ -83,14 +85,16 @@ "link": [1, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 4, "link": [2, 1], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [], diff --git a/region/maridia/inner-yellow/Kassiuz Room.json b/region/maridia/inner-yellow/Kassiuz Room.json index 308fda734c..0f7ceb416f 100644 --- a/region/maridia/inner-yellow/Kassiuz Room.json +++ b/region/maridia/inner-yellow/Kassiuz Room.json @@ -73,7 +73,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -88,7 +89,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 3, @@ -106,7 +108,8 @@ "Plasma", "Wave", "Spazer", - "ScrewAttack" + "ScrewAttack", + {"haveBlueSuit": {}} ]}, {"cycleFrames": 210} ]}, @@ -118,7 +121,8 @@ ]} ], "farmCycleDrops": [{"enemy": "Puyo", "count": 2}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 27, @@ -160,6 +164,10 @@ "ScrewAttack", {"cycleFrames": 1000} ]}, + {"and": [ + {"haveBlueSuit": {}}, + {"cycleFrames": 1000} + ]}, {"and": [ "Wave", {"cycleFrames": 1080} @@ -179,7 +187,8 @@ {"enemy": "Puyo", "count": 4}, {"enemy": "Choot", "count": 3} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 4, @@ -188,7 +197,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 5, @@ -198,7 +208,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -208,7 +219,8 @@ {"enemyDamage": {"enemy": "Puyo", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 7, @@ -229,7 +241,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 21, @@ -247,6 +260,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Use Spring Ball to jump up the right side of the room." }, { @@ -262,7 +276,8 @@ "requires": [ {"shinespark": {"frames": 58, "excessFrames": 6}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 9, @@ -275,7 +290,8 @@ {"shineChargeFrames": 20}, {"shinespark": {"frames": 58, "excessFrames": 6}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 18, @@ -299,6 +315,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Perform a sequence of three mid-air Spring Ball jumps, each immediately followed by an unmorph to avoid bonking the wall;", "after each unmorph, use a pause-buffered remorph to continue chaining temporary blue." @@ -310,9 +327,9 @@ { "id": 16, "link": [1, 2], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"or": [ {"shinespark": {"frames": 48, "excessFrames": 12}}, {"and": [ @@ -322,12 +339,13 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "With HiJump, climb to the first Choot platform, jump left and spark up right to save Energy." }, { "id": 17, "link": [1, 2], - "name": "Use Flash Suit, Frozen Puyo Climb", + "name": "Use Stored Spark, Frozen Puyo Climb", "requires": [ "canTrickyUseFrozenEnemies", "canTrickyCarryFlashSuit", @@ -336,10 +354,11 @@ "Spazer", "Plasma" ]}, - {"useFlashSuit": {}}, + "h_storedSpark", {"shinespark": {"frames": 13, "excessFrames": 10}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "To save a lot of Energy, climb the room with ice before shinesparking to the door.", "To climb the room, stand on a frozen enemy, lure the Puyo from above and freeze it midair twice to progress." @@ -361,6 +380,7 @@ "canOffScreenMovement" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Climb up 2.5 screens.", "Stop when about half of Samus (or less) is visible at the top of the screen.", @@ -387,6 +407,7 @@ "canOffScreenMovement" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Climb up 2.5 screens.", "Stop when about half of Samus (or less) is visible at the top of the screen.", @@ -423,6 +444,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "IBJ up the climb. This is a lot easier with PBs or Spring Ball to help kill the enemies.", "With PBs, use one on entry to deal with the Puyos, then IBJ up the right side and use another to kill the middle Choot.", @@ -446,7 +468,8 @@ "canTrickyGrappleJump", "canMidairWiggle" ], - "flashSuitChecked": false + "flashSuitChecked": false, + "blueSuitChecked": true }, { "id": 23, @@ -472,7 +495,8 @@ ]} ]} ], - "flashSuitChecked": false + "flashSuitChecked": false, + "blueSuitChecked": true }, { "id": 24, @@ -502,7 +526,8 @@ ]} ]} ], - "flashSuitChecked": false + "flashSuitChecked": false, + "blueSuitChecked": true }, { "id": 25, @@ -526,7 +551,8 @@ "canMidairWiggle", "canBeExtremelyPatient" ], - "flashSuitChecked": false + "flashSuitChecked": false, + "blueSuitChecked": true }, { "id": 20, @@ -553,6 +579,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Moonfall from the ledge just below the door, then weave between the floating platforms.", "It is possible to either perform the mid-air spark at high speed while falling, or to land and jump into a mid-air spark.", @@ -573,7 +600,8 @@ "link": [2, 1], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 19, @@ -595,6 +623,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use a short speedball to destroy the top Choot or go under it.", "Then chain temporary blue into the next room." @@ -611,7 +640,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 26, @@ -629,6 +659,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "Max extra run speed $0.8" }, { @@ -637,6 +668,10 @@ "name": "Choot Farm", "requires": [ {"resetRoom": {"nodes": [2]}}, + {"or": [ + "canDash", + {"cycleFrames": 20} + ]}, {"or": [ {"and": [ "Grapple", @@ -658,6 +693,10 @@ "ScrewAttack", {"cycleFrames": 200} ]}, + {"and": [ + {"haveBlueSuit": {}}, + {"cycleFrames": 200} + ]}, {"and": [ "canPseudoScrew", {"cycleFrames": 220} @@ -670,7 +709,8 @@ ]} ], "farmCycleDrops": [{"enemy": "Choot", "count": 1}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 15, @@ -679,7 +719,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [ diff --git a/region/maridia/inner-yellow/Maridia Elevator Room.json b/region/maridia/inner-yellow/Maridia Elevator Room.json index 8a5df9b13c..74917cd8ba 100644 --- a/region/maridia/inner-yellow/Maridia Elevator Room.json +++ b/region/maridia/inner-yellow/Maridia Elevator Room.json @@ -126,7 +126,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -144,7 +145,8 @@ "minExtraRunSpeed": "$0.E" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 3, @@ -165,7 +167,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 4, @@ -187,7 +190,8 @@ "movementType": "uncontrolled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 5, @@ -204,7 +208,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 56, @@ -234,12 +239,14 @@ ]}, {"or": [ "Plasma", - "Charge" + "Charge", + {"haveBlueSuit": {}} ]}, {"cycleFrames": 300} ], "farmCycleDrops": [{"enemy": "Owtch", "count": 1}], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "The extra 300 frames is for waiting a random amount of time for the Owtch to go left.", "The Owtch can also be killed with Screw Attack,", @@ -255,7 +262,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 7, @@ -271,12 +279,13 @@ "canSpringBallJumpMidAir" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 8, "link": [1, 2], - "name": "Tricky Speedy Jump", + "name": "Tricky Dash Jump", "entranceCondition": { "comeInRunning": { "speedBooster": "yes", @@ -287,8 +296,20 @@ "canTrickyDashJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "This is mainly useful as an alternative to crouch-jump down-grab in order to preserve a flash suit." }, + { + "link": [1, 2], + "name": "Door Stuck Spin Jump", + "entranceCondition": { + "comeInWithDoorStuckSetup": {} + }, + "requires": [], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": "Get stuck in the door with Samus standing. Then turnaround spin jump to the right to reach the ledge above." + }, { "id": 54, "link": [1, 2], @@ -406,6 +427,7 @@ "requires": [], "wallJumpAvoid": true, "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "This is mainly useful as an alternative to crouch-jump down-grab in order to preserve a flash suit." }, { @@ -420,7 +442,8 @@ {"shinespark": {"frames": 21, "excessFrames": 10}}, {"enemyDamage": {"enemy": "Ripper", "type": "contact", "hits": 1}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 44, @@ -449,7 +472,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 45, @@ -481,7 +505,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 46, @@ -510,7 +535,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 10, @@ -543,7 +569,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 47, @@ -580,7 +607,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 11, @@ -606,7 +634,8 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 50, @@ -625,7 +654,8 @@ "requires": [ "canPreciseGrappleJump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 51, @@ -646,7 +676,8 @@ "requires": [ "canTrickyGrappleJump" ], - "flashSuitChecked": false + "flashSuitChecked": false, + "blueSuitChecked": true }, { "id": 13, @@ -693,6 +724,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Use Hijump or one walljump on the left before a diagonal spark.", "devNote": [ "We don't worry about optimizing energy with the walljump method since it's possible to use staggered walljumps to climb with no energy loss." @@ -701,12 +733,13 @@ { "id": 61, "link": [1, 3], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"shinespark": {"frames": 40, "excessFrames": 8}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Shinespark vertically up the right side of the shaft in order to avoid getting hit by the Ripper." }, { @@ -721,6 +754,7 @@ "canBePatient" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Climb up 2.5 screens." }, { @@ -739,7 +773,8 @@ "canTrickyWalljump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 16, @@ -777,6 +812,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "It is possible to kill the Rippers with a single Power Bomb by placing it at least 2 tiles above the lowest Ripper inside the narrow section of the shaft." }, { @@ -800,6 +836,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "The Rippers can be killed with two Power Bombs, or one carefully placed Power Bomb and a careful dodge of the top-most Ripper.", "With a single Power Bomb, use Spring Ball to avoid the first Ripper, then place the Power Bomb at least two tiles above the next. This can be achieved with a Staggered IBJ or a Spring Ball Bomb Boost.", @@ -837,6 +874,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "The Rippers can be killed with three Power Bombs, or one carefully placed Power Bomb, Gravity, and a careful dodge of the top-most Ripper.", "With a single Power Bomb, IBJ from the water to avoid the first Ripper, then place the Power Bomb at least two tiles above the next. This can be achieved with a Staggered IBJ.", @@ -848,7 +886,8 @@ "link": [2, 1], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 20, @@ -871,7 +910,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 48, @@ -891,7 +931,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 21, @@ -912,7 +953,8 @@ {"types": ["super"], "requires": []}, {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 22, @@ -931,7 +973,8 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 23, @@ -944,7 +987,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 24, @@ -953,7 +997,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 25, @@ -962,7 +1007,8 @@ "requires": [ "canTrivialUseFrozenEnemies" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 26, @@ -981,7 +1027,8 @@ "enemies": [["Ripper", "Ripper", "Ripper"]] }} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 27, @@ -1014,6 +1061,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Only the lowest three Rippers that are above the right door need to be killed. The highest of the three can barely be reached with a Super and HiJump.", "Or a PB placed slightly higher than a standard max jump, done by jumping from the door ledge, from an IBJ while avoiding the Ripper, or using 2 PBs." @@ -1030,7 +1078,8 @@ {"enemyDamage": {"enemy": "Ripper", "type": "contact", "hits": 2}} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 29, @@ -1049,6 +1098,7 @@ "canDownGrab" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain speed using at least 33 runway tiles in the other room.", "To avoid the Rippers, break spin and turn around right and then left." @@ -1071,6 +1121,7 @@ "canDownGrab" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain speed using between 36 and 42 tiles of runway (extra run speed between $6.4 and $6.F).", "Unmorph to retain blue speed to pass safely through the Rippers." @@ -1090,7 +1141,8 @@ "canTrickyJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 59, @@ -1106,6 +1158,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Align with the right wall of the shaft by pressing against it.", "Use precise Bomb placements to IBJ while dodging the Rippers." @@ -1162,6 +1215,7 @@ ], "wallJumpAvoid": true, "flashSuitChecked": true, + "blueSuitChecked": true, "detailNote": [ "This strat is included for completeness, though generally it would be easier to do a", "spring ball bounce instead." @@ -1197,7 +1251,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 32, @@ -1210,7 +1265,8 @@ {"shineChargeFrames": 20}, {"shinespark": {"frames": 36, "excessFrames": 10}} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 33, @@ -1223,14 +1279,15 @@ "canLongXRayClimb" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Climb up 1.5 screens." }, { "id": 42, "link": [2, 3], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"or": [ {"shinespark": {"frames": 24, "excessFrames": 2}}, {"and": [ @@ -1245,6 +1302,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Shinespark vertically up the right side of the shaft in order to avoid getting hit by the Ripper." }, { @@ -1262,7 +1320,8 @@ "requires": [ "canPreciseGrappleJump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 53, @@ -1278,7 +1337,8 @@ "canTrickyGrappleJump", "h_extremelyTrickyToCarryFlashSuit" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 34, @@ -1300,7 +1360,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 35, @@ -1338,6 +1399,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "It is possible to kill the Rippers with a single Power Bomb by placing it at least 2 tiles above the lowest Ripper inside the narrow section of the shaft." }, { @@ -1360,6 +1422,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "The Rippers can be killed with two Power Bombs, or one carefully placed Power Bomb and a careful dodge of the top-most Ripper.", "With a single Power Bomb, place it at least two tiles above the first Ripper. This can be achieved with a Staggered IBJ or a Spring Ball Bomb Boost.", @@ -1380,6 +1443,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Positioning so that Samus will be against the right wall of the shaft,", "use precise Bomb placements to IBJ while dodging the Rippers." @@ -1390,7 +1454,8 @@ "link": [3, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 49, @@ -1412,6 +1477,7 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Spin jump off the elevator platform, carefully passing between the Ripper and the right wall." ], @@ -1428,13 +1494,15 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 57, "link": [3, 3], "name": "Ripper Farm", "requires": [ + {"noBlueSuit": {}}, "ScrewAttack", {"or": [ {"and": [ @@ -1459,7 +1527,8 @@ ]} ], "farmCycleDrops": [{"enemy": "Ripper", "count": 6}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 43, @@ -1477,7 +1546,8 @@ "morphed": false } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 39, @@ -1486,7 +1556,8 @@ "requires": [ "canGMode" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 40, @@ -1500,7 +1571,8 @@ "morphed": false } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [ diff --git a/region/maridia/inner-yellow/Maridia Swiss Cheese Room.json b/region/maridia/inner-yellow/Maridia Swiss Cheese Room.json index 1e16e32c8e..55723c7bd8 100644 --- a/region/maridia/inner-yellow/Maridia Swiss Cheese Room.json +++ b/region/maridia/inner-yellow/Maridia Swiss Cheese Room.json @@ -104,6 +104,7 @@ } }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "If entering the room through the same door, stay on the ground (do not jump)", "to maintain the camera scroll, preventing the Menu from being lured up.", @@ -133,7 +134,10 @@ {"cycleFrames": 290} ]}, {"and": [ - "ScrewAttack", + {"or": [ + "ScrewAttack", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 290} ]}, {"and": [ @@ -157,6 +161,7 @@ "resetsObstacles": ["A"], "farmCycleDrops": [{"enemy": "Menu", "count": 2}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "A Menu can be activated by jumping on the doorway platform to scroll the camera down.", "A second Menu can be activated with a tricky jump onto the ledge on the right,", @@ -173,7 +178,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [1, 1], @@ -206,7 +212,8 @@ "leaveWithTemporaryBlue": {} }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 3, @@ -219,6 +226,7 @@ "leaveWithGModeSetup": {} }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Open the door and get into position, jump and aim down then walk through the door.", "If Samus is not able to reset the room, get close to the door with a vertically swooping Menu. Move forwards slowly luring it to the doorway." @@ -244,6 +252,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "The off screen portion can be simple with Spring Ball or two short IBJs." }, { @@ -263,6 +272,7 @@ "h_additionalBomb" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Use one bomb to get to the off-screen region. After going a full screen to the right, when Samus is partially visible in the left wall, bomb to the middle platform on the right.", "Bomb again to the right, note that these small platforms are one tile left of the ones that are on camera. Exit G-Mode and get to the right door." @@ -273,7 +283,8 @@ "link": [1, 3], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 42, @@ -341,6 +352,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "With Bombs alone, this is much more difficult. After going off screen, roll to the left until Samus is back on screen.", "Once Samus is obstructed by the first block, boost horizontally onto where the right edge of where the other on-screen platform is.", @@ -386,7 +398,8 @@ } }, "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 41, @@ -404,7 +417,8 @@ ]} ], "unlocksDoors": [{"types": ["ammo"], "requires": []}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 9, @@ -417,7 +431,8 @@ }, "requires": [], "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 10, @@ -435,7 +450,8 @@ } }, "bypassesDoorShell": "yes", - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 11, @@ -451,6 +467,7 @@ ], "bypassesDoorShell": "yes", "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Exit the previous room with Samus in a standing pose (while grappled).", "After teleporting, press right to release Grapple while staying standing (not being forced into a crouch).", @@ -473,7 +490,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 14, @@ -501,7 +519,8 @@ ]} ], "clearsObstacles": ["A"], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 35, @@ -518,6 +537,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Gain temporary blue using the in-room runway.", "Wait by the morph tunnel until the tidal water is about halfway through its rising phase;", @@ -533,7 +553,8 @@ {"enemyDamage": {"enemy": "Menu", "type": "contact", "hits": 1}} ], "clearsObstacles": ["A"], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 40, @@ -542,11 +563,19 @@ "requires": [ {"resetRoom": {"nodes": [2]}}, "canDodgeWhileShooting", + {"or": [ + "canDash", + {"cycleFrames": 50} + ]}, {"or": [ {"and": [ "ScrewAttack", {"cycleFrames": 210} ]}, + {"and": [ + {"haveBlueSuit": {}}, + {"cycleFrames": 210} + ]}, {"and": [ "Plasma", {"cycleFrames": 220} @@ -578,6 +607,7 @@ "clearsObstacles": ["A"], "farmCycleDrops": [{"enemy": "Menu", "count": 2}], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": ["FIXME: It is also posssible to farm Owtches and/or additional Menus."] }, { @@ -588,7 +618,8 @@ "h_CrystalFlash" ], "clearsObstacles": ["A"], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 17, @@ -598,7 +629,8 @@ "exitCondition": { "leaveWithGModeSetup": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 18, @@ -611,7 +643,8 @@ ]}, {"obstaclesCleared": ["A"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 43, @@ -665,28 +698,31 @@ { "id": 19, "link": [2, 3], - "name": "MidAir Morph with Gravity", + "name": "Mid-Air Morph with Gravity", "requires": [ "canMidAirMorph", "Gravity", + "canDash", "canTrickyJump", {"obstaclesCleared": ["A"]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ - "With Gravity, it's possible to move forward and mid-air morph into the morph passage.", + "With Gravity, it's possible to run forward and mid-air morph into the morph passage.", "The momentum can push Samus into the tunnel, no need to press forward while in mid-air." ] }, { "id": 20, "link": [2, 3], - "name": "Suitless MidAir Morph", + "name": "Suitless Mid-Air Morph", "requires": [ "h_threeTileJumpMorph", {"obstaclesCleared": ["A"]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 21, @@ -694,6 +730,7 @@ "name": "Frozen Menu Bridge", "requires": [ {"notable": "Frozen Menu Bridge"}, + {"noBlueSuit": {}}, "Morph", "h_navigateUnderwater", "canTrickyUseFrozenEnemies", @@ -701,12 +738,16 @@ {"enemyDamage": {"enemy": "Menu", "type": "contact", "hits": 2}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Freeze one of the Menus (bugs) in a position where you can use it to get into the morph passage.", "One of the easier methods is with a damage boost. Stand in the water, take a hit for positioning, and freeze the bug near but left of Samus.", "Then morph on top and damage boost into the morph tunnel as it unfreezes." ], - "devNote": "FIXME: There is a damageless variant where Samus jumps high before morphing, giving a small bounce as she lands on the bug to get through the tunnel." + "devNote": [ + "FIXME: There is a damageless variant where Samus jumps high before morphing, giving a small bounce as she lands on the bug to get through the tunnel.", + "FIXME: This could be done with a blue suit, with greater difficulty." + ] }, { "id": 22, @@ -745,7 +786,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 36, @@ -766,6 +808,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Kill the Menus and Space Jump up.", "devNote": "With Space Jump alone with low tech, tanking the damage is not likely going to work." }, @@ -778,6 +821,7 @@ {"or": [ "h_usePowerBomb", "ScrewAttack", + {"haveBlueSuit": {}}, "Plasma", {"and": [ "Ice", @@ -794,11 +838,12 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Kill or tank the Menus or spin jump directly from the safety to the right up to the ledge.", "With a spin jump, Samus can make it to the ledge without a wall jump or other means." ], - "devNote": "The safe direct jump is not expected here and is included in another srat, but it is still worth mentioning here." + "devNote": "The safe direct jump is not expected here and is included in another strat, but it is still worth mentioning here." }, { "id": 37, @@ -809,6 +854,7 @@ "canTrickyJump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Use the full runway to jump up to the higher ledge." }, { @@ -823,6 +869,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "From the safe ledge on the lower right, jump directly to the top ledge without getting hit by the Menus.", "With HiJump, a spin jump can get Samus onto the ledge.", @@ -841,7 +888,8 @@ "canTrickySpringBallJump" ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 25, @@ -861,7 +909,8 @@ {"enemyDamage": {"enemy": "Menu", "type": "contact", "hits": 1}} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 26, @@ -878,6 +927,7 @@ "enemies": [["Menu", "Menu", "Menu"]], "explicitWeapons": ["PowerBomb", "ScrewAttack", "Plasma", "Missile", "Super", "Grapple"] }}, + {"haveBlueSuit": {}}, {"and": [ {"enemyKill": { "enemies": [["Menu", "Menu", "Menu"]] @@ -899,6 +949,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "The Menus are relatively hard to dodge, and would end up with the same requirements as killing them with the Power Beam." }, { @@ -916,6 +967,7 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Charge a spark below towards the right then run back and jump up and spark out of the left door." }, { @@ -948,17 +1000,19 @@ }, "unlocksDoors": [{"types": ["ammo"], "requires": []}], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "Run to the left to gain a shinecharge, and use the last few tiles of runway to jump up to the ledge above." }, { "id": 33, "link": [3, 1], - "name": "Use Flash Suit", + "name": "Use Stored Spark", "requires": [ - {"useFlashSuit": {}}, + "h_storedSpark", {"shinespark": {"frames": 15, "excessFrames": 10}} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": "It is possible to spark into the tip of the upper ledge then fall onto the lower, but that is not expected here." }, { @@ -968,12 +1022,13 @@ "requires": [ "Morph" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 31, "link": [3, 2], - "name": "Shinespark Out Right", + "name": "Leave with Spark", "requires": [ "Gravity", "canShinechargeMovementComplex", @@ -999,6 +1054,7 @@ } ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Charge on the central runway then carry the spark through the morph tunnel and out the right door.", "The door can be shot just before initiating the spark.", @@ -1008,7 +1064,7 @@ { "id": 32, "link": [3, 2], - "name": "Suitless Shinespark Out Right", + "name": "Leave With Spark (Suitless)", "requires": [ "canSuitlessMaridia", "canShinechargeMovementComplex", @@ -1034,6 +1090,7 @@ } ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Charge on the central runway then carry the spark through the morph tunnel and out the right door.", "This can be done by being careful not to fall off of the runway and into the water or timing the tide.", diff --git a/region/maridia/inner-yellow/Plasma Beach Quicksand Room.json b/region/maridia/inner-yellow/Plasma Beach Quicksand Room.json index 6a27a1491e..c7f956c349 100644 --- a/region/maridia/inner-yellow/Plasma Beach Quicksand Room.json +++ b/region/maridia/inner-yellow/Plasma Beach Quicksand Room.json @@ -51,14 +51,16 @@ {"enemyDamage": {"enemy": "Bull", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, "link": [1, 2], "name": "Base", "requires": [], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -76,6 +78,7 @@ "leaveShinecharged": {} }, "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "If in a falling state (as opposed to jumping), spin jump off the bottom ledge in order to be able to mid-air spark in the room below." ] @@ -102,7 +105,8 @@ "morphed": false } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 4, @@ -126,7 +130,8 @@ "morphed": true } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [], diff --git a/region/maridia/inner-yellow/Plasma Room.json b/region/maridia/inner-yellow/Plasma Room.json index 307ebed96f..1a875019d1 100644 --- a/region/maridia/inner-yellow/Plasma Room.json +++ b/region/maridia/inner-yellow/Plasma Room.json @@ -29,10 +29,9 @@ { "name": "Base", "requires": [ - {"obstaclesCleared": ["A"]} + {"obstaclesCleared": ["A", "B", "C"]} ], - "flashSuitChecked": true, - "note": "To avoid redundant requirements, obstacle must be destroyed by going to 2->3->1." + "flashSuitChecked": true } ], "yields": ["f_ZebesAwake"] @@ -59,26 +58,34 @@ }, { "id": 3, - "name": "Central Junction, All Standing Pirates Killed", + "name": "Central Junction", "nodeType": "junction", "nodeSubType": "junction", "mapTileMask": [ [1, 1], [2, 2], [1, 1] - ], - "note": "Intended to logically separate killing the standing enemies (who have actual requirements) from climbing out of the room." + ] } ], "obstacles": [ { "id": "A", - "name": "Pink Pirates", + "name": "Top Pink Pirate", "obstacleType": "enemies", - "note": "Enemies that must be cleared to unlock the room. Take note that the wall pirates do not have special immunities." + "note": "The Pink Pirate standing at the top center of the room." }, { "id": "B", + "name": "Central Pink Pirates", + "obstacleType": "enemies", + "note": [ + "The two standing Pink Pirates in the center of the room, and the wall Pirates.", + "Note that the wall pirates do not have special immunities and can be killed with Power Beam." + ] + }, + { + "id": "C", "name": "Bottom Pink Pirate", "obstacleType": "enemies", "note": "The lowest Pink Pirate, on the runway near the item." @@ -119,7 +126,8 @@ "openEnd": 1 } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 2, @@ -137,7 +145,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 3, @@ -158,7 +167,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 4, @@ -180,7 +190,8 @@ "movementType": "uncontrolled" } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 5, @@ -197,7 +208,8 @@ } } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 6, @@ -214,7 +226,57 @@ "exitCondition": { "leaveWithTemporaryBlue": {} }, - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [1, 1], + "name": "Simple Top Pirate Kill", + "requires": [ + {"or": [ + "Plasma", + "ScrewAttack", + {"haveBlueSuit": {}} + ]} + ], + "clearsObstacles": ["A"], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [1, 1], + "name": "Pseudo Screw Top Pirate Kill", + "requires": [ + "canPseudoScrew", + {"or": [ + {"enemyDamage": { + "enemy": "Pink Space Pirate (standing)", + "type": "contact", + "hits": 1 + }}, + "h_pauseAbuseMinimalReserveRefill" + ]} + ], + "clearsObstacles": ["A"], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [1, 1], + "name": "Damage-Avoiding Pseudo-Screw Top Pirate Kill", + "requires": [ + {"notable": "Damage-Avoiding Pseudo-Screw"}, + "canPseudoScrew", + "canInsaneJump" + ], + "clearsObstacles": ["A"], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Use a precisely positioned pseudo-screw to contact a Pirate for exactly one frame,", + "to hit it without taking damage in return.", + "A regular second pseudo-screw can then be used to kill the Pirate." + ] }, { "id": 7, @@ -222,6 +284,10 @@ "name": "Pirate Farm (All Pirates)", "requires": [ {"resetRoom": {"nodes": [1]}}, + {"or": [ + "canDash", + {"cycleFrames": 100} + ]}, {"or": [ {"and": [ "HiJump", @@ -263,15 +329,17 @@ ]}, {"or": [ "ScrewAttack", + {"haveBlueSuit": {}}, "Plasma" ]} ], - "clearsObstacles": ["A", "B"], + "resetsObstacles": ["A", "B", "C"], "farmCycleDrops": [ {"enemy": "Pink Space Pirate (standing)", "count": 4}, {"enemy": "Pink Space Pirate (wall)", "count": 2} ], "flashSuitChecked": true, + "blueSuitChecked": true, "devNote": [ "FIXME: Add option to kill the Pirates with speed echoes, and possibly to get back up with a shinespark." ] @@ -282,20 +350,28 @@ "name": "Pirate Farm (Single Pirate)", "requires": [ {"resetRoom": {"nodes": [1]}}, + {"or": [ + "canDash", + {"cycleFrames": 120} + ]}, {"or": [ {"and": [ "Plasma", {"cycleFrames": 210} ]}, {"and": [ - "ScrewAttack", + {"or": [ + "ScrewAttack", + {"haveBlueSuit": {}} + ]}, {"cycleFrames": 255} ]} ]} ], - "resetsObstacles": ["A", "B"], + "resetsObstacles": ["A", "B", "C"], "farmCycleDrops": [{"enemy": "Pink Space Pirate (standing)", "count": 1}], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 8, @@ -304,7 +380,8 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 34, @@ -326,6 +403,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Crystal Flash behind the pirate while it is turning its head. It will turn around during the Crystal Flash and shoot Samus with lasers.", "Quickly remorph once Samus regains mobility to prevent taking a third laser hit." @@ -338,7 +416,7 @@ { "id": 35, "link": [1, 1], - "name": "Direct G-mode Morph, Crystal Flash Interrupt", + "name": "Direct G-Mode Morph, Crystal Flash Interrupt", "entranceCondition": { "comeInWithGMode": { "mode": "direct", @@ -358,6 +436,7 @@ ]} ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "On entry, the pirate will place a stationary, invisible laser.", "Cross the chasm while trying to avoid allowing it to place more lasers, with a bomb boost or spring fling.", @@ -365,13 +444,6 @@ "Just before it is about to rotate its head again, Crystal Flash in a spot that is free of lasers in order to be able to gain some Reserve Energy before getting hit." ] }, - { - "id": 9, - "link": [1, 2], - "name": "Base", - "requires": [], - "flashSuitChecked": true - }, { "id": 36, "link": [1, 2], @@ -423,7 +495,7 @@ {"autoReserveTrigger": {"maxReserveEnergy": 95}}, "canRModeSparkInterrupt" ], - "clearsObstacles": ["A"], + "clearsObstacles": ["A", "C"], "flashSuitChecked": true, "blueSuitChecked": true, "note": [ @@ -432,146 +504,77 @@ ] }, { - "id": 10, - "link": [2, 1], + "id": 9, + "link": [1, 3], "name": "Base", - "requires": [ - "SpaceJump" - ], - "flashSuitChecked": true - }, - { - "id": 11, - "link": [2, 1], - "name": "Insane Walljump", - "requires": [ - "canInsaneWalljump", - "canConsecutiveWalljump" - ], - "flashSuitChecked": true, - "note": "Either kill the wall Pirate or lead it to jump across the room; dodge the standing Pirate." - }, - { - "id": 12, - "link": [2, 1], - "name": "HiJump Walljump", - "requires": [ - "HiJump", - "canPreciseWalljump" - ], - "flashSuitChecked": true, - "note": "Either kill the wall Pirate or lead it to jump across the room; dodge the standing Pirate." - }, - { - "id": 13, - "link": [2, 1], - "name": "HiJump Speedy Jump", - "requires": [ - "HiJump", - "canSpeedyJump", - "canTrickyJump", - "canWalljump" - ], - "flashSuitChecked": true, - "note": [ - "Watch the right-side standing Pirate walk towards the wall as far as possible from below.", - "The available running space is just enough to jump up and wall jump the ledge by the door." - ], - "devNote": "This is also possible without going below and manipulating the camera, by standing on the slope and carefully jumping up and back." - }, - { - "id": 14, - "link": [2, 1], - "name": "HiJump Speedy Jump with Damage", - "requires": [ - "HiJump", - "canSpeedyJump", - "canWalljump", - "canUseIFrames", - {"enemyDamage": { - "enemy": "Pink Space Pirate (standing)", - "type": "laser", - "hits": 1 - }} - ], + "requires": [], "flashSuitChecked": true, - "note": "Take a hit from the pirate to gain i-frames for running through the pirate to use for a longer runway." + "blueSuitChecked": true }, { - "id": 15, + "id": 25, "link": [2, 1], - "name": "Kill one then IBJ", + "name": "Shinespark", "requires": [ + {"obstaclesCleared": ["C"]}, + "canShinechargeMovement", + {"canShineCharge": {"usedTiles": 21, "openEnd": 0}}, {"or": [ - "canLongIBJ", - {"and": [ - "HiJump", - "canJumpIntoIBJ" - ]} - ]}, - {"or": [ - {"obstaclesCleared": ["A"]}, {"and": [ - {"obstaclesCleared": ["B"]}, - {"canShineCharge": {"usedTiles": 21, "openEnd": 0}}, - "canMidairShinespark", - "canUseSpeedEchoes", - {"shinespark": {"frames": 1, "excessFrames": 1}} + {"or": [ + "HiJump", + "canWalljump", + {"and": [ + "canShinechargeMovementComplex", + {"or": [ + "canSpeedyJump", + "canSpringBallJumpMidAir" + ]} + ]} + ]}, + {"shinespark": {"frames": 28, "excessFrames": 8}} ]}, {"and": [ - "canPseudoScrew", {"or": [ - {"enemyDamage": { - "enemy": "Pink Space Pirate (standing)", - "type": "contact", - "hits": 1 - }}, - "h_pauseAbuseMinimalReserveRefill" - ]} + {"and": [ + "canShinechargeMovementComplex", + "canWalljump" + ]}, + {"and": [ + "canShinechargeMovementTricky", + {"or": [ + "canSpeedyJump", + "canSpringBallJumpMidAir" + ]} + ]} + ]}, + {"shinespark": {"frames": 20, "excessFrames": 8}} + ]}, + {"and": [ + "HiJump", + "canShinechargeMovementComplex", + {"shinespark": {"frames": 16, "excessFrames": 8}} + ]}, + {"and": [ + "HiJump", + "canSpeedyJump", + "canShinechargeMovementTricky", + {"shinespark": {"frames": 11, "excessFrames": 8}} ]} ]} ], "flashSuitChecked": true, - "note": "Kill the standing pirate on the left then IBJ to escape. Killing it can be done with pseudo screw or with shinesparks." - }, - { - "id": 16, - "link": [2, 1], - "name": "Jump into IBJ over the Pirate", - "requires": [ - "canDodgeWhileShooting", - "canJumpIntoIBJ", - {"or": [ - "canLongIBJ", - "HiJump" - ]} - ], - "flashSuitChecked": true, - "failures": [ - { - "name": "Fail Bomb Jump", - "cost": [ - {"enemyDamage": { - "enemy": "Pink Space Pirate (standing)", - "type": "laser", - "hits": 1 - }} - ] - } - ], - "note": "Let the wall pirate jump to the otherside of the room. Shooting the standing pirate (with anything) will prevent it from attacking." + "blueSuitChecked": true }, { "id": 17, "link": [2, 1], - "name": "Kill Pirates With Shinesparks And Escape", + "name": "Shinespark Kill Top Pirate", "requires": [ - {"obstaclesCleared": ["B"]}, + {"obstaclesCleared": ["C"]}, "canShinechargeMovementComplex", "canUseSpeedEchoes", {"canShineCharge": {"usedTiles": 21, "openEnd": 0}}, - {"shinespark": {"frames": 2, "excessFrames": 2}}, - {"canShineCharge": {"usedTiles": 21, "openEnd": 0}}, {"or": [ {"and": [ {"or": [ @@ -611,6 +614,7 @@ ], "clearsObstacles": ["A"], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "Using the bottom of the room, shortcharge to use the echoes created by shinesparking to kill all of the Standing Pirates.", "Turn around and diagonal spark the ceiling to kill the pirates.", @@ -619,72 +623,57 @@ ] }, { - "id": 18, - "link": [2, 1], - "name": "Frozen Wall Pirate Escape", + "link": [2, 2], + "name": "Simple Bottom Pirate Kill", "requires": [ - "canTrickyUseFrozenEnemies", - "canPreciseWalljump" + {"or": [ + "Plasma", + "ScrewAttack", + {"haveBlueSuit": {}} + ]} ], + "clearsObstacles": ["C"], "flashSuitChecked": true, - "note": [ - "Shoot at a wall pirate from below to freeze it. Plasma is not required for wall pirates.", - "Firing at a Standing Pirate with anything will prevent it from shooting for a short time." - ] + "blueSuitChecked": true }, { - "id": 19, - "link": [2, 1], - "name": "Walljump Springball Jump", + "link": [2, 2], + "name": "Pseudo Screw Bottom Pirate Kill", "requires": [ - "canSpringwall" + "canPseudoScrew", + {"or": [ + {"enemyDamage": { + "enemy": "Pink Space Pirate (standing)", + "type": "contact", + "hits": 1 + }}, + "h_pauseAbuseMinimalReserveRefill" + ]} ], - "flashSuitChecked": true + "clearsObstacles": ["C"], + "flashSuitChecked": true, + "blueSuitChecked": true }, { - "id": 20, - "link": [2, 1], - "name": "HiJump Springball Jump", + "link": [2, 2], + "name": "Damage-Avoiding Pseudo-Screw Bottom Pirate Kill", "requires": [ - "HiJump", - "canSpringBallJumpMidAir" + {"notable": "Damage-Avoiding Pseudo-Screw"}, + "canPseudoScrew", + "canInsaneJump" ], - "flashSuitChecked": true - }, - { - "id": 31, - "link": [2, 1], - "name": "Use Flash Suit", - "requires": [ - {"useFlashSuit": {}}, - {"or": [ - {"shinespark": {"frames": 20, "excessFrames": 2}}, - {"and": [ - "HiJump", - {"shinespark": {"frames": 17, "excessFrames": 3}} - ]} - ]} - ], - "flashSuitChecked": true, - "devNote": "This can be done with less Energy, but it is likely the upper pirate will shoot Samus." - }, - { - "link": [2, 2], - "name": "Kill Pirates (Simple Weapons)", - "requires": [ - {"or": [ - "Plasma", - "ScrewAttack" - ]} - ], - "clearsObstacles": ["A", "B"], - "flashSuitChecked": true, - "blueSuitChecked": true, - "devNote": "The top pirate can't be killed from here, but Samus can kill it on the way out." + "clearsObstacles": ["C"], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Use a precisely positioned pseudo-screw to contact a Pirate for exactly one frame,", + "to hit it without taking damage in return.", + "A regular second pseudo-screw can then be used to kill the Pirate." + ] }, { "link": [2, 2], - "name": "Kill Lowest Runway Pirate (Blue Speed)", + "name": "Blue Speed Bottom Pirate Kill", "requires": [ {"or": [ "Morph", @@ -715,7 +704,7 @@ ]} ]} ], - "clearsObstacles": ["B"], + "clearsObstacles": ["C"], "flashSuitChecked": true, "blueSuitChecked": true, "failures": [ @@ -741,53 +730,19 @@ }, { "link": [2, 2], - "name": "Kill Lowest Runway Pirate (Pseudo Screw)", + "name": "Shinespark Echoes Central Pirates Kill", "requires": [ - "canPseudoScrew", - {"or": [ - {"enemyDamage": { - "enemy": "Pink Space Pirate (standing)", - "type": "contact", - "hits": 1 - }}, - "h_pauseAbuseMinimalReserveRefill" - ]} + {"obstaclesCleared": ["C"]}, + "canShinechargeMovementComplex", + "canUseSpeedEchoes", + {"canShineCharge": {"usedTiles": 21, "openEnd": 0}}, + {"shinespark": {"frames": 2, "excessFrames": 2}} ], "clearsObstacles": ["B"], "flashSuitChecked": true, - "blueSuitChecked": true - }, - { - "id": 32, - "link": [2, 2], - "name": "Damage-Avoiding Pseudo-Screw", - "requires": [ - {"notable": "Damage-Avoiding Pseudo-Screw"}, - "canPseudoScrew", - "canInsaneJump", - {"or": [ - {"enemyDamage": { - "enemy": "Pink Space Pirate (standing)", - "type": "contact", - "hits": 2 - }}, - "canBeVeryPatient" - ]} - ], - "clearsObstacles": ["A", "B"], - "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ - "Use a precisely positioned pseudo-screw to contact a Pirate for exactly one frame,", - "to hit it without taking damage in return.", - "A regular second pseudo-screw can then be used to kill the Pirate.", - "Repeat this to kill all the standing Pirates." - ], - "detailNote": [ - "For lenience, the base version of the strat assumes taking two Pirate hits,", - "though it is possible to avoid all damage." - ], - "devNote": [ - "FIXME: The `canBeVeryPatient` is for difficulty placement but should be replaced with a more appropriate tech." + "Using the bottom of the room, shortcharge to use the echoes created by shinesparking to kill the two central standing Pirates." ] }, { @@ -796,13 +751,14 @@ "requires": [ "h_CrystalFlash" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "link": [2, 2], "name": "In-Room Crystal Spark", "requires": [ - {"obstaclesCleared": ["B"]}, + {"obstaclesCleared": ["C"]}, {"canShineCharge": {"usedTiles": 21, "openEnd": 0}}, "h_CrystalSpark" ], @@ -814,114 +770,221 @@ "link": [2, 3], "name": "Base", "requires": [ - {"obstaclesCleared": ["A"]} + {"or": [ + "canWalljump", + "h_crouchJumpDownGrab", + "HiJump", + "SpaceJump", + "canSpringBallJumpMidAir", + "canSpringBallBombJump" + ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { - "id": 22, "link": [2, 3], - "name": "Pseudo Screw Pirate Kill", + "name": "IBJ", "requires": [ - {"obstaclesCleared": ["B"]}, - "canPseudoScrew", + "canIBJ", {"or": [ - {"enemyDamage": { - "enemy": "Pink Space Pirate (standing)", - "type": "contact", - "hits": 3 - }}, {"and": [ - "h_pauseAbuseMinimalReserveRefill", - "h_pauseAbuseMinimalReserveRefill", - "h_pauseAbuseMinimalReserveRefill" - ]} + "canJumpIntoIBJ", + "canDodgeWhileShooting" + ]}, + {"obstaclesCleared": ["C"]} ]} ], - "clearsObstacles": ["A"], "flashSuitChecked": true, - "note": "The 4 standing pirates take 2 Pseudo Screws to kill each, so Samus must take 4 hits. No damage is taken when the enemy dies.", - "devNote": "Samus is expected to kill the lowest pirate first by any means. This also makes it possible to Crystal Flash in between kills." + "blueSuitChecked": true + }, + { + "link": [2, 3], + "name": "Speedy Jump", + "requires": [ + "canSpeedyJump", + {"or": [ + {"obstaclesCleared": ["C"]}, + "canTrickyDodgeEnemies" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "If the bottom Pirate is still alive, lure it to the left to open up the runway for a speedy jump." + ] + }, + { + "link": [2, 3], + "name": "Frozen Pirate", + "requires": [ + {"obstaclesNotCleared": ["C"]}, + "canTrickyUseFrozenEnemies", + "Plasma" + ], + "clearsObstacles": ["C"], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "After using the Pirate as a platform, it can be killed from above." + ] }, { - "id": 23, + "link": [2, 3], + "name": "Unmorph Bomb Boost", + "requires": [ + "canUnmorphBombBoost", + "canDownGrab" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "id": 10, "link": [3, 1], "name": "Base", "requires": [ + "SpaceJump" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "id": 12, + "link": [3, 1], + "name": "HiJump Wall Jump", + "requires": [ + "HiJump", + "canPreciseWalljump" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": "Either kill the wall Pirate or lead it to jump across the room; dodge the standing Pirate if it is still alive." + }, + { + "id": 13, + "link": [3, 1], + "name": "Speedy HiJump Wall Jump (Avoid Pirate)", + "requires": [ + "HiJump", + "canSpeedyJump", + "canWalljump", {"or": [ - "SpaceJump", - "canLongIBJ", - {"and": [ - "HiJump", - "canJumpIntoIBJ" - ]} + "canTrickyJump", + {"obstaclesCleared": ["B"]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "If the right-side standing Pirate is still laive, let it walk towards the wall as far as possible from below.", + "The available running space is just enough to jump up and wall jump the ledge by the door." + ], + "devNote": "This is also possible without going below and manipulating the camera, by standing on the slope and carefully jumping up and back." }, { "id": 24, "link": [3, 1], - "name": "Speedy HiJump Wall Jump", + "name": "Speedy HiJump Wall Jump (Pirates Cleared)", "requires": [ + {"obstaclesCleared": ["B"]}, "canSpeedyJump", "HiJump", "canWalljump" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { - "id": 25, + "id": 11, "link": [3, 1], - "name": "Shinespark", + "name": "Insane Wall Jump", "requires": [ - "canShinechargeMovement", - {"canShineCharge": {"usedTiles": 21, "openEnd": 0}}, + "canInsaneWalljump", + "canConsecutiveWalljump" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": "Either kill the wall Pirate or lead it to jump across the room; dodge the standing Pirate." + }, + { + "id": 15, + "link": [3, 1], + "name": "IBJ", + "requires": [ + {"obstaclesCleared": ["B"]}, {"or": [ - {"and": [ - {"or": [ - "HiJump", - "canWalljump", - {"and": [ - "canShinechargeMovementComplex", - {"or": [ - "canSpeedyJump", - "canSpringBallJumpMidAir" - ]} - ]} - ]}, - {"shinespark": {"frames": 28, "excessFrames": 8}} - ]}, - {"and": [ - {"or": [ - {"and": [ - "canShinechargeMovementComplex", - "canWalljump" - ]}, - {"and": [ - "canShinechargeMovementTricky", - {"or": [ - "canSpeedyJump", - "canSpringBallJumpMidAir" - ]} - ]} - ]}, - {"shinespark": {"frames": 20, "excessFrames": 8}} - ]}, + "canLongIBJ", {"and": [ "HiJump", - "canShinechargeMovementComplex", - {"shinespark": {"frames": 16, "excessFrames": 8}} - ]}, + "canJumpIntoIBJ" + ]} + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "id": 16, + "link": [3, 1], + "name": "Jump into IBJ over the Pirate", + "requires": [ + "canDodgeWhileShooting", + "canJumpIntoIBJ", + {"or": [ + "canLongIBJ", + "HiJump" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "failures": [ + { + "name": "Fail Bomb Jump", + "cost": [ + {"enemyDamage": { + "enemy": "Pink Space Pirate (standing)", + "type": "laser", + "hits": 1 + }} + ] + } + ], + "note": "Let the wall pirate jump to the other side of the room. Shooting the standing pirate (with anything) will prevent it from attacking." + }, + { + "id": 18, + "link": [3, 1], + "name": "Frozen Wall Pirate Escape", + "requires": [ + "canTrickyUseFrozenEnemies", + "canPreciseWalljump" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Shoot at a wall pirate from below to freeze it. Plasma is not required for wall pirates.", + "Firing at a Standing Pirate with anything will prevent it from shooting for a short time." + ], + "devNote": ["FIXME: With Plasma, it is possible to use two frozen pirates to escape without wall jump or movement items."] + }, + { + "id": 31, + "link": [3, 1], + "name": "Use Stored Spark", + "requires": [ + "h_storedSpark", + {"or": [ + {"shinespark": {"frames": 20, "excessFrames": 2}}, {"and": [ "HiJump", - "canSpeedyJump", - "canShinechargeMovementTricky", - {"shinespark": {"frames": 11, "excessFrames": 8}} + {"shinespark": {"frames": 17, "excessFrames": 3}} ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": "This can be done with less Energy, but it is likely the upper pirate will shoot Samus." }, { "id": 26, @@ -933,6 +996,7 @@ "canCameraManip" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": [ "It's possible to climb up with just ice by freezing the wall space pirates (who can be frozen and killed without Plasma).", "Clearing the gray door lock would require killing the frozen pirate after using it to climb.", @@ -941,45 +1005,105 @@ "After reaching the top, it can help to reset the camera by moving to the right on the center platform and then back left." ] }, - { - "id": 27, - "link": [3, 1], - "name": "Hijump Walljump", - "requires": [ - "canPreciseWalljump", - "HiJump" - ], - "flashSuitChecked": true - }, { "id": 28, "link": [3, 1], - "name": "Hjless Walljump", + "name": "HiJumpless Wall Jump", "requires": [ "canInsaneWalljump", "canConsecutiveWalljump" ], "flashSuitChecked": true, + "blueSuitChecked": true, "note": "This is the same size of ledge as Worst Room in the Game." }, { "id": 29, "link": [3, 1], - "name": "Walljump Springball Jump", + "name": "Wall Jump Spring Ball Jump", "requires": [ "canSpringwall" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true }, { "id": 30, "link": [3, 1], - "name": "HiJump Springball Jump", + "name": "HiJump Spring Ball Jump", "requires": [ "HiJump", "canSpringBallJumpMidAir" ], - "flashSuitChecked": true + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [3, 2], + "name": "Base", + "requires": [], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [3, 3], + "name": "Simple Central Pirates Kill", + "requires": [ + {"or": [ + "Plasma", + "ScrewAttack", + {"haveBlueSuit": {}} + ]} + ], + "clearsObstacles": ["B"], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [3, 3], + "name": "Pseudo Screw Central Pirates Kill", + "requires": [ + "canPseudoScrew", + {"or": [ + {"enemyDamage": { + "enemy": "Pink Space Pirate (standing)", + "type": "contact", + "hits": 2 + }}, + {"and": [ + "h_pauseAbuseMinimalReserveRefill", + "h_pauseAbuseMinimalReserveRefill" + ]} + ]} + ], + "clearsObstacles": ["B"], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [3, 3], + "name": "Damage-Avoiding Pseudo-Screw Central Pirates", + "requires": [ + {"notable": "Damage-Avoiding Pseudo-Screw"}, + "canPseudoScrew", + "canInsaneJump", + "canBeVeryPatient" + ], + "clearsObstacles": ["B"], + "flashSuitChecked": true, + "blueSuitChecked": true, + "note": [ + "Use a precisely positioned pseudo-screw to contact a Pirate for exactly one frame,", + "to hit it without taking damage in return.", + "A regular second pseudo-screw can then be used to kill the Pirate.", + "Repeat this with the second standing central Pirate." + ], + "devNote": [ + "FIXME: The `canBeVeryPatient` is for difficulty placement but should be replaced with a more appropriate tech.", + "This is not because killing the central Pirates is any more difficult than the top or bottom ones;", + "but because killing all four without taking damage is difficult.", + "Without canBeVeryPatient, a total of 2 hits would be expected to kill all four Pirates." + ] } ], "notables": [ diff --git a/region/maridia/roomDiagrams/inner-yellow_PlasmaRoom_219.png b/region/maridia/roomDiagrams/inner-yellow_PlasmaRoom_219.png index a4d03c17f3..4c5c6e93c5 100644 Binary files a/region/maridia/roomDiagrams/inner-yellow_PlasmaRoom_219.png and b/region/maridia/roomDiagrams/inner-yellow_PlasmaRoom_219.png differ