Grapple Tutorial Room 2

Room ID: 130

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Exit condition:

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

Requires:

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

Requires:

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

Requires:

"Grapple"
{
  "or": [
    "HiJump",
    "canWalljump"
  ]
}
From: 1
Left Door
To: 2
Right Door

Requires:

"HiJump"
{
  "or": [
    "canPreciseWalljump",
    "SpeedBooster"
  ]
}
From: 1
Left Door
To: 2
Right Door

Requires:

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

Entrance condition:

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

Requires:

"canShinechargeMovementComplex"
{
  "or": [
    {
      "shinespark": {
        "frames": 19,
        "excessFrames": 5
      }
    },
    {
      "and": [
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 11,
            "excessFrames": 5
          }
        }
      ]
    }
  ]
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 100
  }
}

Requires:

"canShinechargeMovementComplex"
{
  "shinespark": {
    "frames": 24,
    "excessFrames": 3
  }
}

Entrance condition:

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

Requires:

"HiJump"
"canShinechargeMovementTricky"
"canFastWalljumpClimb"
{
  "shinespark": {
    "frames": 19,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

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

Entrance condition:

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

Requires:

"canShinechargeMovementTricky"
"canFastWalljumpClimb"
"canInsaneJump"
{
  "shinespark": {
    "frames": 20,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {
    "position": "bottom"
  }
}

Unlocks doors:

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

Entrance condition:

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

Requires:

"HiJump"
"canShinechargeMovementTricky"
"canTrickyDashJump"
{
  "shineChargeFrames": 175
}
{
  "shinespark": {
    "frames": 6,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 1
Left Door
To: 2
Right Door

Requires:

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

Requires:

{
  "useFlashSuit": {}
}
{
  "or": [
    {
      "shinespark": {
        "frames": 11,
        "excessFrames": 5
      }
    },
    {
      "and": [
        "HiJump",
        {
          "shinespark": {
            "frames": 7,
            "excessFrames": 4
          }
        }
      ]
    }
  ]
}
From: 1
Left Door
To: 2
Right Door

Entrance condition:

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

Requires:

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

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"canShinechargeMovementTricky"
{
  "or": [
    "Wave",
    "Grapple",
    {
      "shineChargeFrames": 5
    }
  ]
}

Exit condition:

{
  "leaveShinecharged": {
    "framesRemaining": 15
  }
}

Unlocks doors:

{"types":["ammo"],"requires":["never"]}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Requires:

"canShinechargeMovementTricky"
{
  "shinespark": {
    "frames": 5,
    "excessFrames": 0
  }
}

Exit condition:

{
  "leaveWithSpark": {}
}

Unlocks doors:

{"types":["super"],"requires":[]}
{"types":["missiles","powerbomb"],"requires":["never"]}
From: 2
Right Door
To: 2
Right Door

Exit condition:

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

Requires:

"h_canCrystalFlash"

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 130,
  "name": "Grapple Tutorial Room 2",
  "area": "Norfair",
  "subarea": "Upper",
  "subsubarea": "Crocomire",
  "playable": true,
  "roomAddress": "0x7ABD2",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x00194e6",
      "doorOrientation": "left",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x00194f2",
      "doorOrientation": "right",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Grapple Tutorial Room 2 Funes",
      "enemyName": "Fune",
      "quantity": 3,
      "homeNodes": [
        1
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    }
  ],
  "strats": [
    {
      "id": 1,
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 4,
          "openEnd": 1
        }
      }
    },
    {
      "id": 2,
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 3,
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": [
        "h_canFly"
      ]
    },
    {
      "id": 4,
      "link": [
        1,
        2
      ],
      "name": "Grapple",
      "requires": [
        "Grapple",
        {
          "or": [
            "HiJump",
            "canWalljump"
          ]
        }
      ]
    },
    {
      "id": 5,
      "link": [
        1,
        2
      ],
      "name": "HiJump",
      "requires": [
        "HiJump",
        {
          "or": [
            "canPreciseWalljump",
            "SpeedBooster"
          ]
        }
      ]
    },
    {
      "id": 6,
      "link": [
        1,
        2
      ],
      "name": "SpringBall Jump",
      "requires": [
        "canSpringBallJumpMidAir"
      ]
    },
    {
      "id": 14,
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharging, Shinespark",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 3,
          "openEnd": 0
        }
      },
      "requires": [
        "canShinechargeMovementComplex",
        {
          "or": [
            {
              "shinespark": {
                "frames": 19,
                "excessFrames": 5
              }
            },
            {
              "and": [
                "canShinechargeMovementTricky",
                {
                  "shinespark": {
                    "frames": 11,
                    "excessFrames": 5
                  }
                }
              ]
            }
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 7,
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharged, Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 100
        }
      },
      "requires": [
        "canShinechargeMovementComplex",
        {
          "shinespark": {
            "frames": 24,
            "excessFrames": 3
          }
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 15,
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharging, Leave With Spark (HiJump Wall Climb)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 3,
          "openEnd": 0
        }
      },
      "requires": [
        "HiJump",
        "canShinechargeMovementTricky",
        "canFastWalljumpClimb",
        {
          "shinespark": {
            "frames": 19,
            "excessFrames": 0
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "id": 16,
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharging, Leave With Spark (Bootless Wall Climb, Bottom Position)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 3,
          "openEnd": 0
        }
      },
      "requires": [
        "canShinechargeMovementTricky",
        "canFastWalljumpClimb",
        "canInsaneJump",
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 0
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {
          "position": "bottom"
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "id": 17,
      "link": [
        1,
        2
      ],
      "name": "Come In Shinecharging, Leave With Spark (HiJump Tricky Dash Jump)",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 3,
          "openEnd": 0
        }
      },
      "requires": [
        "HiJump",
        "canShinechargeMovementTricky",
        "canTrickyDashJump",
        {
          "shineChargeFrames": 175
        },
        {
          "shinespark": {
            "frames": 6,
            "excessFrames": 0
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "id": 8,
      "link": [
        1,
        2
      ],
      "name": "Bomb Boost",
      "requires": [
        "canWallJumpBombBoost"
      ]
    },
    {
      "id": 13,
      "link": [
        1,
        2
      ],
      "name": "Use Flash Suit",
      "requires": [
        {
          "useFlashSuit": {}
        },
        {
          "or": [
            {
              "shinespark": {
                "frames": 11,
                "excessFrames": 5
              }
            },
            {
              "and": [
                "HiJump",
                {
                  "shinespark": {
                    "frames": 7,
                    "excessFrames": 4
                  }
                }
              ]
            }
          ]
        }
      ],
      "flashSuitChecked": true
    },
    {
      "id": 9,
      "link": [
        1,
        2
      ],
      "name": "G-Mode Morph IBJ",
      "entranceCondition": {
        "comeInWithGMode": {
          "mode": "any",
          "morphed": true
        }
      },
      "requires": [
        "h_canArtificialMorphIBJ"
      ],
      "flashSuitChecked": true
    },
    {
      "id": 10,
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "id": 18,
      "link": [
        2,
        1
      ],
      "name": "Come In Shinecharging, Leave Shinecharged",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 0,
          "openEnd": 1
        }
      },
      "requires": [
        "canShinechargeMovementTricky",
        {
          "or": [
            "Wave",
            "Grapple",
            {
              "shineChargeFrames": 5
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveShinecharged": {
          "framesRemaining": 15
        }
      },
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": [
            "never"
          ]
        }
      ],
      "devNote": [
        "FIXME: A Super door could still be unlocked as part of this strat, but Wave/Grapple would no longer help;",
        "there doesn't seem to be a way to model that interaction without making a separate strat."
      ]
    },
    {
      "id": 19,
      "link": [
        2,
        1
      ],
      "name": "Come In Shinecharging, Leave With Spark",
      "entranceCondition": {
        "comeInShinecharging": {
          "length": 0,
          "openEnd": 1
        }
      },
      "requires": [
        "canShinechargeMovementTricky",
        {
          "shinespark": {
            "frames": 5,
            "excessFrames": 0
          }
        }
      ],
      "exitCondition": {
        "leaveWithSpark": {}
      },
      "unlocksDoors": [
        {
          "types": [
            "super"
          ],
          "requires": []
        },
        {
          "types": [
            "missiles",
            "powerbomb"
          ],
          "requires": [
            "never"
          ]
        }
      ]
    },
    {
      "id": 11,
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 1,
          "openEnd": 1
        }
      }
    },
    {
      "id": 12,
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ],
      "flashSuitChecked": true
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Unlock Door)",
      "requires": [],
      "unlocksDoors": [
        {
          "types": [
            "ammo"
          ],
          "requires": []
        }
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Base (Come In Normally)",
      "entranceCondition": {
        "comeInNormally": {}
      },
      "requires": []
    }
  ],
  "nextStratId": 20,
  "notables": [],
  "nextNotableId": 1
}