Room ID: 130
Exit condition: { "leaveWithRunway": { "length": 4, "openEnd": 1 } } |
Requires: "h_canCrystalFlash" |
Requires: "h_canFly" |
Requires: "Grapple" { "or": [ "HiJump", "canWalljump" ] } |
Requires: "HiJump" { "or": [ "canPreciseWalljump", "SpeedBooster" ] } |
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 } } |
From: 1
Left Door
To: 2
Right Door
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"]} |
Come In Shinecharging, Leave With Spark (Bootless Wall Climb, Bottom Position)
(Extreme)
Grapple Tutorial Room 2
From: 1
Left Door
To: 2
Right Door
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"]} |
From: 1
Left Door
To: 2
Right Door
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"]} |
Requires: "canWallJumpBombBoost" |
Requires: { "useFlashSuit": {} } { "or": [ { "shinespark": { "frames": 11, "excessFrames": 5 } }, { "and": [ "HiJump", { "shinespark": { "frames": 7, "excessFrames": 4 } } ] } ] } |
Entrance condition: { "comeInWithGMode": { "mode": "any", "morphed": true } } Requires: "h_canArtificialMorphIBJ" |
|
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"]} |
Exit condition: { "leaveWithRunway": { "length": 1, "openEnd": 1 } } |
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 }