Room ID: 65
Exit condition: { "leaveWithRunway": { "length": 2, "openEnd": 1 } } |
From: 1
Right Door
To: 1
Right Door
Requires: "h_canFrozenEnemyRunway" Exit condition: { "leaveWithRunway": { "length": 3, "openEnd": 1 } } |
Requires: "Gravity" "h_canShineChargeMaxRunway" "canShinechargeMovement" Exit condition: { "leaveShinecharged": { "framesRemaining": 145 } } |
Requires: "h_heatProof" { "refill": [ "PowerBomb" ] } |
Requires: "Gravity" Exit condition: { "leaveSpinning": { "remoteRunway": { "length": 45, "openEnd": 1 } } } |
Requires: "Gravity" Exit condition: { "leaveWithMockball": { "remoteRunway": { "length": 45, "openEnd": 1 }, "landingRunway": { "length": 2, "openEnd": 1 } } } |
From: 1
Right Door
To: 1
Right Door
Requires: "Gravity" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 45, "openEnd": 1 }, "landingRunway": { "length": 2, "openEnd": 1 }, "movementType": "uncontrolled" } } |
Requires: "Gravity" Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 45, "openEnd": 1 } } } |
From: 1
Right Door
To: 1
Right Door
Requires: "Gravity" "canChainTemporaryBlue" Exit condition: { "leaveWithTemporaryBlue": {} } |
Requires: "h_canCrystalFlash" |
From: 1
Right Door
To: 1
Right Door
The timing to get hit by these guys is a bit tighter, since they are so slow. Buffering their movement with x-ray can help. Exit condition: { "leaveWithGModeSetup": {} } |
Requires: "Gravity" "h_getBlueSpeedMaxRunway" Clears obstacles: A |
Entrance condition: { "comeInShinecharged": { "framesRequired": 40 } } Requires: "canHorizontalShinespark" { "shinespark": { "frames": 155, "excessFrames": 10 } } Clears obstacles: A |
From: 1
Right Door
To: 2
Item
Roll through the whole room, breaking the speedblocks. The fish enemies will die but some puyos will remain. Entrance condition: { "comeInGettingBlueSpeed": { "length": 0, "openEnd": 1 } } Requires: "canSpeedball" Clears obstacles: A |
Entrance condition: { "comeInBlueSpinning": { "unusableTiles": 0 } } Requires: "canSpeedball" Clears obstacles: A |
From: 1
Right Door
To: 2
Item
Entrance condition: { "comeInWithBlueSpringBallBounce": { "minLandingTiles": 1, "movementType": "controlled", "maxExtraRunSpeed": "$3.F" } } Clears obstacles: A |
Requires: { "useFlashSuit": {} } { "or": [ { "shinespark": { "frames": 72, "excessFrames": 13 } }, { "and": [ "Gravity", { "shinespark": { "frames": 59, "excessFrames": 10 } } ] } ] } Clears obstacles: A |
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 5, 3 ], [ 7, 2 ] ] } } |
Enter the room in a pose that allows Samus to stand. After teleporting, retract Grapple by pressing up. Then hold right to release Grapple while standing. Samus should get pushed up onto the floor. Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ], [ 3, 13 ] ] } } Requires: { "notable": "Grapple Teleport Inside Wall" } |
Space Jump across the room, starting from the door, to reach the dry platform. Requires: "SpaceJump" |
Requires: "canSuitlessMaridia" "canPreciseWalljump" |
Requires: "canSuitlessMaridia" { "or": [ "canBombJumpWaterEscape", { "and": [ "h_canUseSpringBall", "canJumpIntoIBJ" ] } ] } |
Press pause slightly before jumping into morph, in order ensure Samus still has upward momentum when the pause fade-out finishes. Requires: "canSuitlessMaridia" "canTrickySpringBallJump" |
From: 1
Right Door
To: 3
Dry Platform Junction
Watch a Zero (Caterpillar) climb along the ceiling before knocking it down near the speed blocks. Freeze it and jump on top. Escape the water with a spinjump or crouch jump. Requires: "canSuitlessMaridia" "canBePatient" "canTrickyUseFrozenEnemies" { "ammo": { "type": "Super", "count": 1 } } |
Requires: { "obstaclesCleared": [ "A" ] } |
|
Charge a spark on the dry platform, and jump into a mid-air spark across the room and through the door. Requires: { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } } "canMidairShinespark" { "shinespark": { "frames": 75 } } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
From: 3
Dry Platform Junction
To: 1
Right Door
Charge a spark going left, then build speed and jump far to the right into a mid-air spark across the room and through the door. Requires: { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } } "canShinechargeMovement" "canCarefulJump" "canMidairShinespark" { "shinespark": { "frames": 62 } } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
From: 3
Dry Platform Junction
To: 1
Right Door
Requires: "SpaceJump" "canTrickyJump" Exit condition: { "leaveSpinning": { "remoteRunway": { "length": 32, "openEnd": 1 } } } Unlocks doors: {"types":["ammo"],"requires":[]} |
From: 3
Dry Platform Junction
To: 1
Right Door
Requires: "canTrickyJump" Exit condition: { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 32, "openEnd": 1 }, "landingRunway": { "length": 2, "openEnd": 1 }, "movementType": "controlled" } } Unlocks doors: {"types":["ammo"],"requires":[]} |
From: 3
Dry Platform Junction
To: 1
Right Door
Requires: "canPreciseSpaceJump" Exit condition: { "leaveSpaceJumping": { "remoteRunway": { "length": 32, "openEnd": 1 } } } Unlocks doors: {"types":["ammo"],"requires":[]} |
From: 3
Dry Platform Junction
To: 1
Right Door
Perform a speedball into a temporary blue chain to reach the door. If HiJump and Spring Ball are unavailable, then getting out of the water requires a very precise jump: delay aiming down for the mid-air morph until after Samus is above the water line. Requires: { "getBlueSpeed": { "usedTiles": 32, "openEnd": 1 } } "canChainTemporaryBlue" "canSpeedball" { "or": [ "canInsaneJump", "HiJump", "canSpringBallBounce" ] } Exit condition: { "leaveWithTemporaryBlue": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
From: 3
Dry Platform Junction
To: 1
Right Door
Gain blue speed, then Space Jump across the room, ending in temporary blue chain to reach the door. Requires: { "getBlueSpeed": { "usedTiles": 32, "openEnd": 1 } } "SpaceJump" "canChainTemporaryBlue" Exit condition: { "leaveWithTemporaryBlue": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
Run from left to right on the dry platform to gain a shinecharge. Then fall off and spark to the left to break the speed blocks. Requires: { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } } "canShinechargeMovement" "canHorizontalShinespark" { "shinespark": { "frames": 72, "excessFrames": 10 } } Clears obstacles: A |
This is a long temporary blue chain to make it through all the speed blocks. If possible, destroy the enemies beforehand using Wave or a Power Bomb; otherwise, carefully kill them individually with temporary blue. Requires: { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } } "canLongChainTemporaryBlue" "canXRayTurnaround" { "or": [ "Wave", { "ammo": { "type": "PowerBomb", "count": 1 } }, "canDodgeWhileShooting" ] } Clears obstacles: A |
{ "$schema": "../../../schema/m3-room.schema.json", "id": 65, "name": "Waterway Energy Tank Room", "area": "Brinstar", "subarea": "Pink", "playable": true, "roomAddress": "0x7A0D2", "roomEnvironments": [ { "heated": false } ], "nodes": [ { "id": 1, "name": "Right Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x0018f8e", "doorOrientation": "right", "doorEnvironments": [ { "physics": "air" } ] }, { "id": 2, "name": "Item", "nodeType": "item", "nodeSubType": "visible", "nodeItem": "ETank", "nodeAddress": "0x787FA", "locks": [ { "name": "Dummy Item Lock", "lockType": "gameFlag", "unlockStrats": [ { "name": "Base (Collect Item)", "notable": false, "requires": [] } ] } ] }, { "id": 3, "name": "Dry Platform Junction", "nodeType": "junction", "nodeSubType": "junction" } ], "obstacles": [ { "id": "A", "name": "Speed blocks", "obstacleType": "inanimate" } ], "enemies": [ { "id": "e1", "groupName": "Waterway Zeros", "enemyName": "Zero", "quantity": 2, "homeNodes": [ 1 ] }, { "id": "e2", "groupName": "Waterway Puyos", "enemyName": "Puyo", "quantity": 3, "betweenNodes": [ 1, 2 ] }, { "id": "e3", "groupName": "Waterway Skulteras", "enemyName": "Skultera", "quantity": 2, "betweenNodes": [ 1, 2 ] } ], "links": [ { "from": 1, "to": [ { "id": 1 }, { "id": 2 }, { "id": 3 } ] }, { "from": 2, "to": [ { "id": 1 } ] }, { "from": 3, "to": [ { "id": 1 }, { "id": 2 } ] } ], "strats": [ { "id": 1, "link": [ 1, 1 ], "name": "Leave With Runway", "requires": [], "exitCondition": { "leaveWithRunway": { "length": 2, "openEnd": 1 } } }, { "id": 2, "link": [ 1, 1 ], "name": "Leave With Runway - Frozen Caterpillar", "requires": [ "h_canFrozenEnemyRunway" ], "exitCondition": { "leaveWithRunway": { "length": 3, "openEnd": 1 } } }, { "id": 3, "link": [ 1, 1 ], "name": "Leave Shinecharged (Gravity)", "requires": [ "Gravity", "h_canShineChargeMaxRunway", "canShinechargeMovement" ], "exitCondition": { "leaveShinecharged": { "framesRemaining": 145 } }, "flashSuitChecked": true }, { "id": 4, "link": [ 1, 1 ], "name": "Zero Farm", "requires": [ "h_heatProof", { "refill": [ "PowerBomb" ] } ], "devNote": [ "FIXME: The h_heatProof requirement is because Zeros only drop small energy, not enough to guarantee progress if the neighboring room is heated", "Later we should remove this in favor of some way to require that the neighboring room is not heated." ] }, { "id": 5, "link": [ 1, 1 ], "name": "Leave Spinning (Gravity)", "requires": [ "Gravity" ], "exitCondition": { "leaveSpinning": { "remoteRunway": { "length": 45, "openEnd": 1 } } } }, { "id": 6, "link": [ 1, 1 ], "name": "Leave With Mockball (Gravity)", "requires": [ "Gravity" ], "exitCondition": { "leaveWithMockball": { "remoteRunway": { "length": 45, "openEnd": 1 }, "landingRunway": { "length": 2, "openEnd": 1 } } } }, { "id": 7, "link": [ 1, 1 ], "name": "Leave With Spring Ball Bounce (Gravity)", "requires": [ "Gravity" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 45, "openEnd": 1 }, "landingRunway": { "length": 2, "openEnd": 1 }, "movementType": "uncontrolled" } } }, { "id": 8, "link": [ 1, 1 ], "name": "Leave Space Jumping (Gravity)", "requires": [ "Gravity" ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 45, "openEnd": 1 } } } }, { "id": 9, "link": [ 1, 1 ], "name": "Leave With Temporary Blue (Gravity)", "requires": [ "Gravity", "canChainTemporaryBlue" ], "exitCondition": { "leaveWithTemporaryBlue": {} } }, { "id": 10, "link": [ 1, 1 ], "name": "Crystal Flash", "requires": [ "h_canCrystalFlash" ], "flashSuitChecked": true }, { "id": 11, "link": [ 1, 1 ], "name": "G-Mode Setup - Get Hit By Zero", "requires": [], "exitCondition": { "leaveWithGModeSetup": {} }, "flashSuitChecked": true, "note": [ "The timing to get hit by these guys is a bit tighter, since they are so slow. Buffering their movement with x-ray can help." ] }, { "id": 12, "link": [ 1, 2 ], "name": "Base", "requires": [ "Gravity", "h_getBlueSpeedMaxRunway" ], "clearsObstacles": [ "A" ] }, { "id": 13, "link": [ 1, 2 ], "name": "Shinespark (Come in Shinecharged)", "entranceCondition": { "comeInShinecharged": { "framesRequired": 40 } }, "requires": [ "canHorizontalShinespark", { "shinespark": { "frames": 155, "excessFrames": 10 } } ], "clearsObstacles": [ "A" ], "flashSuitChecked": true }, { "id": 14, "link": [ 1, 2 ], "name": "Speedball (Come in With Blue Speed)", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 0, "openEnd": 1 } }, "requires": [ "canSpeedball" ], "note": [ "Roll through the whole room, breaking the speedblocks.", "The fish enemies will die but some puyos will remain." ], "clearsObstacles": [ "A" ] }, { "id": 15, "link": [ 1, 2 ], "name": "Speedball (Come in Spinning)", "entranceCondition": { "comeInBlueSpinning": { "unusableTiles": 0 } }, "requires": [ "canSpeedball" ], "clearsObstacles": [ "A" ] }, { "id": 16, "link": [ 1, 2 ], "name": "Come In With Blue Spring Ball Bounce", "entranceCondition": { "comeInWithBlueSpringBallBounce": { "minLandingTiles": 1, "movementType": "controlled", "maxExtraRunSpeed": "$3.F" } }, "requires": [], "clearsObstacles": [ "A" ], "devNote": "Higher run speeds can also work but may require more landing tiles if the speedball occurs just before the transition." }, { "id": 17, "link": [ 1, 2 ], "name": "Use Flash Suit", "requires": [ { "useFlashSuit": {} }, { "or": [ { "shinespark": { "frames": 72, "excessFrames": 13 } }, { "and": [ "Gravity", { "shinespark": { "frames": 59, "excessFrames": 10 } } ] } ] } ], "clearsObstacles": [ "A" ], "flashSuitChecked": true }, { "id": 18, "link": [ 1, 2 ], "name": "Grapple Teleport", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 5, 3 ], [ 7, 2 ] ] } }, "requires": [], "devNote": [ "This strat has limited usefulness since you will be stuck behind the speed blocks.", "Potentially it could be useful if you could use a flash suit to get out (though this is not yet logic);", "for example, the item could be an Energy Tank and you could need its refill in order to spark out (rather than sparking in).", "It also could be useful if the game were modified to allow retaining items after resetting." ] }, { "id": 19, "link": [ 1, 2 ], "name": "Grapple Teleport Inside Wall", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ], [ 3, 13 ] ] } }, "requires": [ { "notable": "Grapple Teleport Inside Wall" } ], "note": [ "Enter the room in a pose that allows Samus to stand.", "After teleporting, retract Grapple by pressing up.", "Then hold right to release Grapple while standing.", "Samus should get pushed up onto the floor." ], "devNote": [ "This strat has limited usefulness since you will be stuck behind the speed blocks.", "Potentially it could be useful if you could use a flash suit to get out (though this is not yet logic);", "for example, the item could be an Energy Tank and you could need its refill in order to spark out (rather than sparking in).", "It also could be useful if the game were modified to allow retaining items after resetting." ] }, { "id": 20, "link": [ 1, 3 ], "name": "Space Jump", "requires": [ "SpaceJump" ], "note": "Space Jump across the room, starting from the door, to reach the dry platform." }, { "id": 21, "link": [ 1, 3 ], "name": "Precise Wall Jump", "requires": [ "canSuitlessMaridia", "canPreciseWalljump" ] }, { "id": 22, "link": [ 1, 3 ], "name": "Bomb Jump", "requires": [ "canSuitlessMaridia", { "or": [ "canBombJumpWaterEscape", { "and": [ "h_canUseSpringBall", "canJumpIntoIBJ" ] } ] } ] }, { "id": 23, "link": [ 1, 3 ], "name": "Spring Ball Jump", "requires": [ "canSuitlessMaridia", "canTrickySpringBallJump" ], "note": "Press pause slightly before jumping into morph, in order ensure Samus still has upward momentum when the pause fade-out finishes." }, { "id": 24, "link": [ 1, 3 ], "name": "Frozen Caterpillar", "requires": [ "canSuitlessMaridia", "canBePatient", "canTrickyUseFrozenEnemies", { "ammo": { "type": "Super", "count": 1 } } ], "note": [ "Watch a Zero (Caterpillar) climb along the ceiling before knocking it down near the speed blocks.", "Freeze it and jump on top. Escape the water with a spinjump or crouch jump." ] }, { "id": 25, "link": [ 2, 1 ], "name": "Base", "requires": [ { "obstaclesCleared": [ "A" ] } ] }, { "id": 26, "link": [ 3, 1 ], "name": "Base", "requires": [] }, { "id": 27, "link": [ 3, 1 ], "name": "Leave With Spark", "requires": [ { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } }, "canMidairShinespark", { "shinespark": { "frames": 75 } } ], "exitCondition": { "leaveWithSpark": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ], "note": "Charge a spark on the dry platform, and jump into a mid-air spark across the room and through the door." }, { "id": 28, "link": [ 3, 1 ], "name": "Leave With Spark (Big Jump)", "requires": [ { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } }, "canShinechargeMovement", "canCarefulJump", "canMidairShinespark", { "shinespark": { "frames": 62 } } ], "exitCondition": { "leaveWithSpark": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ], "note": "Charge a spark going left, then build speed and jump far to the right into a mid-air spark across the room and through the door." }, { "id": 29, "link": [ 3, 1 ], "name": "Leave Spinning (Space Jump)", "requires": [ "SpaceJump", "canTrickyJump" ], "exitCondition": { "leaveSpinning": { "remoteRunway": { "length": 32, "openEnd": 1 } } }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "id": 30, "link": [ 3, 1 ], "name": "Leave With Controlled Spring Ball Bounce", "requires": [ "canTrickyJump" ], "exitCondition": { "leaveWithSpringBallBounce": { "remoteRunway": { "length": 32, "openEnd": 1 }, "landingRunway": { "length": 2, "openEnd": 1 }, "movementType": "controlled" } }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "id": 31, "link": [ 3, 1 ], "name": "Leave Space Jumping", "requires": [ "canPreciseSpaceJump" ], "exitCondition": { "leaveSpaceJumping": { "remoteRunway": { "length": 32, "openEnd": 1 } } }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "id": 32, "link": [ 3, 1 ], "name": "Leave With Temporary Blue (Speedball)", "requires": [ { "getBlueSpeed": { "usedTiles": 32, "openEnd": 1 } }, "canChainTemporaryBlue", "canSpeedball", { "or": [ "canInsaneJump", "HiJump", "canSpringBallBounce" ] } ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ], "flashSuitChecked": true, "note": [ "Perform a speedball into a temporary blue chain to reach the door.", "If HiJump and Spring Ball are unavailable, then getting out of the water requires a very precise jump:", "delay aiming down for the mid-air morph until after Samus is above the water line." ] }, { "id": 33, "link": [ 3, 1 ], "name": "Leave With Temporary Blue (Space Jump)", "requires": [ { "getBlueSpeed": { "usedTiles": 32, "openEnd": 1 } }, "SpaceJump", "canChainTemporaryBlue" ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ], "flashSuitChecked": true, "note": [ "Gain blue speed, then Space Jump across the room, ending in temporary blue chain to reach the door." ] }, { "id": 34, "link": [ 3, 2 ], "name": "Suitless Spark", "requires": [ { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } }, "canShinechargeMovement", "canHorizontalShinespark", { "shinespark": { "frames": 72, "excessFrames": 10 } } ], "clearsObstacles": [ "A" ], "note": [ "Run from left to right on the dry platform to gain a shinecharge.", "Then fall off and spark to the left to break the speed blocks." ], "devNote": "Doable without a short charge, since there are 32 tiles (plus one open end) to charge it." }, { "id": 35, "link": [ 3, 2 ], "name": "Temporary Blue Chain", "requires": [ { "canShineCharge": { "usedTiles": 32, "openEnd": 1 } }, "canLongChainTemporaryBlue", "canXRayTurnaround", { "or": [ "Wave", { "ammo": { "type": "PowerBomb", "count": 1 } }, "canDodgeWhileShooting" ] } ], "clearsObstacles": [ "A" ], "note": [ "This is a long temporary blue chain to make it through all the speed blocks.", "If possible, destroy the enemies beforehand using Wave or a Power Bomb;", "otherwise, carefully kill them individually with temporary blue." ] }, { "link": [ 1, 1 ], "name": "Base (Unlock Door)", "requires": [], "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "link": [ 1, 1 ], "name": "Base (Come In Normally)", "entranceCondition": { "comeInNormally": {} }, "requires": [] }, { "name": "Base (Collect Item)", "notable": false, "requires": [], "link": [ 2, 2 ], "collectsItems": [ 2 ] } ], "nextStratId": 36, "notables": [ { "id": 1, "name": "Grapple Teleport Inside Wall", "note": [ "Enter the room in a pose that allows Samus to stand.", "After teleporting, retract Grapple by pressing up.", "Then hold right to release Grapple while standing.", "Samus should get pushed up onto the floor." ] } ], "nextNotableId": 2 }