Brinstar Pre-Map Room

Room ID: 47

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 0
  }
}
From: 1
Left Door
To: 1
Left Door

Requires:

"h_canCrystalFlash"

Clears obstacles: A

From: 1
Left Door
To: 1
Left Door

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "enemyDamage": {
    "enemy": "Zeela",
    "type": "contact",
    "hits": 1
  }
}
From: 1
Left Door
To: 2
Right Door

Requires:

"Morph"
{
  "or": [
    "h_canBombThings",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}

Clears obstacles: A

From: 1
Left Door
To: 2
Right Door

Entrance condition:

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

Requires:

"canTemporaryBlue"
"canSpringBallBounce"

Clears obstacles: A

Entrance condition:

{
  "comeInWithTemporaryBlue": {}
}

Requires:

"canChainTemporaryBlue"
"canSpringBallBounce"

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Requires:

"Morph"
{
  "or": [
    "h_canBombThings",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 11,
    "openEnd": 0
  }
}

Requires:

"canSpeedball"

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Run on the upper platform to perform the speedball.

Requires:

"canSlowShortCharge"
{
  "getBlueSpeed": {
    "usedTiles": 14,
    "openEnd": 1
  }
}
"canSpeedball"

Clears obstacles: A

Use a frozen Zeela to extend the upper platform to help set up the speedball.

Requires:

"h_canFrozenEnemyRunway"
"canSlowShortCharge"
{
  "getBlueSpeed": {
    "usedTiles": 15,
    "openEnd": 1
  }
}
"canSpeedball"

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Use the upper platform to run and gain temporary blue.

Requires:

{
  "canShineCharge": {
    "usedTiles": 17,
    "openEnd": 1
  }
}
"canTemporaryBlue"
"canSpringBallBounce"

Clears obstacles: A

From: 2
Right Door
To: 1
Left Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 17,
    "openEnd": 1
  }
}
"canShinechargeMovement"
{
  "obstaclesCleared": [
    "A"
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 60
  }
}

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

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

From: 2
Right Door
To: 2
Right Door

Exit condition:

{
  "leaveWithRunway": {
    "length": 15,
    "openEnd": 0
  }
}
From: 2
Right Door
To: 2
Right Door

Use the upper platform to gain a shinecharge and carry it out the right door.

Requires:

{
  "canShineCharge": {
    "usedTiles": 17,
    "openEnd": 1
  }
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 95
  }
}
From: 2
Right Door
To: 2
Right Door

Exit condition:

{
  "leaveWithMockball": {
    "remoteRunway": {
      "length": 17,
      "openEnd": 1
    },
    "landingRunway": {
      "length": 7,
      "openEnd": 1
    }
  }
}
From: 2
Right Door
To: 2
Right Door

Exit condition:

{
  "leaveSpaceJumping": {
    "remoteRunway": {
      "length": 16,
      "openEnd": 1
    },
    "maxExtraRunSpeed": "$2.4"
  }
}
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "getBlueSpeed": {
    "usedTiles": 17,
    "openEnd": 1
  }
}
"canChainTemporaryBlue"

Exit condition:

{
  "leaveWithTemporaryBlue": {}
}
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "resetRoom": {
    "nodes": [
      2
    ],
    "mustStayPut": false
  }
}
{
  "partialRefill": {
    "type": "Energy",
    "limit": 240
  }
}
{
  "partialRefill": {
    "type": "Missile",
    "limit": 20
  }
}
{
  "partialRefill": {
    "type": "Super",
    "limit": 4
  }
}
From: 2
Right Door
To: 2
Right Door

Requires:

"h_canCrystalFlash"

Clears obstacles: A

