Boyon Gate Hall

Room ID: 200

Wiki
Difficulty filter

From: 1
Bottom Left Door
To: 1
Bottom Left Door

Exit condition:

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

Requires:

{
  "doorUnlockedAtNode": 2
}

Exit condition:

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

Requires:

"h_canCrystalFlash"
From: 1
Bottom Left Door
To: 2
Bottom Right Door

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

Entrance condition:

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

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 155
  }
}
From: 1
Bottom Left Door
To: 2
Bottom Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 10
  }
}

Requires:

{
  "shinespark": {
    "frames": 21
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 1
Bottom Left Door
To: 2
Bottom Right Door

Entrance condition:

{
  "comeInWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 1
Bottom Left Door
To: 2
Bottom Right Door

Entrance condition:

{
  "comeInWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 1
Bottom Left Door
To: 3
Top Right Door

The gate will not spawn in indirect g-mode and is freely passable.

Entrance condition:

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

Requires:

"h_canArtificialMorphIBJ"
"canOffScreenMovement"
From: 1
Bottom Left Door
To: 3
Top Right Door

The gate will not spawn in indirect g-mode and is freely passable.

Entrance condition:

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

Requires:

{
  "or": [
    "canWalljump",
    "h_canFly",
    {
      "and": [
        "HiJump",
        "canSpringBallJumpMidAir"
      ]
    }
  ]
}
"canOffScreenMovement"
From: 1
Bottom Left Door
To: 4
Farm Junction Left of Gate

Requires:

{
  "or": [
    "canWalljump",
    "h_canFly",
    {
      "and": [
        "HiJump",
        "canSpringBallJumpMidAir"
      ]
    }
  ]
}
From: 1
Bottom Left Door
To: 4
Farm Junction Left of Gate

It is possible to do in-room by opening the right door and starting close to the door transition.

Requires:

"HiJump"
"canTrickyDashJump"
From: 1
Bottom Left Door
To: 4
Farm Junction Left of Gate

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 24,
    "excessFrames": 6
  }
}
From: 1
Bottom Left Door
To: 4
Farm Junction Left of Gate

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 35
  }
}

Requires:

{
  "shinespark": {
    "frames": 24,
    "excessFrames": 6
  }
}
From: 1
Bottom Left Door
To: 4
Farm Junction Left of Gate

Entrance condition:

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

Requires:

"h_canArtificialMorphIBJ"
"canOffScreenMovement"
From: 1
Bottom Left Door
To: 4
Farm Junction Left of Gate

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ],
      [
        12,
        13
      ]
    ]
  }
}
From: 2
Bottom Right Door
To: 1
Bottom Left Door

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

Entrance condition:

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

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 155
  }
}
From: 2
Bottom Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 10
  }
}

Requires:

{
  "shinespark": {
    "frames": 21
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}
From: 2
Bottom Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 1
  }
}
From: 2
Bottom Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}

Exit condition:

{
  "leaveWithStoredFallSpeed": {
    "fallSpeedInTiles": 2
  }
}
From: 2
Bottom Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ],
      [
        2,
        19
      ],
      [
        2,
        28
      ],
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Bypasses door shell: true

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

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Bottom Right Door
To: 2
Bottom Right Door

Exit condition:

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

Requires:

{
  "doorUnlockedAtNode": 1
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 14,
    "openEnd": 0
  }
}
From: 2
Bottom Right Door
To: 3
Top Right Door

The gate will not spawn in indirect g-mode and is freely passable.

Entrance condition:

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

Requires:

"h_canArtificialMorphIBJ"
"canOffScreenMovement"
From: 2
Bottom Right Door
To: 3
Top Right Door

The gate will not spawn in indirect g-mode and is freely passable.

Entrance condition:

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

Requires:

{
  "or": [
    "canWalljump",
    "h_canFly",
    {
      "and": [
        "HiJump",
        "canSpringBallJumpMidAir"
      ]
    }
  ]
}
"canOffScreenMovement"
From: 2
Bottom Right Door
To: 4
Farm Junction Left of Gate

Entrance condition:

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

Requires:

{
  "shinespark": {
    "frames": 24,
    "excessFrames": 6
  }
}
From: 2
Bottom Right Door
To: 4
Farm Junction Left of Gate

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 45
  }
}

Requires:

{
  "shinespark": {
    "frames": 24,
    "excessFrames": 6
  }
}
From: 2
Bottom Right Door
To: 4
Farm Junction Left of Gate

Entrance condition:

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

Requires:

"h_canArtificialMorphIBJ"
"canOffScreenMovement"
From: 2
Bottom Right Door
To: 4
Farm Junction Left of Gate

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        7,
        2
      ]
    ]
  }
}
From: 2
Bottom Right Door
To: 4
Farm Junction Left of Gate

After teleporting, retract Grapple by pressing up. Then if necessary, wiggle right out of the wall by turning around a few times.

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ],
      [
        3,
        13
      ]
    ]
  }
}
From: 3
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ],
      [
        2,
        19
      ],
      [
        2,
        28
      ],
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

