Volcano Room

Room ID: 116

Wiki
Difficulty filter

From: 1
Top Left Door
To: 1
Top Left Door

Exit condition:

"leaveWithRunway": {
  "length": 8,
  "openEnd": 1,
  "heated": false
}

Unlocks doors:

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

Entrance condition:

"comeInNormally": {}

Requires:

{"resetRoom": {"nodes": [1]}},
"h_CrystalFlash"

Dev note: The comeInNormally entrance condition ensures that there is no heat.

From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

"comeInShinecharging": {
  "length": 7,
  "openEnd": 0
},
"comesInHeated": "no"

Requires:

"h_CrystalSpark"
From: 1
Top Left Door
To: 2
Bottom Left Door

Requires:

"Gravity",
"Morph",
{"or": [
  {"and": [
    "canMockball",
    {"disableEquipment": "SpeedBooster"},
    "canTrickyJump",
    {"lavaFrames": 80}
  ]},
  {"lavaFrames": 100}
]},
{"or": [
  {"lavaFrames": 140},
  {"and": [
    "canDash",
    {"disableEquipment": "SpeedBooster"},
    {"lavaFrames": 110}
  ]},
  {"and": [
    "SpaceJump",
    {"lavaFrames": 40}
  ]}
]}

Exit condition:

"leaveNormally": {}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"lavaFrames": 80}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"lavaFrames": 60}]
}

Dev note: FIXME: A leaveWithRunway variation could be added, but it would require Speed Booster to be disabled, which would need new schema support in order to properly match entrance conditions in the next room.

From: 1
Top Left Door
To: 2
Bottom Left Door

Requires:

"canSuitlessLavaDive",
"Morph",
{"or": [
  {"and": [
    "canTrickyJump",
    {"disableEquipment": "SpeedBooster"},
    "canMockball",
    {"lavaFrames": 155}
  ]},
  {"lavaFrames": 200}
]},
{"or": [
  {"and": [
    "canSpaceJumpWaterBounce",
    {"or": [
      {"and": [
        "canPreciseSpaceJump",
        {"lavaFrames": 35}
      ]},
      {"lavaFrames": 60}
    ]}
  ]},
  {"lavaFrames": 150}
]}

Exit condition:

"leaveNormally": {}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"lavaFrames": 80}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"lavaFrames": 150}]
}
From: 1
Top Left Door
To: 2
Bottom Left Door

Requires:

"canSuitlessLavaDive",
"canFarmWhileShooting",
{"enemyKill": {
  "enemies": [["Fune", "Fune"]],
  "explicitWeapons": ["PowerBomb"]
}},
{"or": [
  {"and": [
    "canTrickyJump",
    {"disableEquipment": "SpeedBooster"},
    "canMockball",
    {"lavaFramesWithEnergyDrops": {
      "frames": 120,
      "drops": [{"enemy": "Fune", "count": 1}]
    }}
  ]},
  {"lavaFramesWithEnergyDrops": {
    "frames": 165,
    "drops": [{"enemy": "Fune", "count": 1}]
  }}
]},
{"lavaFrames": 35},
{"or": [
  {"and": [
    "canSpaceJumpWaterBounce",
    {"or": [
      {"and": [
        "canPreciseSpaceJump",
        {"lavaFrames": 35}
      ]},
      {"lavaFrames": 60}
    ]}
  ]},
  {"lavaFrames": 150}
]}

Exit condition:

"leaveNormally": {}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"lavaFrames": 80}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"lavaFrames": 150}]
}

Dev note: FIXME: a Gravity version of this could be added.

From: 2
Bottom Left Door
To: 1
Top Left Door

Requires:

"Morph",
{"or": [
  "canMockball",
  {"and": [
    "canDash",
    {"heatFrames": 35}
  ]},
  {"heatFrames": 200}
]},
{"heatFrames": 420}

Exit condition:

"leaveNormally": {}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"heatFrames": 20}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"heatFrames": 60}]
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Requires:

"canDash",
"Morph",
{"or": [
  "canMockball",
  {"heatFrames": 35}
]},
{"heatFrames": 380}

Exit condition:

"leaveWithRunway": {
  "length": 8,
  "openEnd": 1,
  "heated": true
}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"heatFrames": 50}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"heatFrames": 60}]
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Requires:

