Room ID: 214
Exit condition: { "leaveWithRunway": { "length": 5, "openEnd": 1 } } |
A half tile is considered unusable, in order to be able to quickly spin jump forward after gaining the shinecharge. Requires: "Gravity" { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } } "canShinechargeMovementComplex" { "shinespark": { "frames": 28, "excessFrames": 0 } } Exit condition: { "leaveWithSpark": { "position": "top" } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" Exit condition: { "leaveWithMockball": { "remoteRunway": { "length": 8, "openEnd": 0 }, "landingRunway": { "length": 5, "openEnd": 1 } } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 8, "openEnd": 0 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 8, "openEnd": 0 } } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" "SpaceJump" "canTrickyJump" Exit condition: { "leaveSpinning": { "remoteRunway": { "length": 14, "openEnd": 1 } } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" "SpaceJump" "canTrickyJump" Exit condition: { "leaveWithMockball": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 } } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" "SpaceJump" "canTrickyJump" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" "canTrickyJump" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "controlled" } } |
From: 1
Left Door
To: 1
Left Door
Requires: "Gravity" "canPreciseSpaceJump" Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 14, "openEnd": 1 } } } |
A half tile is considered unusable, in order to avoid sliding into the wall and losing blue state. Requires: "Gravity" { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } } "canLongChainTemporaryBlue" Exit condition: { "leaveWithTemporaryBlue": {} } |
From: 1
Left Door
To: 1
Left Door
Requires: "SpaceJump" "canTrickyJump" Exit condition: { "leaveSpinning": { "remoteRunway": { "length": 6, "openEnd": 2 } } } |
From: 1
Left Door
To: 1
Left Door
Requires: "SpaceJump" "canTrickyJump" Exit condition: { "leaveWithMockball": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 } } } |
From: 1
Left Door
To: 1
Left Door
Requires: "SpaceJump" "canTrickyJump" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } } |
From: 1
Left Door
To: 1
Left Door
Requires: "canTrickyJump" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "controlled" } } |
From: 1
Left Door
To: 1
Left Door
Requires: "canTrickyJump" Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 6, "openEnd": 2 } } } |
Requires: { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack" ] } { "resetRoom": { "nodes": [ 1 ], "mustStayPut": false } } { "refill": [ "Energy", "Missile" ] } |
Requires: { "or": [ "Wave", "Spazer", "Plasma", "Grapple", "ScrewAttack" ] } { "resetRoom": { "nodes": [ 1 ], "mustStayPut": false } } { "refill": [ "Energy", "Missile", "Super", "PowerBomb" ] } |
Requires: "canBePatient" { "or": [ "canDodgeWhileShooting", "Charge", "Ice" ] } { "resetRoom": { "nodes": [ 1 ], "mustStayPut": false } } { "refill": [ "Super", "PowerBomb" ] } |
Requires: "h_canCrystalFlash" |
Exit condition: { "leaveWithGModeSetup": {} } |
Requires: { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack", "canBePatient", { "resourceCapacity": [ { "type": "Missile", "count": 1 } ] }, "h_canUsePowerBombs" ] } |
Safely kill the first Choot, then roll through the bottom of the room after passing the two Puyos. Expects one to two Puyo hits while crossing the room. Requires: "h_canNavigateUnderwater" "Morph" { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } |
Dodge the Puyos and kill the Choots. Expects two to three Puyo hits. Requires: { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 2 } } { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } |
From: 1
Left Door
To: 2
Right Door
Use Space jumps or Spring Ball bounces to carry blue speed across the room. Then chain temporary blue into the next room. It helps to enter with a relatively low amount of run speed, using a 4-tap. Entrance condition: { "comeInGettingBlueSpeed": { "length": 4, "openEnd": 1, "minExtraRunSpeed": "$1.2", "maxExtraRunSpeed": "$1.F" } } Requires: { "notable": "Leave With Temporary Blue" } "canChainTemporaryBlue" { "or": [ "canTrickySpringBallBounce", "canPreciseSpaceJump" ] } Exit condition: { "leaveWithTemporaryBlue": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 108, 12 ], [ 108, 13 ] ] } } Bypasses door shell: true |
From: 1
Left Door
To: 2
Right Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 108, 12 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 108, 12 ] ] } } Bypasses door shell: true |
From: 1
Left Door
To: 2
Right Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 108, 13 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 108, 13 ] ] } } Bypasses door shell: true |
Requires: { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack", "canBePatient", { "resourceCapacity": [ { "type": "Missile", "count": 1 } ] }, "h_canUsePowerBombs" ] } |
Safely kill the first Choot, then roll through the bottom of the room after passing the two Puyos. Expects one to two Puyo hits while crossing the room. Requires: "h_canNavigateUnderwater" "Morph" { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } |
Dodge the Puyos and kill the Choots. Expects two to three Puyo hits. Requires: { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 2 } } { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } |
From: 2
Right Door
To: 1
Left Door
Use Space jumps or Spring Ball bounces to carry blue speed across the room. Then chain temporary blue into the next room. It helps to enter with a relatively low amount of run speed, using a 4-tap. Entrance condition: { "comeInGettingBlueSpeed": { "length": 4, "openEnd": 1, "minExtraRunSpeed": "$1.4", "maxExtraRunSpeed": "$1.F" } } Requires: { "notable": "Leave With Temporary Blue" } "canChainTemporaryBlue" { "or": [ "canTrickySpringBallBounce", "canPreciseSpaceJump" ] } Exit condition: { "leaveWithTemporaryBlue": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ], [ 3, 13 ] ] } } Bypasses door shell: true |
From: 2
Right Door
To: 1
Left Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } } Bypasses door shell: true |
From: 2
Right Door
To: 1
Left Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } } Bypasses door shell: true |
Exit condition: { "leaveWithRunway": { "length": 5, "openEnd": 1 } } |
A half tile is considered unusable, in order to be able to quickly spin jump forward after gaining the shinecharge. Requires: "Gravity" { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } } Exit condition: { "leaveShinecharged": { "framesRemaining": 90 } } |
From: 2
Right Door
To: 2
Right Door
Requires: "Gravity" "SpaceJump" Exit condition: { "leaveSpinning": { "remoteRunway": { "length": 14, "openEnd": 1 }, "maxExtraRunSpeed": "$3.1" } } |
From: 2
Right Door
To: 2
Right Door
Requires: "Gravity" Exit condition: { "leaveWithMockball": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 } } } |
From: 2
Right Door
To: 2
Right Door
Requires: "Gravity" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } } |
From: 2
Right Door
To: 2
Right Door
Requires: "Gravity" Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 14, "openEnd": 1 } } } |
Requires: "Gravity" { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } } "canChainTemporaryBlue" Exit condition: { "leaveWithTemporaryBlue": {} } |
From: 2
Right Door
To: 2
Right Door
Requires: "canTrickyJump" "SpaceJump" Exit condition: { "leaveSpinning": { "remoteRunway": { "length": 6, "openEnd": 2 } } } |
From: 2
Right Door
To: 2
Right Door
Requires: "canTrickyJump" "SpaceJump" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } } |
From: 2
Right Door
To: 2
Right Door
Requires: "canTrickyJump" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "controlled" } } |
From: 2
Right Door
To: 2
Right Door
Requires: "canPreciseSpaceJump" Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 6, "openEnd": 2 } } } |
Requires: { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack" ] } { "resetRoom": { "nodes": [ 2 ], "mustStayPut": false } } { "refill": [ "Energy", "Missile" ] } |
Requires: { "or": [ "Wave", "Spazer", "Plasma", "Grapple", "ScrewAttack" ] } { "resetRoom": { "nodes": [ 2 ], "mustStayPut": false } } { "refill": [ "Energy", "Missile", "Super", "PowerBomb" ] } |
Requires: "canBePatient" { "or": [ "canDodgeWhileShooting", "Charge", "Ice" ] } { "resetRoom": { "nodes": [ 2 ], "mustStayPut": false } } { "refill": [ "Super", "PowerBomb" ] } |
Requires: "h_canCrystalFlash" |
Exit condition: { "leaveWithGModeSetup": {} } |
Requires: { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } |
{ "$schema": "../../../schema/m3-room.schema.json", "id": 214, "name": "Thread The Needle Room", "area": "Maridia", "subarea": "Inner", "subsubarea": "Yellow", "playable": true, "roomAddress": "0x7D2D9", "roomEnvironments": [ { "heated": false } ], "nodes": [ { "id": 1, "name": "Left Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x001a564", "doorOrientation": "left", "doorEnvironments": [ { "physics": "air" } ] }, { "id": 2, "name": "Right Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x001a570", "doorOrientation": "right", "doorEnvironments": [ { "physics": "air" } ] } ], "enemies": [ { "id": "e1", "groupName": "Thread The Needle Room Left Choots", "enemyName": "Choot", "quantity": 5, "homeNodes": [ 1 ] }, { "id": "e2", "groupName": "Thread The Needle Room Left Puyos", "enemyName": "Puyo", "quantity": 5, "homeNodes": [ 1 ] }, { "id": "e3", "groupName": "Thread The Needle Room Right Choots", "enemyName": "Choot", "quantity": 3, "homeNodes": [ 2 ] }, { "id": "e4", "groupName": "Thread The Needle Room Right Puyos", "enemyName": "Puyo", "quantity": 2, "homeNodes": [ 2 ] } ], "links": [ { "from": 1, "to": [ { "id": 1 }, { "id": 2 } ] }, { "from": 2, "to": [ { "id": 1 }, { "id": 2 } ] } ], "strats": [ { "id": 1, "link": [ 1, 1 ], "name": "Leave with Runway", "requires": [], "exitCondition": { "leaveWithRunway": { "length": 5, "openEnd": 1 } } }, { "id": 2, "link": [ 1, 1 ], "name": "Leave With Spark", "requires": [ "Gravity", { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } }, "canShinechargeMovementComplex", { "shinespark": { "frames": 28, "excessFrames": 0 } } ], "exitCondition": { "leaveWithSpark": { "position": "top" } }, "note": [ "A half tile is considered unusable, in order to be able to quickly spin jump forward after gaining the shinecharge." ], "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." ] }, { "id": 3, "link": [ 1, 1 ], "name": "Leave With Mockball (Nearby Water Runway)", "requires": [ "Gravity" ], "exitCondition": { "leaveWithMockball": { "remoteRunway": { "length": 8, "openEnd": 0 }, "landingRunway": { "length": 5, "openEnd": 1 } } }, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] }, { "id": 4, "link": [ 1, 1 ], "name": "Leave With Spring Ball Bounce (Nearby Water Runway)", "requires": [ "Gravity" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 8, "openEnd": 0 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } }, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] }, { "id": 5, "link": [ 1, 1 ], "name": "Leave Space Jumping (Nearby Water Runway)", "requires": [ "Gravity" ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 8, "openEnd": 0 } } }, "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." ] }, { "id": 6, "link": [ 1, 1 ], "name": "Leave Spinning (Far Water Runway, Space Jump)", "requires": [ "Gravity", "SpaceJump", "canTrickyJump" ], "exitCondition": { "leaveSpinning": { "remoteRunway": { "length": 14, "openEnd": 1 } } }, "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." ] }, { "id": 7, "link": [ 1, 1 ], "name": "Leave With Mockball (Far Water Runway, Space Jump)", "requires": [ "Gravity", "SpaceJump", "canTrickyJump" ], "exitCondition": { "leaveWithMockball": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 } } }, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] }, { "id": 8, "link": [ 1, 1 ], "name": "Leave With Spring Ball Bounce (Far Water Runway, Space Jump)", "requires": [ "Gravity", "SpaceJump", "canTrickyJump" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } }, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] }, { "id": 9, "link": [ 1, 1 ], "name": "Leave With Controlled Spring Ball Bounce (Far Water Runway)", "requires": [ "Gravity", "canTrickyJump" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "controlled" } }, "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] }, { "id": 10, "link": [ 1, 1 ], "name": "Leave Space Jumping (Far Water Runway)", "requires": [ "Gravity", "canPreciseSpaceJump" ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 14, "openEnd": 1 } } }, "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." ] }, { "id": 11, "link": [ 1, 1 ], "name": "Leave With Temporary Blue", "requires": [ "Gravity", { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } }, "canLongChainTemporaryBlue" ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "note": [ "A half tile is considered unusable, in order to avoid sliding into the wall and losing blue state." ], "devNote": [ "FIXME: An extra half tile of runway could be gained by standing up inside the last tile of the platform." ] }, { "id": 12, "link": [ 1, 1 ], "name": "Leave Spinning (Far Platform Runway, Space Jump)", "requires": [ "SpaceJump", "canTrickyJump" ], "exitCondition": { "leaveSpinning": { "remoteRunway": { "length": 6, "openEnd": 2 } } } }, { "id": 13, "link": [ 1, 1 ], "name": "Leave With Mockball (Far Platform Runway, Space Jump)", "requires": [ "SpaceJump", "canTrickyJump" ], "exitCondition": { "leaveWithMockball": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 } } } }, { "id": 14, "link": [ 1, 1 ], "name": "Leave With Spring Ball Bounce (Far Platform Runway, Space Jump)", "requires": [ "SpaceJump", "canTrickyJump" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } } }, { "id": 15, "link": [ 1, 1 ], "name": "Leave With Controlled Spring Ball Bounce (Far Platform Runway)", "requires": [ "canTrickyJump" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "controlled" } } }, { "id": 16, "link": [ 1, 1 ], "name": "Leave Space Jumping (Far Platform Runway)", "requires": [ "canTrickyJump" ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 6, "openEnd": 2 } } } }, { "id": 17, "link": [ 1, 1 ], "name": "Basic Choot and Puyo Farm", "requires": [ { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack" ] }, { "resetRoom": { "nodes": [ 1 ], "mustStayPut": false } }, { "refill": [ "Energy", "Missile" ] } ] }, { "id": 18, "link": [ 1, 1 ], "name": "Choot and Puyo Farm", "requires": [ { "or": [ "Wave", "Spazer", "Plasma", "Grapple", "ScrewAttack" ] }, { "resetRoom": { "nodes": [ 1 ], "mustStayPut": false } }, { "refill": [ "Energy", "Missile", "Super", "PowerBomb" ] } ] }, { "id": 19, "link": [ 1, 1 ], "name": "Patient Choot and Puyo Farm", "requires": [ "canBePatient", { "or": [ "canDodgeWhileShooting", "Charge", "Ice" ] }, { "resetRoom": { "nodes": [ 1 ], "mustStayPut": false } }, { "refill": [ "Super", "PowerBomb" ] } ] }, { "id": 20, "link": [ 1, 1 ], "name": "Crystal Flash", "requires": [ "h_canCrystalFlash" ], "flashSuitChecked": true }, { "id": 21, "link": [ 1, 1 ], "name": "G-Mode Setup - Get Hit By Puyo", "requires": [], "exitCondition": { "leaveWithGModeSetup": {} }, "flashSuitChecked": true }, { "id": 22, "link": [ 1, 2 ], "name": "Kill the Enemies", "requires": [ { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack", "canBePatient", { "resourceCapacity": [ { "type": "Missile", "count": 1 } ] }, "h_canUsePowerBombs" ] } ] }, { "id": 23, "link": [ 1, 2 ], "name": "Morph Dodge", "requires": [ "h_canNavigateUnderwater", "Morph", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } }, { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } ], "note": [ "Safely kill the first Choot, then roll through the bottom of the room after passing the two Puyos.", "Expects one to two Puyo hits while crossing the room." ] }, { "id": 24, "link": [ 1, 2 ], "name": "Lenient Dodge", "requires": [ { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 2 } }, { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } ], "note": "Dodge the Puyos and kill the Choots. Expects two to three Puyo hits." }, { "id": 25, "link": [ 1, 2 ], "name": "Leave With Temporary Blue (Left-to-Right)", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 4, "openEnd": 1, "minExtraRunSpeed": "$1.2", "maxExtraRunSpeed": "$1.F" } }, "requires": [ { "notable": "Leave With Temporary Blue" }, "canChainTemporaryBlue", { "or": [ "canTrickySpringBallBounce", "canPreciseSpaceJump" ] } ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ], "note": [ "Use Space jumps or Spring Ball bounces to carry blue speed across the room.", "Then chain temporary blue into the next room.", "It helps to enter with a relatively low amount of run speed, using a 4-tap." ], "devNote": "Higher or lower amounts of run speed can work in some cases." }, { "id": 26, "link": [ 1, 2 ], "name": "Grapple Teleport Door Lock Skip", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 108, 12 ], [ 108, 13 ] ] } }, "requires": [], "bypassesDoorShell": true }, { "id": 27, "link": [ 1, 2 ], "name": "Carry Grapple Teleport (Top Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 108, 12 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 108, 12 ] ] } } }, { "id": 28, "link": [ 1, 2 ], "name": "Carry Grapple Teleport (Bottom Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 108, 13 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 108, 13 ] ] } } }, { "id": 29, "link": [ 2, 1 ], "name": "Kill the Enemies", "requires": [ { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack", "canBePatient", { "resourceCapacity": [ { "type": "Missile", "count": 1 } ] }, "h_canUsePowerBombs" ] } ] }, { "id": 30, "link": [ 2, 1 ], "name": "Morph Dodge", "requires": [ "h_canNavigateUnderwater", "Morph", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } }, { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } ], "note": [ "Safely kill the first Choot, then roll through the bottom of the room after passing the two Puyos.", "Expects one to two Puyo hits while crossing the room." ] }, { "id": 31, "link": [ 2, 1 ], "name": "Lenient Dodge", "requires": [ { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 2 } }, { "or": [ "canCarefulJump", { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ] } ], "note": "Dodge the Puyos and kill the Choots. Expects two to three Puyo hits." }, { "id": 32, "link": [ 2, 1 ], "name": "Leave With Temporary Blue (Right to Left)", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 4, "openEnd": 1, "minExtraRunSpeed": "$1.4", "maxExtraRunSpeed": "$1.F" } }, "requires": [ { "notable": "Leave With Temporary Blue" }, "canChainTemporaryBlue", { "or": [ "canTrickySpringBallBounce", "canPreciseSpaceJump" ] } ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ], "note": [ "Use Space jumps or Spring Ball bounces to carry blue speed across the room.", "Then chain temporary blue into the next room.", "It helps to enter with a relatively low amount of run speed, using a 4-tap." ], "devNote": "Higher or lower amounts of run speed can work in some cases." }, { "id": 33, "link": [ 2, 1 ], "name": "Grapple Teleport Door Lock Skip", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ], [ 3, 13 ] ] } }, "requires": [], "bypassesDoorShell": true }, { "id": 34, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Top Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } } }, { "id": 35, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Bottom Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } } }, { "id": 36, "link": [ 2, 2 ], "name": "Leave with Runway", "requires": [], "exitCondition": { "leaveWithRunway": { "length": 5, "openEnd": 1 } } }, { "id": 37, "link": [ 2, 2 ], "name": "Leave Shinecharged", "requires": [ "Gravity", { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } } ], "exitCondition": { "leaveShinecharged": { "framesRemaining": 90 } }, "note": [ "A half tile is considered unusable, in order to be able to quickly spin jump forward after gaining the shinecharge." ], "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." ] }, { "id": 38, "link": [ 2, 2 ], "name": "Leave Spinning (Water Runway, Space Jump)", "requires": [ "Gravity", "SpaceJump" ], "exitCondition": { "leaveSpinning": { "remoteRunway": { "length": 14, "openEnd": 1 }, "maxExtraRunSpeed": "$3.1" } }, "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." ] }, { "id": 39, "link": [ 2, 2 ], "name": "Leave With Mockball (Water Runway)", "requires": [ "Gravity" ], "exitCondition": { "leaveWithMockball": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 } } }, "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." ] }, { "id": 40, "link": [ 2, 2 ], "name": "Leave With Spring Ball Bounce (Water Runway)", "requires": [ "Gravity" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 14, "openEnd": 1 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } }, "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." ] }, { "id": 41, "link": [ 2, 2 ], "name": "Leave Space Jumping (Water Runway)", "requires": [ "Gravity" ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 14, "openEnd": 1 } } }, "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." ] }, { "id": 42, "link": [ 2, 2 ], "name": "Leave With Temporary Blue", "requires": [ "Gravity", { "canShineCharge": { "usedTiles": 15, "openEnd": 1 } }, "canChainTemporaryBlue" ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "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." ] }, { "id": 43, "link": [ 2, 2 ], "name": "Leave Spinning (Far Platform Runway, Space Jump)", "requires": [ "canTrickyJump", "SpaceJump" ], "exitCondition": { "leaveSpinning": { "remoteRunway": { "length": 6, "openEnd": 2 } } } }, { "id": 44, "link": [ 2, 2 ], "name": "Leave With Spring Ball Bounce (Far Platform Runway, Space Jump)", "requires": [ "canTrickyJump", "SpaceJump" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "uncontrolled" } } }, { "id": 45, "link": [ 2, 2 ], "name": "Leave With Controlled Spring Ball Bounce (Far Platform Runway)", "requires": [ "canTrickyJump" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 2 }, "landingRunway": { "length": 5, "openEnd": 1 }, "movementType": "controlled" } } }, { "id": 46, "link": [ 2, 2 ], "name": "Leave Space Jumping (Far Platform Runway)", "requires": [ "canPreciseSpaceJump" ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 6, "openEnd": 2 } } } }, { "id": 47, "link": [ 2, 2 ], "name": "Basic Choot and Puyo Farm", "requires": [ { "or": [ "h_hasBeamUpgrade", "canDodgeWhileShooting", "Grapple", "ScrewAttack" ] }, { "resetRoom": { "nodes": [ 2 ], "mustStayPut": false } }, { "refill": [ "Energy", "Missile" ] } ] }, { "id": 48, "link": [ 2, 2 ], "name": "Choot and Puyo Farm", "requires": [ { "or": [ "Wave", "Spazer", "Plasma", "Grapple", "ScrewAttack" ] }, { "resetRoom": { "nodes": [ 2 ], "mustStayPut": false } }, { "refill": [ "Energy", "Missile", "Super", "PowerBomb" ] } ] }, { "id": 49, "link": [ 2, 2 ], "name": "Patient Choot and Puyo Farm", "requires": [ "canBePatient", { "or": [ "canDodgeWhileShooting", "Charge", "Ice" ] }, { "resetRoom": { "nodes": [ 2 ], "mustStayPut": false } }, { "refill": [ "Super", "PowerBomb" ] } ] }, { "id": 50, "link": [ 2, 2 ], "name": "Crystal Flash", "requires": [ "h_canCrystalFlash" ], "flashSuitChecked": true }, { "id": 51, "link": [ 2, 2 ], "name": "G-Mode Setup - Get Hit By Puyo", "requires": [], "exitCondition": { "leaveWithGModeSetup": {} }, "flashSuitChecked": true }, { "id": 52, "link": [ 2, 2 ], "name": "G-Mode Regain Mobility", "requires": [ { "enemyDamage": { "enemy": "Puyo", "type": "contact", "hits": 1 } } ], "gModeRegainMobility": {}, "flashSuitChecked": true }, { "link": [ 1, 1 ], "name": "Base (Unlock Door)", "requires": [], "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "link": [ 1, 1 ], "name": "Base (Come In Normally)", "entranceCondition": { "comeInNormally": {} }, "requires": [] }, { "link": [ 2, 2 ], "name": "Base (Unlock Door)", "requires": [], "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "link": [ 2, 2 ], "name": "Base (Come In Normally)", "entranceCondition": { "comeInNormally": {} }, "requires": [] } ], "nextStratId": 53, "notables": [ { "id": 1, "name": "Leave With Temporary Blue", "note": [ "Use Space jumps or Spring Ball bounces to carry blue speed across the room.", "Then chain temporary blue into the next room.", "It helps to enter with a relatively low amount of run speed, using a 4-tap." ] } ], "nextNotableId": 2 }