From: 3
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Bypasses door shell: true

From: 3
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Bypasses door shell: true

From: 3
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Bypasses door shell: true

From: 3
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

From: 3
Top Right Door
To: 3
Top Right Door

Exit condition:

{
  "leaveWithRunway": {
    "length": 8,
    "openEnd": 0
  }
}
From: 3
Top Right Door
To: 3
Top Right Door

Use the full runway by dealing with the Boyon: kill it, freeze it, or use i-frames.

Requires:

{
  "or": [
    "Ice",
    {
      "enemyKill": {
        "enemies": [
          [
            "Boyon"
          ]
        ]
      }
    },
    {
      "and": [
        "canNeutralDamageBoost",
        {
          "enemyDamage": {
            "enemy": "Boyon",
            "hits": 1,
            "type": "contact"
          }
        }
      ]
    }
  ]
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 8,
    "openEnd": 1
  }
}
From: 3
Top Right Door
To: 3
Top Right Door

Requires:

{
  "refill": [
    "Energy",
    "Missile",
    "Super"
  ]
}
From: 3
Top Right Door
To: 3
Top Right Door

It is easier to use the middle Zebbo farm than the right one.

Exit condition:

{
  "leaveWithGModeSetup": {}
}
From: 3
Top Right Door
To: 4
Farm Junction Left of Gate

Requires:

{
  "ammo": {
    "type": "Super",
    "count": 1
  }
}
From: 3
Top Right Door
To: 4
Farm Junction Left of Gate

The gate will not spawn in indirect g-mode and is freely passable.

Entrance condition:

{
  "comeInWithGMode": {
    "mode": "indirect",
    "morphed": false
  }
}
From: 3
Top Right Door
To: 4
Farm Junction Left of Gate

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        7,
        2
      ]
    ]
  }
}
From: 3
Top Right Door
To: 4
Farm Junction Left of Gate

After teleporting, retract Grapple by pressing up. Then if necessary, wiggle right out of the wall by turning around a few times.

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        3,
        12
      ],
      [
        3,
        13
      ]
    ]
  }
}
From: 4
Farm Junction Left of Gate
To: 1
Bottom Left Door

From: 4
Farm Junction Left of Gate
To: 4
Farm Junction Left of Gate

Requires:

