Room ID: 114
Exit condition: { "leaveWithRunway": { "length": 4, "openEnd": 1 } } |
Requires: "h_heatProof" { "refill": [ "Energy", "Missile" ] } |
Requires: "h_canHeatedCrystalFlash" |
Requires: { "heatFrames": 1880 } { "or": [ "canTrickyDodgeEnemies", "h_heatProof", { "and": [ "canTrickyJump", { "heatFrames": 350 }, { "enemyDamage": { "enemy": "Magdollite", "type": "flame", "hits": 2 } } ] } ] } Exit condition: { "leaveWithGModeSetup": {} } |
Requires: { "or": [ { "heatFrames": 440 }, { "and": [ { "heatFrames": 360 }, { "or": [ "canTrickyJump", { "and": [ { "heatFrames": 30 }, "canDodgeWhileShooting", { "or": [ "Plasma", "Wave", "Spazer", "ScrewAttack", "canPseudoScrew", { "ammo": { "type": "Missile", "count": 1 } }, { "ammo": { "type": "Super", "count": 1 } } ] } ] } ] } ] } ] } |
Requires: "SpaceJump" { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] } ] } { "heatFrames": 300 } |
Entrance condition: { "comeInRunning": { "speedBooster": "any", "minTiles": 3 } } Requires: "SpaceJump" "canCarefulJump" { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] } ] } { "heatFrames": 230 } |
Entrance condition: { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1 } } Requires: "canPreciseSpaceJump" { "heatFrames": 230 } |
The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling. Entrance condition: { "comeInShinecharging": { "length": 3, "openEnd": 1 } } Requires: "canShinechargeMovementComplex" "canMidairShinespark" { "shinespark": { "frames": 57, "excessFrames": 4 } } { "heatFrames": 210 } |
The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling. Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 16 } "canShinechargeMovementComplex" "canMidairShinespark" { "shinespark": { "frames": 57, "excessFrames": 4 } } { "heatFrames": 210 } |
The Magdollite flames can be killed for drops. The left Multiviola will be in the way and should be killed too. Requires: "canFarmWhileShooting" { "heatFramesWithEnergyDrops": { "frames": 440, "drops": [ { "enemy": "Magdollite", "count": 7 }, { "enemy": "Multiviola", "count": 1 } ] } } { "heatFrames": 100 } |
From: 1
Left Door
To: 2
Right Door
Entrance condition: { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1 } } Requires: "canLongChainTemporaryBlue" { "heatFrames": 760 } Exit condition: { "leaveWithTemporaryBlue": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
Requires: { "or": [ { "heatFrames": 420 }, { "and": [ { "heatFrames": 335 }, { "or": [ "canInsaneJump", { "and": [ "canDodgeWhileShooting", { "or": [ "Plasma", "Wave", "Spazer", "ScrewAttack", "canPseudoScrew", { "ammo": { "type": "Missile", "count": 1 } }, { "ammo": { "type": "Super", "count": 1 } } ] } ] } ] } ] }, { "and": [ { "heatFrames": 360 }, "canTrickyJump" ] } ] } |
Without Screw or pseudo screw, it is possible to carefully space jump over the left Multiviola. Requires: "SpaceJump" { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] }, "canPreciseSpaceJump" ] } { "heatFrames": 310 } |
Entrance condition: { "comeInRunning": { "speedBooster": "any", "minTiles": 3 } } Requires: "SpaceJump" { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] } ] } { "heatFrames": 230 } |
Entrance condition: { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1 } } Requires: "canPreciseSpaceJump" { "heatFrames": 220 } |
The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling. Entrance condition: { "comeInShinecharging": { "length": 3, "openEnd": 1 } } Requires: "canShinechargeMovementComplex" "canMidairShinespark" { "shinespark": { "frames": 57, "excessFrames": 4 } } { "heatFrames": 210 } |
The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling. Entrance condition: { "comeInShinecharged": {} } Requires: { "shineChargeFrames": 16 } "canShinechargeMovementComplex" "canMidairShinespark" { "shinespark": { "frames": 57, "excessFrames": 4 } } { "heatFrames": 210 } |
Requires: "canFarmWhileShooting" { "heatFramesWithEnergyDrops": { "frames": 240, "drops": [ { "enemy": "Magdollite", "count": 5 } ] } } { "heatFramesWithEnergyDrops": { "frames": 200, "drops": [ { "enemy": "Magdollite", "count": 3 } ] } } { "heatFrames": 90 } |
From: 2
Right Door
To: 1
Left Door
Entrance condition: { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1, "minExtraRunSpeed": "$0.A" } } Requires: "canLongChainTemporaryBlue" { "heatFrames": 790 } Exit condition: { "leaveWithTemporaryBlue": {} } Unlocks doors: {"types":["ammo"],"requires":[]} |
Entrance condition: { "comeInWithGrappleTeleport": { "blockPositions": [ [ 7, 2 ] ] } } Requires: { "heatFrames": 50 } |
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": 4, "openEnd": 1 } } |
Requires: "h_canHeatedCrystalFlash" |
From: 2
Right Door
To: 2
Right Door
Requires: { "heatFrames": 570 } Exit condition: { "leaveWithGModeSetup": {} } |
{ "$schema": "../../../schema/m3-room.schema.json", "id": 114, "name": "Magdollite Tunnel", "area": "Norfair", "subarea": "Upper", "subsubarea": "East", "roomAddress": "0x7AEB4", "roomEnvironments": [ { "heated": true } ], "nodes": [ { "id": 1, "name": "Left Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x0019696", "doorOrientation": "left", "doorEnvironments": [ { "physics": "air" } ] }, { "id": 2, "name": "Right Door", "nodeType": "door", "nodeSubType": "blue", "nodeAddress": "0x00196a2", "doorOrientation": "right", "doorEnvironments": [ { "physics": "air" } ] } ], "enemies": [ { "id": "e1", "groupName": "Magdollite Tunnel Multiviolas", "enemyName": "Multiviola", "quantity": 2, "homeNodes": [ 1, 2 ] }, { "id": "e2", "groupName": "Magdollite Tunnel Magdollites", "enemyName": "Magdollite", "quantity": 3, "homeNodes": [ 1, 2 ] } ], "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 } }, "flashSuitChecked": true }, { "id": 2, "link": [ 1, 1 ], "name": "Magdollite Farm", "requires": [ "h_heatProof", { "refill": [ "Energy", "Missile" ] } ], "flashSuitChecked": true }, { "id": 3, "link": [ 1, 1 ], "name": "Crystal Flash", "requires": [ "h_canHeatedCrystalFlash" ], "flashSuitChecked": true }, { "id": 26, "link": [ 1, 1 ], "name": "G-Mode Setup - Get Hit By Multiviola", "requires": [ { "heatFrames": 1880 }, { "or": [ "canTrickyDodgeEnemies", "h_heatProof", { "and": [ "canTrickyJump", { "heatFrames": 350 }, { "enemyDamage": { "enemy": "Magdollite", "type": "flame", "hits": 2 } } ] } ] } ], "exitCondition": { "leaveWithGModeSetup": {} }, "flashSuitChecked": true, "note": "Follow the left Multiviola back and forth across the room while avoiding it and the Magdolites." }, { "id": 4, "link": [ 1, 2 ], "name": "Base", "requires": [ { "or": [ { "heatFrames": 440 }, { "and": [ { "heatFrames": 360 }, { "or": [ "canTrickyJump", { "and": [ { "heatFrames": 30 }, "canDodgeWhileShooting", { "or": [ "Plasma", "Wave", "Spazer", "ScrewAttack", "canPseudoScrew", { "ammo": { "type": "Missile", "count": 1 } }, { "ammo": { "type": "Super", "count": 1 } } ] } ] } ] } ] } ] } ], "flashSuitChecked": true }, { "id": 5, "link": [ 1, 2 ], "name": "Space Jump", "requires": [ "SpaceJump", { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] } ] }, { "heatFrames": 300 } ], "flashSuitChecked": true }, { "id": 6, "link": [ 1, 2 ], "name": "Space Jump with Run Speed", "entranceCondition": { "comeInRunning": { "speedBooster": "any", "minTiles": 3 } }, "requires": [ "SpaceJump", "canCarefulJump", { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] } ] }, { "heatFrames": 230 } ], "flashSuitChecked": true }, { "id": 7, "link": [ 1, 2 ], "name": "Blue Space Jump", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1 } }, "requires": [ "canPreciseSpaceJump", { "heatFrames": 230 } ], "flashSuitChecked": true }, { "id": 8, "link": [ 1, 2 ], "name": "Shinespark (Come In Shinecharging)", "entranceCondition": { "comeInShinecharging": { "length": 3, "openEnd": 1 } }, "requires": [ "canShinechargeMovementComplex", "canMidairShinespark", { "shinespark": { "frames": 57, "excessFrames": 4 } }, { "heatFrames": 210 } ], "note": [ "The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling." ], "flashSuitChecked": true }, { "id": 9, "link": [ 1, 2 ], "name": "Shinespark (Come In Shinecharged)", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 16 }, "canShinechargeMovementComplex", "canMidairShinespark", { "shinespark": { "frames": 57, "excessFrames": 4 } }, { "heatFrames": 210 } ], "note": [ "The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling." ], "flashSuitChecked": true }, { "id": 10, "link": [ 1, 2 ], "name": "Cross While Farming", "requires": [ "canFarmWhileShooting", { "heatFramesWithEnergyDrops": { "frames": 440, "drops": [ { "enemy": "Magdollite", "count": 7 }, { "enemy": "Multiviola", "count": 1 } ] } }, { "heatFrames": 100 } ], "note": [ "The Magdollite flames can be killed for drops.", "The left Multiviola will be in the way and should be killed too." ], "flashSuitChecked": true }, { "id": 24, "link": [ 1, 2 ], "name": "Come in Getting Blue Speed, Leave With Temporary Blue", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1 } }, "requires": [ "canLongChainTemporaryBlue", { "heatFrames": 760 } ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ] }, { "id": 11, "link": [ 2, 1 ], "name": "Base", "requires": [ { "or": [ { "heatFrames": 420 }, { "and": [ { "heatFrames": 335 }, { "or": [ "canInsaneJump", { "and": [ "canDodgeWhileShooting", { "or": [ "Plasma", "Wave", "Spazer", "ScrewAttack", "canPseudoScrew", { "ammo": { "type": "Missile", "count": 1 } }, { "ammo": { "type": "Super", "count": 1 } } ] } ] } ] } ] }, { "and": [ { "heatFrames": 360 }, "canTrickyJump" ] } ] } ], "flashSuitChecked": true }, { "id": 12, "link": [ 2, 1 ], "name": "Space Jump", "requires": [ "SpaceJump", { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] }, "canPreciseSpaceJump" ] }, { "heatFrames": 310 } ], "flashSuitChecked": true, "note": "Without Screw or pseudo screw, it is possible to carefully space jump over the left Multiviola." }, { "id": 13, "link": [ 2, 1 ], "name": "Space Jump with Run Speed", "entranceCondition": { "comeInRunning": { "speedBooster": "any", "minTiles": 3 } }, "requires": [ "SpaceJump", { "or": [ "ScrewAttack", { "and": [ "canPrepareForNextRoom", "canPseudoScrew" ] } ] }, { "heatFrames": 230 } ], "flashSuitChecked": true }, { "id": 14, "link": [ 2, 1 ], "name": "Blue Space Jump", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1 } }, "requires": [ "canPreciseSpaceJump", { "heatFrames": 220 } ], "flashSuitChecked": true }, { "id": 15, "link": [ 2, 1 ], "name": "Shinespark (Come In Shinecharging)", "entranceCondition": { "comeInShinecharging": { "length": 3, "openEnd": 1 } }, "requires": [ "canShinechargeMovementComplex", "canMidairShinespark", { "shinespark": { "frames": 57, "excessFrames": 4 } }, { "heatFrames": 210 } ], "note": [ "The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling." ], "flashSuitChecked": true }, { "id": 16, "link": [ 2, 1 ], "name": "Shinespark (Come In Shinecharged)", "entranceCondition": { "comeInShinecharged": {} }, "requires": [ { "shineChargeFrames": 16 }, "canShinechargeMovementComplex", "canMidairShinespark", { "shinespark": { "frames": 57, "excessFrames": 4 } }, { "heatFrames": 210 } ], "note": [ "The height for the Shinespark can be easily gotten by jumping against the door, up to the ceiling." ], "flashSuitChecked": true }, { "id": 17, "link": [ 2, 1 ], "name": "Cross While Farming", "requires": [ "canFarmWhileShooting", { "heatFramesWithEnergyDrops": { "frames": 240, "drops": [ { "enemy": "Magdollite", "count": 5 } ] } }, { "heatFramesWithEnergyDrops": { "frames": 200, "drops": [ { "enemy": "Magdollite", "count": 3 } ] } }, { "heatFrames": 90 } ], "note": [ "The Magdollite flames can be killed for drops." ], "flashSuitChecked": true }, { "id": 25, "link": [ 2, 1 ], "name": "Come in Getting Blue Speed, Leave With Temporary Blue", "entranceCondition": { "comeInGettingBlueSpeed": { "length": 3, "openEnd": 1, "minExtraRunSpeed": "$0.A" } }, "requires": [ "canLongChainTemporaryBlue", { "heatFrames": 790 } ], "exitCondition": { "leaveWithTemporaryBlue": {} }, "unlocksDoors": [ { "types": [ "ammo" ], "requires": [] } ], "devNote": [ "A run speed of $0.7 would be enough to make the first jump (and even less could work with an additional jump).", "The slightly higher speed of $0.A saves a few heat frames, making it reasonable enough to get through on 1 tank.", "This constraint is mostly a technicality since these speeds are all lower than a human player would use." ] }, { "id": 18, "link": [ 2, 1 ], "name": "Grapple Teleport", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 7, 2 ] ] } }, "requires": [ { "heatFrames": 50 } ], "flashSuitChecked": true }, { "id": 19, "link": [ 2, 1 ], "name": "Grapple Teleport Door Lock Skip", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ], [ 3, 13 ] ] } }, "requires": [], "bypassesDoorShell": true, "flashSuitChecked": true }, { "id": 20, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Top Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 12 ] ] } }, "flashSuitChecked": true }, { "id": 21, "link": [ 2, 1 ], "name": "Carry Grapple Teleport (Bottom Position)", "entranceCondition": { "comeInWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } }, "requires": [], "bypassesDoorShell": true, "exitCondition": { "leaveWithGrappleTeleport": { "blockPositions": [ [ 3, 13 ] ] } }, "flashSuitChecked": true }, { "id": 22, "link": [ 2, 2 ], "name": "Leave with Runway", "requires": [], "exitCondition": { "leaveWithRunway": { "length": 4, "openEnd": 1 } }, "flashSuitChecked": true }, { "id": 23, "link": [ 2, 2 ], "name": "Crystal Flash", "requires": [ "h_canHeatedCrystalFlash" ], "flashSuitChecked": true }, { "id": 27, "link": [ 2, 2 ], "name": "G-Mode Setup - Get Hit By Multiviola", "requires": [ { "heatFrames": 570 } ], "exitCondition": { "leaveWithGModeSetup": {} }, "flashSuitChecked": true, "note": "Follow the right Multiviola to the left and back.", "devNote": "Could save some heat frames by setting this up while crossing the room." }, { "link": [ 1, 1 ], "name": "Base (Unlock Door)", "requires": [], "unlocksDoors": [ { "types": [ "missiles" ], "requires": [ { "heatFrames": 50 } ] }, { "types": [ "super" ], "requires": [] }, { "types": [ "powerbomb" ], "requires": [ { "heatFrames": 110 } ] } ] }, { "link": [ 1, 1 ], "name": "Base (Come In Normally)", "entranceCondition": { "comeInNormally": {} }, "requires": [] }, { "link": [ 2, 2 ], "name": "Base (Unlock Door)", "requires": [], "unlocksDoors": [ { "types": [ "missiles" ], "requires": [ { "heatFrames": 50 } ] }, { "types": [ "super" ], "requires": [] }, { "types": [ "powerbomb" ], "requires": [ { "heatFrames": 110 } ] } ] }, { "link": [ 2, 2 ], "name": "Base (Come In Normally)", "entranceCondition": { "comeInNormally": {} }, "requires": [] } ], "nextStratId": 28, "notables": [], "nextNotableId": 1 }