"canDash",
"Morph",
"SpaceJump",
{"or": [
  "canMockball",
  {"heatFrames": 35}
]},
{"heatFrames": 405}

Exit condition:

"leaveNormally": {}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"heatFrames": 20}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"heatFrames": 60}]
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Entrance condition:

"comeInRunning": {
  "speedBooster": "any",
  "minTiles": 2
}

Requires:

"Morph",
"SpaceJump",
"canMockball",
{"heatFrames": 390}

Exit condition:

"leaveNormally": {}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"heatFrames": 20}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"heatFrames": 60}]
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Requires:

{"heatFrames": 180},
"h_heatedCrystalFlash",
{"heatFrames": 250}

Dev note: FIXME: by adding a junction here, we could account for more ways of entering the room; but a junction would complicate how the heated/unheated state of the room is tracked. A dashless variant could also be included.

From: 2
Bottom Left Door
To: 1
Top Left Door

Move quickly (when X-Ray is not active) to climb the shaft before the Fune fireballs would reach Samus.

Entrance condition:

"comeInGettingBlueSpeed": {
  "length": 4,
  "openEnd": 1,
  "minExtraRunSpeed": "$4.7"
}

Requires:

"canLongChainTemporaryBlue",
"canXRayTurnaround",
{"heatFrames": 760}

Exit condition:

"leaveWithTemporaryBlue": {}

Unlocks doors:

{"types": ["super", "powerbomb"], "requires": []},
{
  "types": ["missiles"],
  "requires": [{"heatFrames": 50}]
}

Dev note: The last runway tile is considered unusable, as Samus is likely to clip down through it.

Move quickly (when X-Ray is not active) to climb the shaft before the Fune fireballs would reach Samus.

Entrance condition:

"comeInGettingBlueSpeed": {
  "length": 5,
  "openEnd": 1
}

Requires:

"canTrickySpringBallBounce",
"canLongChainTemporaryBlue",
"canXRayTurnaround",
{"heatFrames": 1020}

Exit condition:

"leaveWithTemporaryBlue": {}

Unlocks doors:

{"types": ["super", "powerbomb"], "requires": []},
{
  "types": ["missiles"],
  "requires": [{"heatFrames": 50}]
}
From: 2
Bottom Left Door
To: 1
Top Left Door

Enter the morph tunnel then exit G-mode. Shooting the shot block off screen can be done by jumping and shooting up or with Grapple or a Power Bomb. Getting positioned under the shot block can be done by walking into the camera scroll block and then walking against the right wall, jump to the left and walk a little more (about one more tile). This will also give some visibility of Samus. Without heat damage, it is recommended to jump up past the shot block and wait for it to respawn; with the block intact, Samus can't accidentally touch the lava.

Entrance condition:

"comeInWithGMode": {
  "mode": "any",
  "morphed": true
}

Requires:

"h_heatedGMode",
"canComplexGMode",
"canOffScreenMovement",
{"or": [
  "h_artificialMorphMovement",
  {"ammo": {"type": "PowerBomb", "count": 3}}
]},
{"or": [
  "canInsaneJump",
  {"and": [
    "canTrickyJump",
    "h_heatProof"
  ]},
  {"and": [
    "h_heatProof",
    "h_lavaProof",
    {"or": [
      "Gravity",
      "HiJump"
    ]}
  ]}
]},
{"heatFrames": 1000},
{"or": [
  "canTrickyGMode",
  {"heatFrames": 500}
]}

Exit condition:

"leaveNormally": {}

Unlocks doors:

{
  "types": ["missiles"],
  "requires": [{"heatFrames": 20}]
},
{"types": ["super"], "requires": []},
{
  "types": ["powerbomb"],
  "requires": [{"heatFrames": 60}]
}

Dev note: These heat frames are not very tight, as the room is difficult to do consistently.

From: 2
Bottom Left Door
To: 2
Bottom Left Door

Entrance condition:

"comeInNormally": {}

Exit condition:

"leaveWithRunway": {
  "length": 6,
  "openEnd": 1,
  "heated": true
}

Unlocks doors:

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

Entrance condition:

"comeInNormally": {}

Requires:

"h_heatedCrystalFlash"
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Entrance condition:

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

Requires:

"h_heatedCrystalSpark"