{
  "refill": [
    "Energy",
    "Missile",
    "Super"
  ]
}

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 200,
  "name": "Boyon Gate Hall",
  "area": "Maridia",
  "subarea": "Outer",
  "playable": true,
  "roomAddress": "0x7CF80",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Bottom Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a378",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Bottom Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a384",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 3,
      "name": "Top Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a390",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 4,
      "name": "Farm Junction Left of Gate",
      "nodeType": "junction",
      "nodeSubType": "junction"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Boyon Gate Hall Left Boyon",
      "enemyName": "Boyon",
      "quantity": 1,
      "homeNodes": [
        4
      ]
    },
    {
      "id": "e2",
      "groupName": "Boyon Gate Hall Right Boyons",
      "enemyName": "Boyon",
      "quantity": 6,
      "homeNodes": [
        3
      ]
    },
    {
      "id": "e3",
      "groupName": "Boyon Gate Hall Left Zebbo",
      "enemyName": "Zebbo",
      "quantity": 1,
      "homeNodes": [
        4
      ],
      "farmCycles": [
        {
          "name": "Jump two tiles above spawn point",
          "cycleFrames": 130,
          "requires": []
        }
      ]
    },
    {
      "id": "e4",
      "groupName": "Boyon Gate Hall Middle Zebbo",
      "enemyName": "Zebbo",
      "quantity": 1,
      "homeNodes": [
        3
      ],
      "farmCycles": [
        {
          "name": "Jump two tiles above spawn point",
          "cycleFrames": 130,
          "requires": []
        }
      ]
    },
    {
      "id": "e5",
      "groupName": "Boyon Gate Hall Right Zebbo",
      "enemyName": "Zebbo",
      "quantity": 1,
      "homeNodes": [
        3
      ],
      "farmCycles": [
        {
          "name": "Jump two tiles above spawn point",
          "cycleFrames": 130,
          "requires": []
        }
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4,
          "devNote": "FIXME Add shinespark options."
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 1
        },
        {
          "id": 3
        },
        {
          "id": 4
        }
      ]
    },
    {
      "from": 4,
      "to": [
        {
          "id": 1
        },
        {
          "id": 4
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway (Both Doors Open)",
      "requires": [
        {
          "doorUnlockedAtNode": 2
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 14,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "nodeId": 2,
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharging, Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 155
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharged, Leave Sparking",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 10
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 21
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Indirect G-Mode Morph Despawn Gate",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphIBJ",
        "canOffScreenMovement"
      ],
      "note": "The gate will not spawn in indirect g-mode and is freely passable."
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Indirect G-Mode Despawn Gate",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": false
        }
      },
      "requires": [
        {
          "or": [
            "canWalljump",
            "h_canFly",
            {
              "and": [
                "HiJump",
                "canSpringBallJumpMidAir"
              ]
            }
          ]
        },
        "canOffScreenMovement"
      ],
      "note": "The gate will not spawn in indirect g-mode and is freely passable."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Base",
      "requires": [
        {
          "or": [
            "canWalljump",
            "h_canFly",
            {
              "and": [
                "HiJump",
                "canSpringBallJumpMidAir"
              ]
            }
          ]
        }
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Tricky Dash",
      "requires": [
        "HiJump",
        "canTrickyDashJump"
      ],
      "note": "It is possible to do in-room by opening the right door and starting close to the door transition."
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Shinespark",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 24,
            "excessFrames": 6
          }
        }
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Shinespark, Come In Shinecharged",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 35
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 24,
            "excessFrames": 6
          }
        }
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphIBJ",
        "canOffScreenMovement"
      ]
    },
    {
      "link": [
        1,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come In Shinecharging, Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 155
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Come In Shinecharged, Leave Sparking",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 10
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 21
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 1
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Transition with Stored Fall Speed (more speed)",
      "entranceCondition": {
        "comeInWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "requires": [],
      "exitCondition": {
        "leaveWithStoredFallSpeed": {
          "fallSpeedInTiles": 2
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "missiles",
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ],
            [
              2,
              19
            ],
            [
              2,
              28
            ],
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Upper Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Lower Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 13,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway (Both Doors Open)",
      "requires": [
        {
          "doorUnlockedAtNode": 1
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 14,
          "openEnd": 0
        }
      },
      "unlocksDoors": [
        {
          "nodeId": 1,
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        2,
        3
      ],
      "name": "Indirect G-Mode Morph Despawn Gate",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphIBJ",
        "canOffScreenMovement"
      ],
      "note": "The gate will not spawn in indirect g-mode and is freely passable."
    },
    {
      "link": [
        2,
        3
      ],
      "name": "Indirect G-Mode Despawn Gate",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": false
        }
      },
      "requires": [
        {
          "or": [
            "canWalljump",
            "h_canFly",
            {
              "and": [
                "HiJump",
                "canSpringBallJumpMidAir"
              ]
            }
          ]
        },
        "canOffScreenMovement"
      ],
      "note": "The gate will not spawn in indirect g-mode and is freely passable."
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Shinespark",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 13,
          "openEnd": 0
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 24,
            "excessFrames": 6
          }
        }
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Shinespark, Come In Shinecharged",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 45
        }
      },
      "requires": [
        {
          "shinespark": {
            "frames": 24,
            "excessFrames": 6
          }
        }
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "G-Mode Morph",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphIBJ",
        "canOffScreenMovement"
      ]
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        2,
        4
      ],
      "name": "Grapple Teleport Inside Wall",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "note": [
        "After teleporting, retract Grapple by pressing up.",
        "Then if necessary, wiggle right out of the wall by turning around a few times."
      ]
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ],
            [
              2,
              19
            ],
            [
              2,
              28
            ],
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Upper Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Lower Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      }
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 8,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Leave with Runway (Deal With Boyon)",
      "requires": [
        {
          "or": [
            "Ice",
            {
              "enemyKill": {
                "enemies": [
                  [
                    "Boyon"
                  ]
                ]
              }
            },
            {
              "and": [
                "canNeutralDamageBoost",
                {
                  "enemyDamage": {
                    "enemy": "Boyon",
                    "hits": 1,
                    "type": "contact"
                  }
                }
              ]
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 8,
          "openEnd": 1
        }
      },
      "note": "Use the full runway by dealing with the Boyon: kill it, freeze it, or use i-frames.",
      "devNote": [
        "Killing the Boyon with Bombs takes several contact hits, but it's assumed Samus can farm at the nearby Zebbos.",
        "FIXME: Using a frozen Boyon to extend the runway is not reliable, as it can only be frozen 2 pixels higher than the ground, preventing multi-stutter shortcharges.",
        "This could, however, be used for non-shinecharge strats."
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Zebbo Farm",
      "requires": [
        {
          "refill": [
            "Energy",
            "Missile",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "G-Mode Setup - Get Hit By Zebbo",
      "notable": false,
      "requires": [],
      "exitCondition": {
        "leaveWithGModeSetup": {}
      },
      "note": [
        "It is easier to use the middle Zebbo farm than the right one."
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Base",
      "requires": [
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        }
      ]
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Indirect G-Mode Despawn Gate",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "indirect",
          "morphed": false
        }
      },
      "requires": [],
      "note": "The gate will not spawn in indirect g-mode and is freely passable."
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": []
    },
    {
      "link": [
        3,
        4
      ],
      "name": "Grapple Teleport Inside Wall",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "note": [
        "After teleporting, retract Grapple by pressing up.",
        "Then if necessary, wiggle right out of the wall by turning around a few times."
      ]
    },
    {
      "link": [
        4,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        4,
        4
      ],
      "name": "Zebbo Farm",
      "requires": [
        {
          "refill": [
            "Energy",
            "Missile",
            "Super"
          ]
        }
      ]
    }
  ]
}