Lower Norfair Farming Room

Room ID: 141

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:

"h_canHeatedCrystalFlash"
From: 1
Left Door
To: 2
Right Door

Requires:

"h_canNavigateHeatRooms"
"SpaceJump"
{
  "heatFrames": 380
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInJumping": {
    "minTiles": 5,
    "speedBooster": "any"
  }
}

Requires:

"h_canNavigateHeatRooms"
"SpaceJump"
"canPrepareForNextRoom"
{
  "heatFrames": 260
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 15
  }
}

Requires:

"h_canNavigateHeatRooms"
"canMidairShinespark"
{
  "shinespark": {
    "frames": 57,
    "excessFrames": 4
  }
}
{
  "heatFrames": 230
}
From: 1
Left Door
To: 3
Left Farm Junction

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 135
}
From: 2
Right Door
To: 1
Left Door

Requires:

"h_canNavigateHeatRooms"
"SpaceJump"
{
  "heatFrames": 320
}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"h_canNavigateHeatRooms"
"SpaceJump"
{
  "heatFrames": 260
}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 15
  }
}

Requires:

"h_canNavigateHeatRooms"
"canMidairShinespark"
{
  "shinespark": {
    "frames": 59,
    "excessFrames": 5
  }
}
{
  "heatFrames": 190
}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        5,
        3
      ],
      [
        7,
        2
      ]
    ]
  }
}

Requires:

{
  "heatFrames": 45
}
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": 4,
    "openEnd": 1
  }
}
From: 2
Right Door
To: 2
Right Door

Be careful to avoid damage from the respawning Zebbos. They will not spawn if you are close enough to the door.

Requires:

"h_canHeatedCrystalFlash"
From: 2
Right Door
To: 3
Left Farm Junction

Use the wider platforms to build run speed for jumping farther, faster.

Requires:

"h_canNavigateHeatRooms"
"canTrickyJump"
{
  "heatFrames": 215
}
From: 2
Right Door
To: 4
Right Farm Junction

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 45
}
From: 3
Left Farm Junction
To: 1
Left Door

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 145
}
From: 3
Left Farm Junction
To: 1
Left Door

The Zebbo needs to be 2 pixels higher than where it would be if Samus was standing. One setup is to peform a tiny hop just before the right Zebbo starts moving to the left then freeze it after it starts moving left. Lure the Zebbo to the left and freeze it again to extend the runway while maintaining a half-tile gap between it and the runway to extend the runway as much as possible. With more Energy, it is possible to morph on one of the medium-height pillars to align the Zebbo.

Requires:

"h_canFrozenEnemyRunway"
{
  "heatFrames": 1000
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 6,
    "openEnd": 0
  }
}
From: 3
Left Farm Junction
To: 3
Left Farm Junction

Requires:

"h_heatProof"
{
  "refill": [
    "Energy",
    "Missile",
    "Super"
  ]
}
From: 3
Left Farm Junction
To: 3
Left Farm Junction

Requires:

"h_heatProof"
{
  "resetRoom": {
    "nodes": [
      1
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "PowerBomb"
  ]
}
From: 3
Left Farm Junction
To: 3
Left Farm Junction

Requires:

"canPauseAbuse"
"Grapple"
"canBeVeryPatient"
{
  "resetRoom": {
    "nodes": [
      1
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "Energy",
    "Super",
    "PowerBomb"
  ]
}
From: 3
Left Farm Junction
To: 3
Left Farm Junction

Be careful to avoid damage from the respawning Zebbos.

Requires:

"h_canHeatedCrystalFlash"
From: 3
Left Farm Junction
To: 4
Right Farm Junction

Requires:

"h_canNavigateHeatRooms"
{
  "or": [
    "canTrickyJump",
    {
      "heatFrames": 30
    }
  ]
}
{
  "heatFrames": 180
}
From: 4
Right Farm Junction
To: 2
Right Door

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 60
}
From: 4
Right Farm Junction
To: 2
Right Door

The Zebbo needs to be 2 pixels higher than where it would be if Samus was standing. One setup is to peform a tiny hop just before the left Zebbo starts moving to the right then freeze it after it starts moving right. Get onto the runway and freeze the Zebbo again while maintaining a half-tile gap between it and the runway to extend it as much as possible. With more Energy, it is possible to morph on one of the medium-height pillars to align the Zebbo. With less Energy, it is possible to get the Zebbo into position by only freezing it once - after the small hop, jump towards the door and shoot downwards to freeze it in place.

Requires:

"h_canFrozenEnemyRunway"
{
  "heatFrames": 300
}
{
  "or": [
    "canInsaneJump",
    {
      "heatFrames": 300
    }
  ]
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 6,
    "openEnd": 0
  }
}
From: 4
Right Farm Junction
To: 3
Left Farm Junction

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 210
}
From: 4
Right Farm Junction
To: 4
Right Farm Junction

Requires:

"h_heatProof"
{
  "refill": [
    "Energy",
    "Missile",
    "Super"
  ]
}
From: 4
Right Farm Junction
To: 4
Right Farm Junction

Requires:

