Grapple Tutorial Room 1

Room ID: 129

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Exit condition:

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

Requires:

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

From: 1
Left Door
To: 2
Right Door

Build some run speed to jump to the opposite runway to open the door before Shinesparking.

Entrance condition:

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

Requires:

"canShinechargeMovement"
{
  "shinespark": {
    "frames": 11
  }
}

Exit condition:

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

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"canShinechargeMovement"

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 40
  }
}
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": 9,
    "openEnd": 1
  }
}

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 129,
  "name": "Grapple Tutorial Room 1",
  "area": "Norfair",
  "subarea": "Upper",
  "subsubarea": "Crocomire",
  "playable": true,
  "roomAddress": "0x7AC00",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x00194fe",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001950a",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    }
  ],
  "enemies": [],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 10,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Leave Sparking",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 9,
          "openEnd": 0
        }
      },
      "requires": [
        "canShinechargeMovement",
        {
          "shinespark": {
            "frames": 11
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "note": "Build some run speed to jump to the opposite runway to open the door before Shinesparking."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 7,
          "openEnd": 0
        }
      },
      "requires": [
        "canShinechargeMovement"
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 40
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "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": 9,
          "openEnd": 1
        }
      }
    }
  ]
}