Room ID: 195
Exit condition: { "leaveWithRunway": { "length": 3, "openEnd": 1 } } |
Requires: { "resetRoom": { "nodes": [ 1 ] } } { "partialRefill": { "type": "Energy", "limit": 140 } } { "partialRefill": { "type": "Super", "limit": 8 } } |
Requires: "HiJump" { "resetRoom": { "nodes": [ 1 ] } } { "partialRefill": { "type": "Energy", "limit": 300 } } { "partialRefill": { "type": "Super", "limit": 16 } } |
Requires: { "resetRoom": { "nodes": [ 1, 2 ] } } "Gravity" { "or": [ "h_canCrouchJumpDownGrab", "canUseFrozenEnemies", "canGravityJump", "canWalljump", "HiJump", "canSpringBallJumpMidAir", "h_canFly", "canSpringBallBombJump" ] } { "refill": [ "Super", "Energy" ] } |
Requires: "h_canCrystalFlash" |
Requires: "Gravity" { "or": [ "h_canCrouchJumpDownGrab", "canUseFrozenEnemies", "canGravityJump", "canWalljump", "HiJump", "canSpringBallJumpMidAir", "h_canFly", "canSpringBallBombJump" ] } |
Damage boost up to the higher ledge using a Cacatac spike. Spikes only exist on camera so follow a vertically fired spike up to the correct height. Requires: "Gravity" "canHorizontalDamageBoost" "canCameraManip" { "enemyDamage": { "enemy": "Cacatac", "hits": 1, "type": "spike" } } |
From: 1
Bottom Left Door
To: 2
Top Right Door
Requires: "canSuitlessMaridia" "HiJump" { "or": [ "canSpringBallJumpMidAir", "canUseFrozenEnemies" ] } |
From: 1
Bottom Left Door
To: 2
Top Right Door
Jump to the water surface at low tide, then Space Jump on the waterline. The timing of the initial jump is much more lenient with a single wall jump just below the waterline. Requires: { "notable": "Suitless HiJump Space Jump" } "canSuitlessMaridia" "HiJump" "canSpaceJumpWaterBounce" { "or": [ "canTrickyJump", "canWalljump" ] } |
From: 1
Bottom Left Door
To: 2
Top Right Door
Requires: "canSuitlessMaridia" "canUseFrozenEnemies" "canTrickySpringBallJump" "canCrouchJump" |
Entrance condition: { "comeInWithDoorStuckSetup": {} } Requires: "canXRayClimb" |
From: 1
Bottom Left Door
To: 2
Top Right Door
The lenient version requires a runway of at least 5 tiles (with no open end) in the adjacent room. This is easier without Speed Booster and requires disabling HiJump. Entrance condition: { "comeInJumping": { "speedBooster": false, "minTiles": 4.4375 } } Requires: "canCrossRoomJumpIntoWater" "canDisableEquipment" |
From: 1
Bottom Left Door
To: 2
Top Right Door
Requires a runway of at least 2 tiles (with no open end) in the adjacent room. This is typically easier without Speed Booster depending on the exact runway length and requires disabling HiJump. Entrance condition: { "comeInJumping": { "speedBooster": false, "minTiles": 1.4375 } } Requires: "canCrossRoomJumpIntoWater" "canMomentumConservingTurnaround" "canTrickyJump" "canDisableEquipment" |
From: 1
Bottom Left Door
To: 2
Top Right Door
It is possible to jump to the top door using a runway of just one tile with Speed Booster and no HiJump. Requires a last-frame jump and down press that is late but not immediately before the turnaround. With a second-to-last-frame jump it is still possible but more precise. Entrance condition: { "comeInJumping": { "speedBooster": true, "minTiles": 1 } } Requires: "canCrossRoomJumpIntoWater" "canMomentumConservingTurnaround" "canTrickyDashJump" "canDisableEquipment" |
Gain speed from a remote runway in the previous room, and Space Jump through the bottom of the doorway. Entrance condition: { "comeInSpaceJumping": { "speedBooster": "any", "minTiles": 5 } } Requires: "canCrossRoomJumpIntoWater" |
From: 1
Bottom Left Door
To: 2
Top Right Door
Gain speed from a remote runway in the previous room, and Space Jump through the bottom of the doorway. Entrance condition: { "comeInSpaceJumping": { "speedBooster": "any", "minTiles": 2 } } Requires: "canCrossRoomJumpIntoWater" "canMomentumConservingTurnaround" "canTrickyJump" |
From: 1
Bottom Left Door
To: 2
Top Right Door
Entrance condition: { "comeInWithSpringBallBounce": { "speedBooster": "any", "remoteAndLandingMinTiles": [ [ 2.5625, 1 ] ], "movementType": "uncontrolled" } } Requires: "canCrossRoomJumpIntoWater" "canTrickyJump" |
From: 1
Bottom Left Door
To: 2
Top Right Door
Entrance condition: { "comeInWithSpringBallBounce": { "speedBooster": "any", "remoteAndLandingMinTiles": [ [ 3.5625, 1 ] ], "movementType": "controlled" } } Requires: "canCrossRoomJumpIntoWater" |
From: 1
Bottom Left Door
To: 2
Top Right Door
Unmorph just before hitting the overhang, to conserve momentum to make it on top. Entrance condition: { "comeInWithSpringBallBounce": { "speedBooster": false, "remoteAndLandingMinTiles": [ [ 1.5625, 1 ] ], "movementType": "uncontrolled" } } Requires: "canCrossRoomJumpIntoWater" "canTrickyJump" "canMomentumConservingMorph" |
From: 1
Bottom Left Door
To: 2
Top Right Door
Unmorph just before hitting the overhang, to conserve momentum to make it on top. Entrance condition: { "comeInWithSpringBallBounce": { "speedBooster": "any", "remoteAndLandingMinTiles": [ [ 2.5625, 1 ] ], "movementType": "controlled" } } Requires: "canCrossRoomJumpIntoWater" "canMomentumConservingMorph" |
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 4 } "Gravity" { "shinespark": { "frames": 20, "excessFrames": 0 } } |
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 20 } "canSuitlessMaridia" { "shinespark": { "frames": 20, "excessFrames": 0 } } |
It can be difficult to land on the ledge when the waterline is low. It may be necessary to time the walljump attempts by watching the water level, or by stalling with additional walljumps as the water rises. Requires: "canUnderwaterWalljump" |
Requires: { "useFlashSuit": {} } { "or": [ { "shinespark": { "frames": 17, "excessFrames": 3 } }, { "and": [ "HiJump", { "shinespark": { "frames": 7, "excessFrames": 5 } } ] } ] } { "enemyDamage": { "enemy": "Cacatac", "hits": 1, "type": "spike" } } |
From: 1
Bottom Left Door
To: 2
Top Right Door
Entrance condition: { "comeInJumping": { "speedBooster": "any", "minTiles": 1 } } Requires: "canCrossRoomJumpIntoWater" { "useFlashSuit": {} } { "shinespark": { "frames": 10, "excessFrames": 5 } } { "enemyDamage": { "enemy": "Cacatac", "hits": 1, "type": "spike" } } |
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 12, 12 ], [ 12, 13 ] ] } } Bypasses door shell: true |
From: 1
Bottom Left Door
To: 2
Top Right Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 12, 12 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 12, 12 ] ] } } Bypasses door shell: true |
From: 1
Bottom Left Door
To: 2
Top Right Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 12, 13 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 12, 13 ] ] } } Bypasses door shell: true |
|
From: 2
Top Right Door
To: 1
Bottom Left Door
Entrance condition: { "comeInShinecharging": { "length": 0, "openEnd": 1 } } Requires: "canTrickyJump" "canChainTemporaryBlue" Exit condition: { "leaveWithTemporaryBlue": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 18 ], [ 2, 19 ], [ 2, 28 ], [ 2, 29 ] ] } } Bypasses door shell: true |
From: 2
Top Right Door
To: 1
Bottom Left Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 18 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 18 ] ] } } Bypasses door shell: true |
From: 2
Top Right Door
To: 1
Bottom Left Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 19 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 19 ] ] } } Bypasses door shell: true |
From: 2
Top Right Door
To: 1
Bottom Left Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 28 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 28 ] ] } } Bypasses door shell: true |
From: 2
Top Right Door
To: 1
Bottom Left Door
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 29 ] ] } } Exit condition: { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 29 ] ] } } Bypasses door shell: true |
Exit condition: { "leaveWithRunway": { "length": 3, "openEnd": 1 } } |
Requires: { "or": [ "Gravity", "canCarefulJump" ] } Exit condition: { "leaveSpinning": { "remoteRunway": { "length": 6, "openEnd": 0 } } } |
Requires: { "or": [ "Gravity", "canCarefulJump" ] } Exit condition: { "leaveWithMockball": { "remoteRunway": { "length": 6, "openEnd": 1 }, "landingRunway": { "length": 3, "openEnd": 1 } } } |
From: 2
Top Right Door
To: 2
Top Right Door
Requires: { "or": [ "Gravity", "canCarefulJump" ] } Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 1 }, "landingRunway": { "length": 3, "openEnd": 1 }, "movementType": "uncontrolled" } } |
Requires: { "or": [ "Gravity", "canCarefulJump" ] } Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 6, "openEnd": 0 } } } |
Requires: { "resetRoom": { "nodes": [ 2 ] } } { "partialRefill": { "type": "Energy", "limit": 300 } } { "partialRefill": { "type": "Super", "limit": 16 } } |
Requires: "h_canCrystalFlash" |
{ "$schema": "../../../schema/m3-room.schema.json", "id": 195, "name": "West Cactus Alley Room", "area": "Maridia", "subarea": "Inner", "subsubarea": "Pink", "roomAddress": "0x7D9FE", "roomEnvironments": [ { "heated": false } ], "nodes": [ { "id": 1, "name": "Bottom Left Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x001a93c", "doorOrientation": "left", "doorEnvironments": [ { "physics": "water" } ] }, { "id": 2, "name": "Top Right Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x001a948", "doorOrientation": "right", "doorEnvironments": [ { "physics": "air" } ] } ], "enemies": [ { "id": "e1", "groupName": "West Cactus Alley Top Cacatacs", "enemyName": "Cacatac", "quantity": 2, "homeNodes": [ 2 ] }, { "id": "e2", "groupName": "West Cactus Alley Bottom Cacatac", "enemyName": "Cacatac", "quantity": 1, "homeNodes": [ 1 ] }, { "id": "e3", "groupName": "West Cactus Alley Middle Cacatac", "enemyName": "Cacatac", "quantity": 1, "betweenNodes": [ 1, 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": 3, "openEnd": 1 } } }, { "id": 2, "link": [ 1, 1 ], "name": "Single Cacatac Farm", "requires": [ { "resetRoom": { "nodes": [ 1 ] } }, { "partialRefill": { "type": "Energy", "limit": 140 } }, { "partialRefill": { "type": "Super", "limit": 8 } } ] }, { "id": 3, "link": [ 1, 1 ], "name": "Cacatac Farm", "requires": [ "HiJump", { "resetRoom": { "nodes": [ 1 ] } }, { "partialRefill": { "type": "Energy", "limit": 300 } }, { "partialRefill": { "type": "Super", "limit": 16 } } ] }, { "id": 41, "link": [ 1, 1 ], "name": "Cacatac Farm", "requires": [ { "resetRoom": { "nodes": [ 1, 2 ] } }, "Gravity", { "or": [ "h_canCrouchJumpDownGrab", "canUseFrozenEnemies", "canGravityJump", "canWalljump", "HiJump", "canSpringBallJumpMidAir", "h_canFly", "canSpringBallBombJump" ] }, { "refill": [ "Super", "Energy" ] } ] }, { "id": 4, "link": [ 1, 1 ], "name": "Crystal Flash", "requires": [ "h_canCrystalFlash" ], "flashSuitChecked": true }, { "id": 5, "link": [ 1, 2 ], "name": "Base", "requires": [ "Gravity", { "or": [ "h_canCrouchJumpDownGrab", "canUseFrozenEnemies", "canGravityJump", "canWalljump", "HiJump", "canSpringBallJumpMidAir", "h_canFly", "canSpringBallBombJump" ] } ] }, { "id": 6, "link": [ 1, 2 ], "name": "Gravity Damage Boost", "requires": [ "Gravity", "canHorizontalDamageBoost", "canCameraManip", { "enemyDamage": { "enemy": "Cacatac", "hits": 1, "type": "spike" } } ], "note": "Damage boost up to the higher ledge using a Cacatac spike. Spikes only exist on camera so follow a vertically fired spike up to the correct height." }, { "id": 7, "link": [ 1, 2 ], "name": "Suitless HiJump plus Assist", "requires": [ "canSuitlessMaridia", "HiJump", { "or": [ "canSpringBallJumpMidAir", "canUseFrozenEnemies" ] } ] }, { "id": 42, "link": [ 1, 2 ], "name": "Suitless HiJump Space Jump", "requires": [ { "notable": "Suitless HiJump Space Jump" }, "canSuitlessMaridia", "HiJump", "canSpaceJumpWaterBounce", { "or": [ "canTrickyJump", "canWalljump" ] } ], "note": [ "Jump to the water surface at low tide, then Space Jump on the waterline.", "The timing of the initial jump is much more lenient with a single wall jump just below the waterline." ] }, { "id": 8, "link": [ 1, 2 ], "name": "Suitless SpringBall Frozen Cacatac", "requires": [ "canSuitlessMaridia", "canUseFrozenEnemies", "canTrickySpringBallJump", "canCrouchJump" ] }, { "id": 9, "link": [ 1, 2 ], "name": "X-Ray Climb", "entranceCondition": { "comeInWithDoorStuckSetup": {} }, "requires": [ "canXRayClimb" ], "flashSuitChecked": true, "note": "Climb up a little less than 1 screen." }, { "id": 10, "link": [ 1, 2 ], "name": "Cross Room Jump, Bootless", "entranceCondition": { "comeInJumping": { "speedBooster": false, "minTiles": 4.4375 } }, "requires": [ "canCrossRoomJumpIntoWater", "canDisableEquipment" ], "note": [ "The lenient version requires a runway of at least 5 tiles (with no open end) in the adjacent room.", "This is easier without Speed Booster and requires disabling HiJump." ] }, { "id": 11, "link": [ 1, 2 ], "name": "Tricky Cross Room Jump, Bootless", "entranceCondition": { "comeInJumping": { "speedBooster": false, "minTiles": 1.4375 } }, "requires": [ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround", "canTrickyJump", "canDisableEquipment" ], "note": [ "Requires a runway of at least 2 tiles (with no open end) in the adjacent room.", "This is typically easier without Speed Booster depending on the exact runway length and requires disabling HiJump." ], "devNote": "Although speedBooster false includes canDisableEquipment, the strat still includes it to indicate disabling HiJump." }, { "id": 12, "link": [ 1, 2 ], "name": "Tricky Dash Cross Room Jump", "entranceCondition": { "comeInJumping": { "speedBooster": true, "minTiles": 1 } }, "requires": [ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround", "canTrickyDashJump", "canDisableEquipment" ], "note": [ "It is possible to jump to the top door using a runway of just one tile with Speed Booster and no HiJump.", "Requires a last-frame jump and down press that is late but not immediately before the turnaround.", "With a second-to-last-frame jump it is still possible but more precise." ] }, { "id": 13, "link": [ 1, 2 ], "name": "Cross Room Space Jump", "entranceCondition": { "comeInSpaceJumping": { "speedBooster": "any", "minTiles": 5 } }, "requires": [ "canCrossRoomJumpIntoWater" ], "note": "Gain speed from a remote runway in the previous room, and Space Jump through the bottom of the doorway." }, { "id": 14, "link": [ 1, 2 ], "name": "Tricky Cross Room Space Jump", "entranceCondition": { "comeInSpaceJumping": { "speedBooster": "any", "minTiles": 2 } }, "requires": [ "canCrossRoomJumpIntoWater", "canMomentumConservingTurnaround", "canTrickyJump" ], "note": "Gain speed from a remote runway in the previous room, and Space Jump through the bottom of the doorway." }, { "id": 15, "link": [ 1, 2 ], "name": "Cross Room Spring Ball Bounce (Uncontrolled)", "entranceCondition": { "comeInWithSpringBallBounce": { "speedBooster": "any", "remoteAndLandingMinTiles": [ [ 2.5625, 1 ] ], "movementType": "uncontrolled" } }, "requires": [ "canCrossRoomJumpIntoWater", "canTrickyJump" ] }, { "id": 16, "link": [ 1, 2 ], "name": "Cross Room Spring Ball Bounce (Controlled)", "entranceCondition": { "comeInWithSpringBallBounce": { "speedBooster": "any", "remoteAndLandingMinTiles": [ [ 3.5625, 1 ] ], "movementType": "controlled" } }, "requires": [ "canCrossRoomJumpIntoWater" ] }, { "id": 17, "link": [ 1, 2 ], "name": "Cross Room Tricky Spring Ball Bounce (Uncontrolled)", "entranceCondition": { "comeInWithSpringBallBounce": { "speedBooster": false, "remoteAndLandingMinTiles": [ [ 1.5625, 1 ] ], "movementType": "uncontrolled" } }, "requires": [ "canCrossRoomJumpIntoWater", "canTrickyJump", "canMomentumConservingMorph" ], "note": "Unmorph just before hitting the overhang, to conserve momentum to make it on top." }, { "id": 18, "link": [ 1, 2 ], "name": "Cross Room Tricky Spring Ball Bounce (Controlled)", "entranceCondition": { "comeInWithSpringBallBounce": { "speedBooster": "any", "remoteAndLandingMinTiles": [ [ 2.5625, 1 ] ], "movementType": "controlled" } }, "requires": [ "canCrossRoomJumpIntoWater", "canMomentumConservingMorph" ], "note": "Unmorph just before hitting the overhang, to conserve momentum to make it on top." }, { "id": 19, "link": [ 1, 2 ], "name": "Gravity Shinespark", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 4 }, "Gravity", { "shinespark": { "frames": 20, "excessFrames": 0 } } ], "flashSuitChecked": true }, { "id": 20, "link": [ 1, 2 ], "name": "Suitless Shinespark", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 20 }, "canSuitlessMaridia", { "shinespark": { "frames": 20, "excessFrames": 0 } } ], "flashSuitChecked": true }, { "id": 21, "link": [ 1, 2 ], "name": "Underwater Walljumps", "requires": [ "canUnderwaterWalljump" ], "note": [ "It can be difficult to land on the ledge when the waterline is low.", "It may be necessary to time the walljump attempts by watching the water level, or by stalling with additional walljumps as the water rises." ] }, { "id": 39, "link": [ 1, 2 ], "name": "Use Flash Suit", "requires": [ { "useFlashSuit": {} }, { "or": [ { "shinespark": { "frames": 17, "excessFrames": 3 } }, { "and": [ "HiJump", { "shinespark": { "frames": 7, "excessFrames": 5 } } ] } ] }, { "enemyDamage": { "enemy": "Cacatac", "hits": 1, "type": "spike" } } ], "flashSuitChecked": true, "devNote": "The spike hit may be avoidable, but it shouldn't matter much." }, { "id": 40, "link": [ 1, 2 ], "name": "Cross Room Jump, Use Flash Suit", "entranceCondition": { "comeInJumping": { "speedBooster": "any", "minTiles": 1 } }, "requires": [ "canCrossRoomJumpIntoWater", { "useFlashSuit": {} }, { "shinespark": { "frames": 10, "excessFrames": 5 } }, { "enemyDamage": { "enemy": "Cacatac", "hits": 1, "type": "spike" } } ], "flashSuitChecked": true, "devNote": [ "The spike hit may be avoidable, but it shouldn't matter much.", "The runway could be reduced to 0.4375 tiles with SpeedBooster." ] }, { "id": 22, "link": [ 1, 2 ], "name": "Grapple Teleport", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 12, 12 ], [ 12, 13 ] ] } }, "requires": [], "bypassesDoorShell": true }, { "id": 23, "link": [ 1, 2 ], "name": "Carry Grapple Teleport (Top Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 12, 12 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 12, 12 ] ] } } }, { "id": 24, "link": [ 1, 2 ], "name": "Carry Grapple Teleport (Bottom Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 12, 13 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 12, 13 ] ] } } }, { "id": 25, "link": [ 2, 1 ], "name": "Base", "requires": [] }, { "id": 26, "link": [ 2, 1 ], "name": "Come in Shinecharging, Leave With Temporary Blue", "entranceCondition": { "comeInShinecharging": { "length": 0, "openEnd": 1 } }, "requires": [ "canTrickyJump", "canChainTemporaryBlue" ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "id": 27, "link": [ 2, 1 ], "name": "Grapple Teleport", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 18 ], [ 2, 19 ], [ 2, 28 ], [ 2, 29 ] ] } }, "requires": [], "bypassesDoorShell": true }, { "id": 28, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Top Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 18 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 18 ] ] } } }, { "id": 29, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Upper Middle Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 19 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 19 ] ] } } }, { "id": 30, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Lower Middle Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 28 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 28 ] ] } } }, { "id": 31, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Bottom Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 2, 29 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 2, 29 ] ] } } }, { "id": 32, "link": [ 2, 2 ], "name": "Leave with Runway", "requires": [], "exitCondition": { "leaveWithRunway": { "length": 3, "openEnd": 1 } } }, { "id": 33, "link": [ 2, 2 ], "name": "Leave Spinning", "requires": [ { "or": [ "Gravity", "canCarefulJump" ] } ], "exitCondition": { "leaveSpinning": { "remoteRunway": { "length": 6, "openEnd": 0 } } } }, { "id": 34, "link": [ 2, 2 ], "name": "Leave With Mockball", "requires": [ { "or": [ "Gravity", "canCarefulJump" ] } ], "exitCondition": { "leaveWithMockball": { "remoteRunway": { "length": 6, "openEnd": 1 }, "landingRunway": { "length": 3, "openEnd": 1 } } } }, { "id": 35, "link": [ 2, 2 ], "name": "Leave With Spring Ball Bounce", "requires": [ { "or": [ "Gravity", "canCarefulJump" ] } ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 6, "openEnd": 1 }, "landingRunway": { "length": 3, "openEnd": 1 }, "movementType": "uncontrolled" } } }, { "id": 36, "link": [ 2, 2 ], "name": "Leave Space Jumping", "requires": [ { "or": [ "Gravity", "canCarefulJump" ] } ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 6, "openEnd": 0 } } } }, { "id": 37, "link": [ 2, 2 ], "name": "Cacatac Farm", "requires": [ { "resetRoom": { "nodes": [ 2 ] } }, { "partialRefill": { "type": "Energy", "limit": 300 } }, { "partialRefill": { "type": "Super", "limit": 16 } } ] }, { "id": 38, "link": [ 2, 2 ], "name": "Crystal Flash", "requires": [ "h_canCrystalFlash" ], "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": [] } ], "devNote": [ "FIXME: add 1->2 leaveWithTemporaryBlue strats." ], "nextStratId": 43, "notables": [ { "id": 1, "name": "Suitless HiJump Space Jump", "note": [ "Jump to the water surface at low tide, then Space Jump on the waterline.", "The timing of the initial jump is much more lenient with a single wall jump just below the waterline." ] } ], "nextNotableId": 2 }