"h_heatProof"
{
  "resetRoom": {
    "nodes": [
      2
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "PowerBomb"
  ]
}
From: 4
Right Farm Junction
To: 4
Right Farm Junction

Requires:

"canPauseAbuse"
"Grapple"
"canBeVeryPatient"
{
  "resetRoom": {
    "nodes": [
      1
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "Energy",
    "Super",
    "PowerBomb"
  ]
}
From: 4
Right Farm Junction
To: 4
Right Farm Junction

Be careful to avoid damage from the respawning Zebbos.

Requires:

"h_canHeatedCrystalFlash"

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 141,
  "name": "Lower Norfair Farming Room",
  "area": "Norfair",
  "subarea": "Lower",
  "subsubarea": "East",
  "playable": true,
  "roomAddress": "0x7B37A",
  "roomEnvironments": [
    {
      "heated": true
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "eye",
      "nodeAddress": "0x00198ca",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ],
      "locks": [
        {
          "name": "Ridley Eye Lock",
          "lockType": "coloredDoor",
          "unlockStrats": [
            {
              "name": "Base",
              "notable": false,
              "requires": [
                "h_canOpenEyeDoors",
                {
                  "heatFrames": 200
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x00198d6",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 3,
      "name": "Left Farm Junction",
      "nodeType": "junction",
      "nodeSubType": "junction"
    },
    {
      "id": 4,
      "name": "Right Farm Junction",
      "nodeType": "junction",
      "nodeSubType": "junction"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Lower Norfair Farming Left Zebbos",
      "enemyName": "Zebbo",
      "quantity": 2,
      "homeNodes": [
        3
      ],
      "farmCycles": [
        {
          "name": "Turnaround two tiles above spawn",
          "cycleFrames": 240,
          "requires": [
            "h_canNavigateHeatRooms",
            "h_heatResistant",
            {
              "heatFrames": 240
            }
          ],
          "note": "Involves tiny hops to get the drops as well"
        },
        {
          "name": "Grapple turnaround two tiles above spawn",
          "cycleFrames": 175,
          "requires": [
            "h_canNavigateHeatRooms",
            "canUseGrapple",
            {
              "or": [
                "canTrickyJump",
                "h_heatResistant"
              ]
            },
            {
              "heatFrames": 175
            }
          ],
          "devNote": "Gaining health with only Grapple is tricky."
        }
      ]
    },
    {
      "id": "e2",
      "groupName": "Lower Norfair Farming Middle Zebbos",
      "enemyName": "Zebbo",
      "quantity": 2,
      "betweenNodes": [
        3,
        4
      ],
      "farmCycles": [
        {
          "name": "Turnaround two tiles above spawn",
          "cycleFrames": 240,
          "requires": [
            "h_canNavigateHeatRooms",
            "h_heatResistant",
            {
              "heatFrames": 240
            }
          ],
          "note": "Involves tiny hops to get the drops as well"
        },
        {
          "name": "Grapple turnaround two tiles above spawn",
          "cycleFrames": 175,
          "requires": [
            "h_canNavigateHeatRooms",
            "canUseGrapple",
            {
              "or": [
                "canTrickyJump",
                "h_heatResistant"
              ]
            },
            {
              "heatFrames": 175
            }
          ],
          "devNote": "Gaining health with only Grapple is tricky."
        }
      ]
    },
    {
      "id": "e3",
      "groupName": "Lower Norfair Farming Right Zebbos",
      "enemyName": "Zebbo",
      "quantity": 2,
      "homeNodes": [
        4
      ],
      "farmCycles": [
        {
          "name": "Turnaround two tiles above spawn",
          "cycleFrames": 240,
          "requires": [
            "h_canNavigateHeatRooms",
            "h_heatResistant",
            {
              "heatFrames": 240
            }
          ],
          "note": "Involves tiny hops to get the drops as well"
        },
        {
          "name": "Grapple turnaround two tiles above spawn",
          "cycleFrames": 175,
          "requires": [
            "h_canNavigateHeatRooms",
            "canUseGrapple",
            {
              "or": [
                "canTrickyJump",
                "h_heatResistant"
              ]
            },
            {
              "heatFrames": 175
            }
          ],
          "devNote": "Gaining health with only Grapple is tricky."
        }
      ]
    },
    {
      "id": "e4",
      "groupName": "Lower Norfair Farming Room Left Violas",
      "enemyName": "Viola",
      "quantity": 3,
      "homeNodes": [
        3
      ],
      "dropRequires": [
        "h_canNavigateHeatRooms",
        {
          "or": [
            "canUseGrapple",
            "canCarefulJump"
          ]
        }
      ]
    },
    {
      "id": "e5",
      "groupName": "Lower Norfair Farming Room Right Violas",
      "enemyName": "Viola",
      "quantity": 2,
      "homeNodes": [
        4
      ],
      "dropRequires": [
        "h_canNavigateHeatRooms",
        {
          "or": [
            "canUseGrapple",
            "canCarefulJump"
          ]
        }
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 1
        },
        {
          "id": 3,
          "devNote": "FIXME: Add heat-resistant strats later if there is a use case for them."
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4,
          "devNote": "FIXME: Add heat-resistant strats later if there is a use case for them."
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 1,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Space Jump",
      "requires": [
        "h_canNavigateHeatRooms",
        "SpaceJump",
        {
          "heatFrames": 380
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Space Jump (Come in Jumping)",
      "entranceCondition": {
        "comeInJumping": {
          "minTiles": 5,
          "speedBooster": "any"
        }
      },
      "requires": [
        "h_canNavigateHeatRooms",
        "SpaceJump",
        "canPrepareForNextRoom",
        {
          "heatFrames": 260
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 15
        }
      },
      "requires": [
        "h_canNavigateHeatRooms",
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 57,
            "excessFrames": 4
          }
        },
        {
          "heatFrames": 230
        }
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 135
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Space Jump",
      "requires": [
        "h_canNavigateHeatRooms",
        "SpaceJump",
        {
          "heatFrames": 320
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Space Jump (Come in Running)",
      "entranceCondition": {
        "comeInRunning": {
          "minTiles": 3,
          "speedBooster": "any"
        }
      },
      "requires": [
        "h_canNavigateHeatRooms",
        "SpaceJump",
        {
          "heatFrames": 260
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 15
        }
      },
      "requires": [
        "h_canNavigateHeatRooms",
        "canMidairShinespark",
        {
          "shinespark": {
            "frames": 59,
            "excessFrames": 5
          }
        },
        {
          "heatFrames": 190
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              5,
              3
            ],
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": [
        {
          "heatFrames": 45
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport Door Lock",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 4,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ],
      "note": [
        "Be careful to avoid damage from the respawning Zebbos.",
        "They will not spawn if you are close enough to the door."
      ]
    },
    {
      "link": [
        2,
        3
      ],
      "name": "Tricky Jumps",
      "requires": [
        "h_canNavigateHeatRooms",
        "canTrickyJump",
        {
          "heatFrames": 215
        }
      ],
      "note": "Use the wider platforms to build run speed for jumping farther, faster."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 45
        }
      ]
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 145
        }
      ]
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Leave With Runway - Frozen Zebbo",
      "requires": [
        "h_canFrozenEnemyRunway",
        {
          "heatFrames": 1000
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 6,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "The Zebbo needs to be 2 pixels higher than where it would be if Samus was standing.",
        "One setup is to peform a tiny hop just before the right Zebbo starts moving to the left then freeze it after it starts moving left.",
        "Lure the Zebbo to the left and freeze it again to extend the runway while maintaining a half-tile gap between it and the runway to extend the runway as much as possible.",
        "With more Energy, it is possible to morph on one of the medium-height pillars to align the Zebbo."
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Heat-proof Zebbo Farm",
      "requires": [
        "h_heatProof",
        {
          "refill": [
            "Energy",
            "Missile",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Heat-proof Viola Farm",
      "requires": [
        "h_heatProof",
        {
          "resetRoom": {
            "nodes": [
              1
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "PowerBomb"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Very Patient Zebbo and Viola Farm",
      "requires": [
        "canPauseAbuse",
        "Grapple",
        "canBeVeryPatient",
        {
          "resetRoom": {
            "nodes": [
              1
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "Energy",
            "Super",
            "PowerBomb"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ],
      "note": "Be careful to avoid damage from the respawning Zebbos."
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "or": [
            "canTrickyJump",
            {
              "heatFrames": 30
            }
          ]
        },
        {
          "heatFrames": 180
        }
      ]
    },
    {
      "link": [
        4,
        2
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 60
        }
      ]
    },
    {
      "link": [
        4,
        2
      ],
      "name": "Leave With Runway - Frozen Zebbo",
      "requires": [
        "h_canFrozenEnemyRunway",
        {
          "heatFrames": 300
        },
        {
          "or": [
            "canInsaneJump",
            {
              "heatFrames": 300
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 6,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ],
      "note": [
        "The Zebbo needs to be 2 pixels higher than where it would be if Samus was standing.",
        "One setup is to peform a tiny hop just before the left Zebbo starts moving to the right then freeze it after it starts moving right.",
        "Get onto the runway and freeze the Zebbo again while maintaining a half-tile gap between it and the runway to extend it as much as possible.",
        "With more Energy, it is possible to morph on one of the medium-height pillars to align the Zebbo.",
        "With less Energy, it is possible to get the Zebbo into position by only freezing it once -",
        "after the small hop, jump towards the door and shoot downwards to freeze it in place."
      ]
    },
    {
      "link": [
        4,
        3
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 210
        }
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Heat-proof Zebbo Farm",
      "requires": [
        "h_heatProof",
        {
          "refill": [
            "Energy",
            "Missile",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Heat-proof Viola Farm",
      "requires": [
        "h_heatProof",
        {
          "resetRoom": {
            "nodes": [
              2
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "PowerBomb"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Very Patient Zebbo and Viola Farm",
      "requires": [
        "canPauseAbuse",
        "Grapple",
        "canBeVeryPatient",
        {
          "resetRoom": {
            "nodes": [
              1
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "Energy",
            "Super",
            "PowerBomb"
          ]
        }
      ]
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ],
      "note": "Be careful to avoid damage from the respawning Zebbos."
    }
  ]
}