Waterway Energy Tank Room

Room ID: 65

Wiki
Difficulty filter

From: 1
Right Door
To: 1
Right Door

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
  }
}
From: 1
Right Door
To: 1
Right Door

Requires:

"Gravity"
"SpeedBooster"
"canShinechargeMovement"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 145
  }
}
From: 1
Right Door
To: 1
Right Door

Requires:

"h_heatProof"
{
  "refill": [
    "PowerBomb"
  ]
}
From: 1
Right Door
To: 1
Right Door

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": {}
}
From: 1
Right Door
To: 2
Item

Requires:

"Gravity"
"SpeedBooster"

Clears obstacles: A

From: 1
Right Door
To: 2
Item

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:

{
  "comeInShinecharging": {
    "length": 0,
    "openEnd": 1
  }
}

Requires:

"canSpeedball"

Clears obstacles: A

From: 1
Right Door
To: 2
Item

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        5,
        3
      ],
      [
        7,
        2
      ]
    ]
  }
}
From: 1
Right Door
To: 2
Item

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
      ]
    ]
  }
}
From: 1
Right Door
To: 3
Dry Platform Junction

Space Jump across the room, starting from the door, to reach the dry platform.

Requires:

"SpaceJump"
From: 1
Right Door
To: 3
Dry Platform Junction

Requires:

"canSuitlessMaridia"
"canPreciseWalljump"
From: 1
Right Door
To: 3
Dry Platform Junction

Requires:

"canSuitlessMaridia"
{
  "or": [
    "canBombJumpWaterEscape",
    {
      "and": [
        "h_canUseSpringBall",
        "h_canJumpIntoIBJ"
      ]
    }
  ]
}
From: 1
Right Door
To: 3
Dry Platform Junction

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
  }
}
From: 2
Item
To: 1
Right Door

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
From: 3
Dry Platform Junction
To: 1
Right Door

From: 3
Dry Platform Junction
To: 1
Right Door

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": {}
}
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": {}
}
From: 3
Dry Platform Junction
To: 2
Item

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
  }
}

{
  "$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",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Item",
      "nodeType": "item",
      "nodeSubType": "visible",
      "nodeItem": "ETank",
      "nodeAddress": "0x787FA"
    },
    {
      "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": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 2,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway - Frozen Caterpillar",
      "requires": [
        "h_canFrozenEnemyRunway"
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave Shinecharged (Gravity)",
      "requires": [
        "Gravity",
        "SpeedBooster",
        "canShinechargeMovement"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 145
        }
      }
    },
    {
      "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."
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Zero",
      "notable": false,
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "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."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": [
        "Gravity",
        "SpeedBooster"
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Shinespark (Come in Shinecharged)",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 40
        }
      },
      "requires": [
        "canHorizontalShinespark",
        {
          "shinespark": {
            "frames": 155,
            "excessFrames": 10
          }
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Speedball (Come in With Blue Speed)",
      "entranceCondition": {
        "comeInShinecharging": {
          "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"
      ]
    },
    {
      "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."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Waterway Grapple Teleport Inside Wall",
      "notable": false,
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "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."
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Space Jump",
      "requires": [
        "SpaceJump"
      ],
      "note": "Space Jump across the room, starting from the door, to reach the dry platform."
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Precise Wall Jump",
      "requires": [
        "canSuitlessMaridia",
        "canPreciseWalljump"
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Bomb Jump",
      "requires": [
        "canSuitlessMaridia",
        {
          "or": [
            "canBombJumpWaterEscape",
            {
              "and": [
                "h_canUseSpringBall",
                "h_canJumpIntoIBJ"
              ]
            }
          ]
        }
      ]
    },
    {
      "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."
    },
    {
      "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."
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": [
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "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."
    },
    {
      "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."
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Suitless Spark",
      "requires": [
        {
          "canShineCharge": {
            "usedTiles": 32,
            "openEnd": 1
          }
        },
        "canShinechargeMovement",
        "canHorizontalShinespark",
        {
          "shinespark": {
            "frames": 72,
            "excessFrames": 10
          }
        }
      ],
      "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."
    }
  ]
}