Ridley's Room

Room ID: 142

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Exit condition:

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

Requires:

{
  "not": "f_DefeatedRidley"
}
"canRiskPermanentLossOfAccess"
{
  "enemyDamage": {
    "enemy": "Ridley",
    "type": "contact",
    "hits": 1
  }
}
From: 1
Left Door
To: 3
Ridley

Requires:

{
  "heatFrames": 50
}
From: 2
Right Door
To: 2
Right Door

Exit condition:

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

Requires:

{
  "not": "f_DefeatedRidley"
}
"canRiskPermanentLossOfAccess"
{
  "enemyDamage": {
    "enemy": "Ridley",
    "type": "contact",
    "hits": 1
  }
}
From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "direct",
    "morphed": false
  }
}

Requires:

{
  "or": [
    "SpaceJump",
    "canWalljump",
    {
      "and": [
        "canJumpIntoIBJ",
        "canTrickyJump"
      ]
    },
    {
      "and": [
        "canIBJ",
        {
          "or": [
            "f_DefeatedRidley",
            {
              "obstaclesCleared": [
                "f_DefeatedRidley"
              ]
            }
          ]
        }
      ]
    },
    {
      "and": [
        "HiJump",
        "canSpringBallJumpMidAir"
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithGMode": {
    "morphed": false
  }
}

Clears obstacles: door_2

Bypasses door shell: true

From: 2
Right Door
To: 2
Right Door

Entrance condition:

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

Requires:

"canArtificialMorph"

Exit condition:

{
  "leaveWithGMode": {
    "morphed": true
  }
}

Clears obstacles: door_2

Bypasses door shell: true

From: 2
Right Door
To: 3
Ridley

Requires:

{
  "heatFrames": 100
}
From: 3
Ridley
To: 1
Left Door

Requires:

{
  "heatFrames": 50
}
From: 3
Ridley
To: 2
Right Door

Requires:

"canWalljump"
{
  "heatFrames": 200
}
From: 3
Ridley
To: 2
Right Door

Requires:

"SpaceJump"
{
  "heatFrames": 250
}
From: 3
Ridley
To: 2
Right Door

Requires:

"h_heatProof"
"canIBJ"
From: 3
Ridley
To: 2
Right Door

Requires:

"HiJump"
"canSpringBallJumpMidAir"
{
  "heatFrames": 210
}
From: 3
Ridley
To: 2
Right Door

Requires starting on one of the last three pixels and then performing a last frame jump to get enough height.

Requires:

"HiJump"
"SpeedBooster"
"canTrickyJump"
{
  "heatFrames": 320
}
{
  "or": [
    "canInsaneJump",
    {
      "heatFrames": 300
    }
  ]
}
From: 3
Ridley
To: 3
Ridley

Requires:

"h_heatProof"
{
  "enemyKill": {
    "enemies": [
      [
        "Ridley"
      ]
    ]
  }
}

Clears obstacles: f_DefeatedRidley

From: 3
Ridley
To: 3
Ridley

Fight Ridley without immunity to heat damage.

Requires:

{
  "notable": "Ridley without Heat Protection"
}
"canHeatRun"
{
  "enemyKill": {
    "enemies": [
      [
        "Ridley"
      ]
    ]
  }
}

Clears obstacles: f_DefeatedRidley

From: 3
Ridley
To: 3
Ridley

Requires:

"h_canHeatedCrystalFlash"
From: 4
Right Door Spawn At Junction
To: 2
Right Door

Requires:

"canPrepareForNextRoom"
{
  "or": [
    "SpaceJump",
    "canWalljump",
    "canTrickyJump",
    "canStationarySpinJump"
  ]
}
{
  "heatFrames": 80
}
{
  "doorUnlockedAtNode": 2
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 4
Right Door Spawn At Junction
To: 3
Ridley

Requires:

{
  "heatFrames": 100
}

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 142,
  "name": "Ridley's Room",
  "area": "Norfair",
  "subarea": "Lower",
  "subsubarea": "East",
  "playable": true,
  "roomAddress": "0x7B32E",
  "roomEnvironments": [
    {
      "heated": true
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "gray",
      "nodeAddress": "0x00198b2",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "locks": [
        {
          "name": "Ridley Room Left Gray Lock (to E-Tank)",
          "lockType": "gameFlag",
          "unlockStrats": [
            {
              "name": "Base",
              "notable": false,
              "requires": [
                {
                  "or": [
                    "f_DefeatedRidley",
                    {
                      "obstaclesCleared": [
                        "f_DefeatedRidley"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "gray",
      "nodeAddress": "0x00198be",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "locks": [
        {
          "name": "Ridley Room Right Gray Lock (to Farming Room)",
          "lockType": "gameFlag",
          "unlockStrats": [
            {
              "name": "Base",
              "notable": false,
              "requires": [
                {
                  "or": [
                    "f_DefeatedRidley",
                    {
                      "obstaclesCleared": [
                        "f_DefeatedRidley"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "spawnAt": 4
    },
    {
      "id": 3,
      "name": "Ridley",
      "nodeType": "junction",
      "nodeSubType": "junction",
      "devNote": "FIXME: This node can be eliminated."
    },
    {
      "id": 4,
      "name": "Right Door Spawn At Junction",
      "nodeType": "junction",
      "nodeSubType": "junction"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Ridley",
      "enemyName": "Ridley",
      "quantity": 1,
      "homeNodes": [
        3
      ],
      "stopSpawn": [
        "f_DefeatedRidley"
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 3
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 2
        },
        {
          "id": 3
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 2
        },
        {
          "id": 3
        }
      ]
    }
  ],
  "strats": [
    {
      "id": 1,
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 1,
          "openEnd": 1
        }
      }
    },
    {
      "id": 2,
      "link": [
        1,
        1
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "not": "f_DefeatedRidley"
        },
        "canRiskPermanentLossOfAccess",
        {
          "enemyDamage": {
            "enemy": "Ridley",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 3,
      "link": [
        1,
        3
      ],
      "name": "Base",
      "requires": [
        {
          "heatFrames": 50
        }
      ]
    },
    {
      "id": 4,
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 1,
          "openEnd": 1
        }
      }
    },
    {
      "id": 5,
      "link": [
        2,
        2
      ],
      "name": "G-Mode Regain Mobility",
      "requires": [
        {
          "not": "f_DefeatedRidley"
        },
        "canRiskPermanentLossOfAccess",
        {
          "enemyDamage": {
            "enemy": "Ridley",
            "type": "contact",
            "hits": 1
          }
        }
      ],
      "gModeRegainMobility": {},
      "flashSuitChecked": true
    },
    {
      "id": 6,
      "link": [
        2,
        2
      ],
      "name": "Carry G-Mode Back Through",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": false
        }
      },
      "requires": [
        {
          "or": [
            "SpaceJump",
            "canWalljump",
            {
              "and": [
                "canJumpIntoIBJ",
                "canTrickyJump"
              ]
            },
            {
              "and": [
                "canIBJ",
                {
                  "or": [
                    "f_DefeatedRidley",
                    {
                      "obstaclesCleared": [
                        "f_DefeatedRidley"
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "and": [
                "HiJump",
                "canSpringBallJumpMidAir"
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": false
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true,
      "clearsObstacles": [
        "door_2"
      ]
    },
    {
      "id": 7,
      "link": [
        2,
        2
      ],
      "name": "Carry G-Mode Morph Back Through",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "direct",
          "morphed": true
        }
      },
      "requires": [
        "canArtificialMorph"
      ],
      "exitCondition": {
        "leaveWithGMode": {
          "morphed": true
        }
      },
      "bypassesDoorShell": true,
      "flashSuitChecked": true,
      "devNote": "Artificial morph will allow Samus not to fall; real Morph is not sufficient.",
      "clearsObstacles": [
        "door_2"
      ]
    },
    {
      "id": 8,
      "link": [
        2,
        3
      ],
      "name": "Base",
      "requires": [
        {
          "heatFrames": 100
        }
      ]
    },
    {
      "id": 9,
      "link": [
        3,
        1
      ],
      "name": "Base",
      "requires": [
        {
          "heatFrames": 50
        }
      ]
    },
    {
      "id": 10,
      "link": [
        3,
        2
      ],
      "name": "Wall Jump",
      "requires": [
        "canWalljump",
        {
          "heatFrames": 200
        }
      ]
    },
    {
      "id": 11,
      "link": [
        3,
        2
      ],
      "name": "Space Jump",
      "requires": [
        "SpaceJump",
        {
          "heatFrames": 250
        }
      ]
    },
    {
      "id": 12,
      "link": [
        3,
        2
      ],
      "name": "IBJ",
      "requires": [
        "h_heatProof",
        "canIBJ"
      ]
    },
    {
      "id": 18,
      "link": [
        3,
        2
      ],
      "name": "HiJump Spring Ball",
      "requires": [
        "HiJump",
        "canSpringBallJumpMidAir",
        {
          "heatFrames": 210
        }
      ]
    },
    {
      "id": 19,
      "link": [
        3,
        2
      ],
      "name": "Speedy HiJump",
      "requires": [
        "HiJump",
        "SpeedBooster",
        "canTrickyJump",
        {
          "heatFrames": 320
        },
        {
          "or": [
            "canInsaneJump",
            {
              "heatFrames": 300
            }
          ]
        }
      ],
      "note": "Requires starting on one of the last three pixels and then performing a last frame jump to get enough height.",
      "devNote": "This gives one leniency attempt without canInsaneJump."
    },
    {
      "id": 16,
      "link": [
        3,
        3
      ],
      "name": "Heat Proof Ridley",
      "requires": [
        "h_heatProof",
        {
          "enemyKill": {
            "enemies": [
              [
                "Ridley"
              ]
            ]
          }
        }
      ],
      "setsFlags": [
        "f_DefeatedRidley"
      ],
      "clearsObstacles": [
        "f_DefeatedRidley"
      ]
    },
    {
      "id": 17,
      "link": [
        3,
        3
      ],
      "name": "Ridley without Heat Protection",
      "requires": [
        {
          "notable": "Ridley without Heat Protection"
        },
        "canHeatRun",
        {
          "enemyKill": {
            "enemies": [
              [
                "Ridley"
              ]
            ]
          }
        }
      ],
      "setsFlags": [
        "f_DefeatedRidley"
      ],
      "note": "Fight Ridley without immunity to heat damage.",
      "clearsObstacles": [
        "f_DefeatedRidley"
      ]
    },
    {
      "id": 13,
      "link": [
        3,
        3
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 14,
      "link": [
        4,
        2
      ],
      "name": "Prepared Entry",
      "requires": [
        "canPrepareForNextRoom",
        {
          "or": [
            "SpaceJump",
            "canWalljump",
            "canTrickyJump",
            "canStationarySpinJump"
          ]
        },
        {
          "heatFrames": 80
        },
        {
          "doorUnlockedAtNode": 2
        }
      ],
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "id": 15,
      "link": [
        4,
        3
      ],
      "name": "Base",
      "requires": [
        {
          "heatFrames": 100
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "missiles"
          ],
          "requires": [
            {
              "heatFrames": 50
            }
          ]
        },
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "heatFrames": 110
            }
          ]
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [],
      "clearsObstacles": [
        "door_1"
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "missiles"
          ],
          "requires": [
            {
              "heatFrames": 50
            }
          ]
        },
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            {
              "heatFrames": 110
            }
          ]
        }
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": [],
      "clearsObstacles": [
        "door_2"
      ]
    }
  ],
  "nextStratId": 20,
  "notables": [
    {
      "id": 1,
      "name": "Ridley without Heat Protection",
      "note": "Fight Ridley without immunity to heat damage."
    }
  ],
  "nextNotableId": 2,
  "obstacles": [
    {
      "id": "door_1",
      "name": "door_1"
    },
    {
      "id": "door_2",
      "name": "door_2"
    },
    {
      "id": "f_DefeatedRidley",
      "name": "f_DefeatedRidley"
    }
  ]
}