Room ID: 129
Exit condition: { "leaveWithRunway": { "length": 10, "openEnd": 1 } } |
Requires: "h_canCrystalFlash" |
|
From: 1
Left Door
To: 2
Right Door
Entrance condition: { "comeInShinecharging": { "length": 9, "openEnd": 0 } } Requires: "canShinechargeMovementComplex" { "or": [ { "shinespark": { "frames": 15, "excessFrames": 0 } }, { "and": [ "canShinechargeMovementTricky", { "shinespark": { "frames": 7, "excessFrames": 0 } } ] } ] } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
From: 1
Left Door
To: 2
Right Door
Run into the room, using part of the runway to gain a shinecharge. Use the remaining runway to gain speed to jump across the room and leave with a shinecharge. Entrance condition: { "comeInShinecharging": { "length": 5, "openEnd": 1 } } Requires: "canShinechargeMovementComplex" { "shineChargeFrames": 135 } Exit condition: { "leaveShinecharged": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 130 } "canShinechargeMovementComplex" Exit condition: { "leaveShinecharged": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
From: 1
Left Door
To: 2
Right Door
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 60 } "canShinechargeMovementComplex" { "shinespark": { "frames": 25, "excessFrames": 0 } } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 40 } "canShinechargeMovementTricky" "canHeroShot" { "shinespark": { "frames": 35, "excessFrames": 0 } } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
|
From: 2
Right Door
To: 1
Left Door
Entrance condition: { "comeInShinecharging": { "length": 8, "openEnd": 0 } } Requires: "canShinechargeMovementComplex" { "or": [ { "shinespark": { "frames": 16, "excessFrames": 0 } }, { "and": [ "canShinechargeMovementTricky", { "shinespark": { "frames": 8, "excessFrames": 0 } } ] } ] } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
From: 2
Right Door
To: 1
Left Door
Run into the room, using part of the runway to gain a shinecharge. Use the remaining runway to gain speed to jump across the room and leave with a shinecharge. Entrance condition: { "comeInShinecharging": { "length": 4, "openEnd": 1 } } Requires: "canShinechargeMovementComplex" { "shineChargeFrames": 135 } Exit condition: { "leaveShinecharged": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 130 } "canShinechargeMovementComplex" Exit condition: { "leaveShinecharged": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
From: 2
Right Door
To: 1
Left Door
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 60 } "canShinechargeMovementComplex" { "shinespark": { "frames": 26, "excessFrames": 0 } } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 40 } "canShinechargeMovementTricky" "canHeroShot" { "shinespark": { "frames": 35, "excessFrames": 0 } } Exit condition: { "leaveWithSpark": {} } Unlocks doors: {"types":["super"],"requires":[]} {"types":["missiles","powerbomb"],"requires":["never"]} |
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 |
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", "roomAddress": "0x7AC00", "roomEnvironments": [ { "heated": false } ], "mapTileMask": [ [ 1, 1 ] ], "nodes": [ { "id": 1, "name": "Left Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x00194fe", "doorOrientation": "left", "doorEnvironments": [ { "physics": "air" } ], "mapTileMask": [ [ 2, 1 ] ] }, { "id": 2, "name": "Right Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x001950a", "doorOrientation": "right", "doorEnvironments": [ { "physics": "air" } ], "mapTileMask": [ [ 1, 2 ] ] } ], "enemies": [], "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": 10, "openEnd": 1 } } }, { "id": 2, "link": [ 1, 1 ], "name": "Crystal Flash", "requires": [ "h_canCrystalFlash" ], "flashSuitChecked": true }, { "id": 3, "link": [ 1, 2 ], "name": "Base", "requires": [] }, { "id": 4, "link": [ 1, 2 ], "name": "Come In Shinecharging, Leave With Spark", "entranceCondition": { "comeInShinecharging": { "length": 9, "openEnd": 0 } }, "requires": [ "canShinechargeMovementComplex", { "or": [ { "shinespark": { "frames": 15, "excessFrames": 0 } }, { "and": [ "canShinechargeMovementTricky", { "shinespark": { "frames": 7, "excessFrames": 0 } } ] } ] } ], "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." ] }, { "id": 11, "link": [ 1, 2 ], "name": "Come In Shinecharging, Leave Shinecharged", "entranceCondition": { "comeInShinecharging": { "length": 5, "openEnd": 1 } }, "requires": [ "canShinechargeMovementComplex", { "shineChargeFrames": 135 } ], "exitCondition": { "leaveShinecharged": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ], "note": [ "Run into the room, using part of the runway to gain a shinecharge.", "Use the remaining runway to gain speed to jump across the room and leave with a shinecharge." ] }, { "id": 12, "link": [ 1, 2 ], "name": "Carry Shinecharge", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 130 }, "canShinechargeMovementComplex" ], "exitCondition": { "leaveShinecharged": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ] }, { "id": 13, "link": [ 1, 2 ], "name": "Come In Shinecharged, Leave With Spark", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 60 }, "canShinechargeMovementComplex", { "shinespark": { "frames": 25, "excessFrames": 0 } } ], "exitCondition": { "leaveWithSpark": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ] }, { "id": 14, "link": [ 1, 2 ], "name": "Hero Shot Spark", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 40 }, "canShinechargeMovementTricky", "canHeroShot", { "shinespark": { "frames": 35, "excessFrames": 0 } } ], "exitCondition": { "leaveWithSpark": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ] }, { "id": 5, "link": [ 2, 1 ], "name": "Base", "requires": [] }, { "id": 15, "link": [ 2, 1 ], "name": "Come In Shinecharging, Leave With Spark", "entranceCondition": { "comeInShinecharging": { "length": 8, "openEnd": 0 } }, "requires": [ "canShinechargeMovementComplex", { "or": [ { "shinespark": { "frames": 16, "excessFrames": 0 } }, { "and": [ "canShinechargeMovementTricky", { "shinespark": { "frames": 8, "excessFrames": 0 } } ] } ] } ], "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." ] }, { "id": 16, "link": [ 2, 1 ], "name": "Come In Shinecharging, Leave Shinecharged", "entranceCondition": { "comeInShinecharging": { "length": 4, "openEnd": 1 } }, "requires": [ "canShinechargeMovementComplex", { "shineChargeFrames": 135 } ], "exitCondition": { "leaveShinecharged": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ], "note": [ "Run into the room, using part of the runway to gain a shinecharge.", "Use the remaining runway to gain speed to jump across the room and leave with a shinecharge." ] }, { "id": 17, "link": [ 2, 1 ], "name": "Carry Shinecharge", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 130 }, "canShinechargeMovementComplex" ], "exitCondition": { "leaveShinecharged": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ] }, { "id": 18, "link": [ 2, 1 ], "name": "Come In Shinecharged, Leave With Spark", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 60 }, "canShinechargeMovementComplex", { "shinespark": { "frames": 26, "excessFrames": 0 } } ], "exitCondition": { "leaveWithSpark": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ] }, { "id": 19, "link": [ 2, 1 ], "name": "Hero Shot Spark", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 40 }, "canShinechargeMovementTricky", "canHeroShot", { "shinespark": { "frames": 35, "excessFrames": 0 } } ], "exitCondition": { "leaveWithSpark": {} }, "unlocksDoors": [ { "types": [ "super" ], "requires": [] }, { "types": [ "missiles", "powerbomb" ], "requires": [ "never" ] } ] }, { "id": 7, "link": [ 2, 1 ], "name": "Grapple Teleport", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ], [ 3, 13 ] ] } }, "requires": [], "bypassesDoorShell": true }, { "id": 8, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Top Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } }, "requires": [], "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } }, "bypassesDoorShell": true }, { "id": 9, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Bottom Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } }, "requires": [], "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } }, "bypassesDoorShell": true }, { "id": 10, "link": [ 2, 2 ], "name": "Leave with Runway", "requires": [], "exitCondition": { "leaveWithRunway": { "length": 9, "openEnd": 1 } } }, { "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": [] } ], "notables": [], "nextStratId": 20, "nextNotableId": 1 }