From: 2
Right Door
To: 2
Right Door

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "enemyDamage": {
    "enemy": "Sm. Sidehopper",
    "type": "contact",
    "hits": 1
  }
}

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 47,
  "name": "Brinstar Pre-Map Room",
  "area": "Brinstar",
  "subarea": "Green",
  "playable": true,
  "roomAddress": "0x79B9D",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x0018d36",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "gray",
      "nodeAddress": "0x0018d42",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "locks": [
        {
          "name": "Brinstar Pre-Map Gray Lock (to Green Shaft)",
          "lockType": "killEnemies",
          "unlockStrats": [
            {
              "name": "Base",
              "notable": false,
              "requires": [
                "Morph",
                {
                  "or": [
                    "h_canBombThings",
                    {
                      "obstaclesCleared": [
                        "A"
                      ]
                    },
                    {
                      "and": [
                        "canSlowShortCharge",
                        "canSpeedball",
                        {
                          "getBlueSpeed": {
                            "usedTiles": 14,
                            "openEnd": 1
                          }
                        }
                      ]
                    }
                  ]
                }
              ],
              "clearsObstacles": [
                "A"
              ],
              "note": [
                "Both sides of the room must be accessed to reach all enemies and unlock the door.",
                "Beyond that, the enemies can be killed with Power Beam."
              ]
            }
          ],
          "yields": [
            "f_ZebesAwake"
          ]
        }
      ]
    }
  ],
  "obstacles": [
    {
      "id": "A",
      "name": "Bomb Blocks",
      "obstacleType": "inanimate"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Brinstar Pre-Map Left Zeela",
      "enemyName": "Zeela",
      "quantity": 1,
      "homeNodes": [
        1
      ]
    },
    {
      "id": "e2",
      "groupName": "Brinstar Pre-Map Right Zeelas",
      "enemyName": "Zeela",
      "quantity": 2,
      "homeNodes": [
        2
      ]
    },
    {
      "id": "e3",
      "groupName": "Brinstar Pre-Map Small Sidehopper",
      "enemyName": "Sm. Sidehopper",
      "quantity": 1,
      "homeNodes": [
        2
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2,
          "devNote": "FIXME: Node 1 could be used to reset the room, with additional requirements."
        }
      ]
    }
  ],
  "strats": [
    {
      "id": 1,
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway",
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 0
        }
      },
      "requires": [],
      "flashSuitChecked": true
    },
    {
      "id": 2,
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 3,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Setup - Get Hit By Zeela",
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 4,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Zeela",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 5,
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": [
        "Morph",
        {
          "or": [
            "h_canBombThings",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 6,
      "link": [
        1,
        2
      ],
      "name": "Temporary Blue Bounce (Come in Shinecharging)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 1,
          "openEnd": 0
        }
      },
      "requires": [
        "canTemporaryBlue",
        "canSpringBallBounce"
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true,
      "devNote": [
        "There is 1 unusable tile in this runway.",
        "TODO: Add an insane speedball strat which is possible by jumping up through the door blue with very low speed."
      ]
    },
    {
      "id": 7,
      "link": [
        1,
        2
      ],
      "name": "Temporary Blue Bounce (Come in With Temporary Blue)",
      "entranceCondition": {
        "comeInWithTemporaryBlue": {}
      },
      "requires": [
        "canChainTemporaryBlue",
        "canSpringBallBounce"
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true,
      "devNote": "There is 1 unusable tile in this runway."
    },
    {
      "id": 8,
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": [
        "Morph",
        {
          "or": [
            "h_canBombThings",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 9,
      "link": [
        2,
        1
      ],
      "name": "Speedball (Come In Shinecharging)",
      "entranceCondition": {
        "comeInGettingBlueSpeed": {
          "length": 11,
          "openEnd": 0
        }
      },
      "requires": [
        "canSpeedball"
      ],
      "clearsObstacles": [
        "A"
      ],
      "devNote": "There are 3 unusable tiles in this runway."
    },
    {
      "id": 10,
      "link": [
        2,
        1
      ],
      "name": "Speedball (In-Room)",
      "requires": [
        "canSlowShortCharge",
        {
          "getBlueSpeed": {
            "usedTiles": 14,
            "openEnd": 1
          }
        },
        "canSpeedball"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "Run on the upper platform to perform the speedball."
    },
    {
      "id": 11,
      "link": [
        2,
        1
      ],
      "name": "Speedball (In-Room) Extended Runway With Frozen Zeela",
      "requires": [
        "h_canFrozenEnemyRunway",
        "canSlowShortCharge",
        {
          "getBlueSpeed": {
            "usedTiles": 15,
            "openEnd": 1
          }
        },
        "canSpeedball"
      ],
      "clearsObstacles": [
        "A"
      ],
      "note": "Use a frozen Zeela to extend the upper platform to help set up the speedball."
    },
    {
      "id": 12,
      "link": [
        2,
        1
      ],
      "name": "Temporary Blue Bounce",
      "requires": [
        {
          "canShineCharge": {
            "usedTiles": 17,
            "openEnd": 1
          }
        },
        "canTemporaryBlue",
        "canSpringBallBounce"
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true,
      "note": "Use the upper platform to run and gain temporary blue."
    },
    {
      "id": 13,
      "link": [
        2,
        1
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "canShineCharge": {
            "usedTiles": 17,
            "openEnd": 1
          }
        },
        "canShinechargeMovement",
        {
          "obstaclesCleared": [
            "A"
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 60
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 14,
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              5,
              3
            ],
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": [],
      "flashSuitChecked": true
    },
    {
      "id": 15,
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport Door Lock Skip",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "flashSuitChecked": true
    },
    {
      "id": 16,
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 17,
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 18,
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 15,
          "openEnd": 0
        }
      },
      "flashSuitChecked": true
    },
    {
      "id": 19,
      "link": [
        2,
        2
      ],
      "name": "Leave Shinecharged",
      "requires": [
        {
          "canShineCharge": {
            "usedTiles": 17,
            "openEnd": 1
          }
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 95
        }
      },
      "flashSuitChecked": true,
      "note": "Use the upper platform to gain a shinecharge and carry it out the right door."
    },
    {
      "id": 20,
      "link": [
        2,
        2
      ],
      "name": "Leave With Mockball",
      "requires": [],
      "exitCondition": {
        "leaveWithMockball": {
          "remoteRunway": {
            "length": 17,
            "openEnd": 1
          },
          "landingRunway": {
            "length": 7,
            "openEnd": 1
          }
        }
      },
      "devNote": "It's also possible to do a neutral bounce into an uncontrolled spring ball bounce through the door; but it's unclear if it has any application."
    },
    {
      "id": 21,
      "link": [
        2,
        2
      ],
      "name": "Leave Space Jumping",
      "requires": [],
      "exitCondition": {
        "leaveSpaceJumping": {
          "remoteRunway": {
            "length": 16,
            "openEnd": 1
          },
          "maxExtraRunSpeed": "$2.4"
        }
      }
    },
    {
      "id": 22,
      "link": [
        2,
        2
      ],
      "name": "Leave With Temporary Blue",
      "requires": [
        {
          "getBlueSpeed": {
            "usedTiles": 17,
            "openEnd": 1
          }
        },
        "canChainTemporaryBlue"
      ],
      "exitCondition": {
        "leaveWithTemporaryBlue": {}
      }
    },
    {
      "id": 23,
      "link": [
        2,
        2
      ],
      "name": "Zeela & Sidehopper Farm",
      "requires": [
        {
          "resetRoom": {
            "nodes": [
              2
            ],
            "mustStayPut": false
          }
        },
        {
          "partialRefill": {
            "type": "Energy",
            "limit": 240
          }
        },
        {
          "partialRefill": {
            "type": "Missile",
            "limit": 20
          }
        },
        {
          "partialRefill": {
            "type": "Super",
            "limit": 4
          }
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 24,
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "clearsObstacles": [
        "A"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 25,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Setup - Get Hit By Zeela or Sidehopper",
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "flashSuitChecked": true
    },
    {
      "id": 26,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "enemyDamage": {
            "enemy": "Sm. Sidehopper",
            "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": 27,
  "notables": [],
  "nextNotableId": 1
}