Room ID: 47
|
Exit condition: {
"leaveWithRunway": {
"length": 3,
"openEnd": 0
}
} |
|
Requires: {
"resetRoom": {
"nodes": [
1
]
}
}
{
"cycleFrames": 120
}Resets obstacles: A Farm cycle drops: 1 Zeela |
|
Requires: "h_CrystalFlash" Clears obstacles: A |
|
Exit condition: {
"leaveWithGModeSetup": {}
} |
|
Requires: {
"enemyDamage": {
"enemy": "Zeela",
"type": "contact",
"hits": 1
}
} |
From: 1
Left Door
To: 2
Right Door
Kill Zeela for reserves or Crystal Flash. Lead one Zeela above the runway and perform Spark Interrupt. Crystal Flash can be used to clear the bomb blocks for access to the runway. Entrance condition: {
"comeInWithRMode": {}
}Requires: "Morph"
{
"or": [
"h_CrystalFlash",
{
"and": [
"h_bombThings",
"h_RModeCanRefillReserves",
{
"resourceMissingAtMost": [
{
"type": "Missile",
"count": 0
}
]
},
{
"resourceMissingAtMost": [
{
"type": "Super",
"count": 0
}
]
},
{
"partialRefill": {
"type": "ReserveEnergy",
"limit": 20
}
}
]
}
]
}
{
"canShineCharge": {
"usedTiles": 17,
"openEnd": 0
}
}
{
"autoReserveTrigger": {}
}
"canRModeSparkInterrupt"Clears obstacles: A |
|
Requires: "Morph"
{
"or": [
"h_bombThings",
{
"obstaclesCleared": [
"A"
]
}
]
}Clears obstacles: A |
From: 1
Left Door
To: 2
Right Door
Entrance condition: {
"comeInShinecharging": {
"length": 1,
"openEnd": 0
}
}Requires: "canTemporaryBlue" "canSpringBallBounce" Clears obstacles: A Dev note: There is 1 unusable tile in this runway. TODO: Add an insane speedball strat which is possible by jumping up through the door blue with very low speed. |
From: 1
Left Door
To: 2
Right Door
Entrance condition: {
"comeInWithTemporaryBlue": {}
}Requires: "canChainTemporaryBlue" "canSpringBallBounce" Clears obstacles: A Dev note: There is 1 unusable tile in this runway. |
|
Requires: "Morph"
{
"or": [
"h_bombThings",
{
"obstaclesCleared": [
"A"
]
}
]
}Clears obstacles: A |
From: 2
Right Door
To: 1
Left Door
Entrance condition: {
"comeInGettingBlueSpeed": {
"length": 11,
"openEnd": 0
}
}Requires: "canSpeedball" Clears obstacles: A Dev note: There are 3 unusable tiles in this runway. |
|
Requires: "canSlowShortCharge"
{
"getBlueSpeed": {
"usedTiles": 14,
"openEnd": 1
}
}
"canSpeedball"Clears obstacles: A |
From: 2
Right Door
To: 1
Left Door
Requires: "h_frozenEnemyRunway"
"canSlowShortCharge"
{
"getBlueSpeed": {
"usedTiles": 15,
"openEnd": 1
}
}
"canSpeedball"Clears obstacles: A |
|
Requires: {
"canShineCharge": {
"usedTiles": 17,
"openEnd": 1
}
}
"canTemporaryBlue"
"canSpringBallBounce"Clears obstacles: A |
|
Requires: {
"canShineCharge": {
"usedTiles": 17,
"openEnd": 1
}
}
"canShinechargeMovement"
{
"obstaclesCleared": [
"A"
]
}
{
"shineChargeFrames": 120
}Exit condition: {
"leaveShinecharged": {}
}Unlocks doors: {"types":["ammo"],"requires":[]} |
|
Entrance condition: {
"comeInWithGrappleTeleport": {
"blockPositions": [
[
5,
3
],
[
7,
2
]
]
}
} |
|
Entrance condition: {
"comeInWithGrappleTeleport": {
"blockPositions": [
[
3,
12
],
[
3,
13
]
]
}
}Requires: {
"or": [
"canGrappleTeleportWallEscape",
{
"doorUnlockedAtNode": 1
}
]
}Unlocks doors: {"types":["ammo"],"requires":[]} |
|
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
Kill Zeela for reserves or Crystal Flash. Lead one Zeela above the runway and perform Spark Interrupt. Entrance condition: {
"comeInWithRMode": {}
}Requires: {
"or": [
"h_CrystalFlash",
{
"and": [
"h_RModeCanRefillReserves",
{
"resourceMissingAtMost": [
{
"type": "Missile",
"count": 0
}
]
},
{
"resourceMissingAtMost": [
{
"type": "Super",
"count": 0
}
]
},
{
"partialRefill": {
"type": "ReserveEnergy",
"limit": 20
}
}
]
}
]
}
{
"canShineCharge": {
"usedTiles": 17,
"openEnd": 0
}
}
{
"autoReserveTrigger": {}
}
"canRModeSparkInterrupt" |
|
Exit condition: {
"leaveWithRunway": {
"length": 15,
"openEnd": 0
}
} |
|
Requires: {
"canShineCharge": {
"usedTiles": 17,
"openEnd": 1
}
}
{
"shineChargeFrames": 85
}Exit condition: {
"leaveShinecharged": {}
} |
|
Exit condition: {
"leaveWithMockball": {
"remoteRunway": {
"length": 17,
"openEnd": 1
},
"landingRunway": {
"length": 7,
"openEnd": 1
}
}
}Dev note: It's also possible to do a neutral bounce into an uncontrolled spring ball bounce through the door; but it's unclear if it has any application. |
|
Exit condition: {
"leaveSpaceJumping": {
"remoteRunway": {
"length": 16,
"openEnd": 1
},
"maxExtraRunSpeed": "$2.4"
}
} |
|
Requires: {
"getBlueSpeed": {
"usedTiles": 17,
"openEnd": 1
}
}
"canChainTemporaryBlue"Exit condition: {
"leaveWithTemporaryBlue": {}
} |
|
Requires: {
"resetRoom": {
"nodes": [
2
]
}
}
{
"cycleFrames": 320
}
{
"or": [
"canDodgeWhileShooting",
"Plasma",
{
"and": [
"Wave",
"Spazer"
]
},
{
"and": [
"Ice",
"Wave"
]
},
{
"and": [
"Ice",
"Spazer"
]
}
]
}Resets obstacles: A Farm cycle drops: 2 Zeela, 1 Sm. Sidehopper |
|
Requires: "h_CrystalFlash" Clears obstacles: A |
From: 2
Right Door
To: 2
Right Door
Exit condition: {
"leaveWithGModeSetup": {}
} |
|
Requires: {
"enemyDamage": {
"enemy": "Sm. Sidehopper",
"type": "contact",
"hits": 1
}
} |
{
"$schema": "../../../schema/m3-room.schema.json",
"id": 47,
"name": "Brinstar Pre-Map Room",
"area": "Brinstar",
"subarea": "Green",
"roomAddress": "0x79B9D",
"roomEnvironments": [
{
"heated": false
}
],
"mapTileMask": [
[
1,
1,
1
]
],
"nodes": [
{
"id": 1,
"name": "Left Door",
"nodeType": "door",
"nodeSubType": "blue",
"nodeAddress": "0x0018d36",
"doorOrientation": "left",
"doorEnvironments": [
{
"physics": "air"
}
],
"mapTileMask": [
[
2,
1,
1
]
]
},
{
"id": 2,
"name": "Right Door",
"nodeType": "door",
"nodeSubType": "gray",
"nodeAddress": "0x0018d42",
"doorOrientation": "right",
"doorEnvironments": [
{
"physics": "air"
}
],
"locks": [
{
"name": "Brinstar Pre-Map Gray Lock (to Green Shaft)",
"lockType": "killEnemies",
"unlockStrats": [
{
"name": "Base",
"requires": [
"Morph",
{
"or": [
"h_bombThings",
{
"obstaclesCleared": [
"A"
]
},
{
"and": [
"canSlowShortCharge",
"canSpeedball",
{
"getBlueSpeed": {
"usedTiles": 14,
"openEnd": 1
}
}
]
}
]
}
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"note": [
"Both sides of the room must be accessed to reach all enemies and unlock the door.",
"Beyond that, the enemies can be killed with Power Beam."
]
}
],
"yields": [
"f_ZebesAwake"
]
}
],
"mapTileMask": [
[
1,
2,
2
]
]
}
],
"obstacles": [
{
"id": "A",
"name": "Bomb Blocks",
"obstacleType": "inanimate"
}
],
"enemies": [
{
"id": "e1",
"groupName": "Brinstar Pre-Map Left Zeela",
"enemyName": "Zeela",
"quantity": 1,
"homeNodes": [
1
]
},
{
"id": "e2",
"groupName": "Brinstar Pre-Map Right Zeelas",
"enemyName": "Zeela",
"quantity": 2,
"homeNodes": [
2
]
},
{
"id": "e3",
"groupName": "Brinstar Pre-Map Small Sidehopper",
"enemyName": "Sm. Sidehopper",
"quantity": 1,
"homeNodes": [
2
]
}
],
"links": [
{
"from": 1,
"to": [
{
"id": 1
},
{
"id": 2
}
]
},
{
"from": 2,
"to": [
{
"id": 1
},
{
"id": 2,
"devNote": "FIXME: Node 1 could be used to reset the room, with additional requirements."
}
]
}
],
"strats": [
{
"link": [
1,
1
],
"name": "Base (Unlock Door)",
"requires": [],
"unlocksDoors": [
{
"types": [
"ammo"
],
"requires": []
}
],
"flashSuitChecked": true
},
{
"link": [
1,
1
],
"name": "Base (Come In Normally)",
"entranceCondition": {
"comeInNormally": {}
},
"requires": [],
"flashSuitChecked": true
},
{
"link": [
1,
1
],
"name": "Base (Come In With Mockball)",
"entranceCondition": {
"comeInWithMockball": {
"adjacentMinTiles": 0,
"remoteAndLandingMinTiles": [
[
0,
0
]
],
"speedBooster": "any"
}
},
"requires": [],
"flashSuitChecked": true
},
{
"link": [
2,
2
],
"name": "Base (Unlock Door)",
"requires": [],
"unlocksDoors": [
{
"types": [
"ammo"
],
"requires": []
}
],
"flashSuitChecked": true
},
{
"link": [
2,
2
],
"name": "Base (Come In Normally)",
"entranceCondition": {
"comeInNormally": {}
},
"requires": [],
"flashSuitChecked": true
},
{
"link": [
2,
2
],
"name": "Base (Come In With Mockball)",
"entranceCondition": {
"comeInWithMockball": {
"adjacentMinTiles": 0,
"remoteAndLandingMinTiles": [
[
0,
0
]
],
"speedBooster": "any"
}
},
"requires": [],
"flashSuitChecked": true
},
{
"id": 1,
"link": [
1,
1
],
"name": "Leave With Runway",
"requires": [],
"exitCondition": {
"leaveWithRunway": {
"length": 3,
"openEnd": 0
}
},
"flashSuitChecked": true
},
{
"id": 27,
"link": [
1,
1
],
"name": "Zeela Farm",
"requires": [
{
"resetRoom": {
"nodes": [
1
]
}
},
{
"cycleFrames": 120
}
],
"resetsObstacles": [
"A"
],
"farmCycleDrops": [
{
"enemy": "Zeela",
"count": 1
}
],
"flashSuitChecked": true
},
{
"id": 2,
"link": [
1,
1
],
"name": "Crystal Flash",
"requires": [
"h_CrystalFlash"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true
},
{
"id": 3,
"link": [
1,
1
],
"name": "G-Mode Setup - Get Hit By Zeela",
"requires": [],
"exitCondition": {
"leaveWithGModeSetup": {}
},
"flashSuitChecked": true
},
{
"id": 4,
"link": [
1,
1
],
"name": "G-Mode Regain Mobility",
"requires": [
{
"enemyDamage": {
"enemy": "Zeela",
"type": "contact",
"hits": 1
}
}
],
"gModeRegainMobility": {},
"flashSuitChecked": true
},
{
"id": 29,
"link": [
1,
2
],
"name": "R-Mode Spark Interrupt (Gain Blue Suit)",
"entranceCondition": {
"comeInWithRMode": {}
},
"requires": [
"Morph",
{
"or": [
"h_CrystalFlash",
{
"and": [
"h_bombThings",
"h_RModeCanRefillReserves",
{
"resourceMissingAtMost": [
{
"type": "Missile",
"count": 0
}
]
},
{
"resourceMissingAtMost": [
{
"type": "Super",
"count": 0
}
]
},
{
"partialRefill": {
"type": "ReserveEnergy",
"limit": 20
}
}
]
}
]
},
{
"canShineCharge": {
"usedTiles": 17,
"openEnd": 0
}
},
{
"autoReserveTrigger": {}
},
"canRModeSparkInterrupt"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"blueSuitChecked": true,
"note": [
"Kill Zeela for reserves or Crystal Flash. Lead one Zeela above the runway and perform Spark Interrupt.",
"Crystal Flash can be used to clear the bomb blocks for access to the runway."
]
},
{
"id": 5,
"link": [
1,
2
],
"name": "Base",
"requires": [
"Morph",
{
"or": [
"h_bombThings",
{
"obstaclesCleared": [
"A"
]
}
]
}
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true
},
{
"id": 6,
"link": [
1,
2
],
"name": "Temporary Blue Bounce (Come in Shinecharging)",
"entranceCondition": {
"comeInShinecharging": {
"length": 1,
"openEnd": 0
}
},
"requires": [
"canTemporaryBlue",
"canSpringBallBounce"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"devNote": [
"There is 1 unusable tile in this runway.",
"TODO: Add an insane speedball strat which is possible by jumping up through the door blue with very low speed."
]
},
{
"id": 7,
"link": [
1,
2
],
"name": "Temporary Blue Bounce (Come in With Temporary Blue)",
"entranceCondition": {
"comeInWithTemporaryBlue": {}
},
"requires": [
"canChainTemporaryBlue",
"canSpringBallBounce"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"devNote": "There is 1 unusable tile in this runway."
},
{
"id": 8,
"link": [
2,
1
],
"name": "Base",
"requires": [
"Morph",
{
"or": [
"h_bombThings",
{
"obstaclesCleared": [
"A"
]
}
]
}
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true
},
{
"id": 9,
"link": [
2,
1
],
"name": "Come In Getting Blue Speed, Speedball",
"entranceCondition": {
"comeInGettingBlueSpeed": {
"length": 11,
"openEnd": 0
}
},
"requires": [
"canSpeedball"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"devNote": "There are 3 unusable tiles in this runway."
},
{
"id": 10,
"link": [
2,
1
],
"name": "Speedball (In-Room)",
"requires": [
"canSlowShortCharge",
{
"getBlueSpeed": {
"usedTiles": 14,
"openEnd": 1
}
},
"canSpeedball"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"note": "Run on the upper platform to perform the speedball."
},
{
"id": 11,
"link": [
2,
1
],
"name": "Speedball (In-Room) Extended Runway With Frozen Zeela",
"requires": [
"h_frozenEnemyRunway",
"canSlowShortCharge",
{
"getBlueSpeed": {
"usedTiles": 15,
"openEnd": 1
}
},
"canSpeedball"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"note": "Use a frozen Zeela to extend the upper platform to help set up the speedball."
},
{
"id": 12,
"link": [
2,
1
],
"name": "Temporary Blue Bounce",
"requires": [
{
"canShineCharge": {
"usedTiles": 17,
"openEnd": 1
}
},
"canTemporaryBlue",
"canSpringBallBounce"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true,
"note": "Use the upper platform to run and gain temporary blue."
},
{
"id": 13,
"link": [
2,
1
],
"name": "Leave Shinecharged",
"requires": [
{
"canShineCharge": {
"usedTiles": 17,
"openEnd": 1
}
},
"canShinechargeMovement",
{
"obstaclesCleared": [
"A"
]
},
{
"shineChargeFrames": 120
}
],
"exitCondition": {
"leaveShinecharged": {}
},
"unlocksDoors": [
{
"types": [
"ammo"
],
"requires": []
}
],
"flashSuitChecked": true
},
{
"id": 14,
"link": [
2,
1
],
"name": "Grapple Teleport",
"entranceCondition": {
"comeInWithGrappleTeleport": {
"blockPositions": [
[
5,
3
],
[
7,
2
]
]
}
},
"requires": [],
"flashSuitChecked": true
},
{
"id": 28,
"link": [
2,
1
],
"name": "Grapple Teleport Door Escape",
"entranceCondition": {
"comeInWithGrappleTeleport": {
"blockPositions": [
[
3,
12
],
[
3,
13
]
]
}
},
"requires": [
{
"or": [
"canGrappleTeleportWallEscape",
{
"doorUnlockedAtNode": 1
}
]
}
],
"unlocksDoors": [
{
"types": [
"ammo"
],
"requires": []
}
],
"flashSuitChecked": true
},
{
"id": 15,
"link": [
2,
1
],
"name": "Grapple Teleport Door Lock Skip",
"entranceCondition": {
"comeInWithGrappleTeleport": {
"blockPositions": [
[
3,
12
],
[
3,
13
]
]
}
},
"requires": [],
"bypassesDoorShell": true,
"flashSuitChecked": true
},
{
"id": 16,
"link": [
2,
1
],
"name": "Carry Grapple Teleport (Top Position)",
"entranceCondition": {
"comeInWithGrappleTeleport": {
"blockPositions": [
[
3,
12
]
]
}
},
"requires": [],
"exitCondition": {
"leaveWithGrappleTeleport": {
"blockPositions": [
[
3,
12
]
]
}
},
"bypassesDoorShell": true,
"flashSuitChecked": true
},
{
"id": 17,
"link": [
2,
1
],
"name": "Carry Grapple Teleport (Bottom Position)",
"entranceCondition": {
"comeInWithGrappleTeleport": {
"blockPositions": [
[
3,
13
]
]
}
},
"requires": [],
"exitCondition": {
"leaveWithGrappleTeleport": {
"blockPositions": [
[
3,
13
]
]
}
},
"bypassesDoorShell": true,
"flashSuitChecked": true
},
{
"id": 30,
"link": [
2,
2
],
"name": "R-Mode Spark Interrupt (Gain Blue Suit)",
"entranceCondition": {
"comeInWithRMode": {}
},
"requires": [
{
"or": [
"h_CrystalFlash",
{
"and": [
"h_RModeCanRefillReserves",
{
"resourceMissingAtMost": [
{
"type": "Missile",
"count": 0
}
]
},
{
"resourceMissingAtMost": [
{
"type": "Super",
"count": 0
}
]
},
{
"partialRefill": {
"type": "ReserveEnergy",
"limit": 20
}
}
]
}
]
},
{
"canShineCharge": {
"usedTiles": 17,
"openEnd": 0
}
},
{
"autoReserveTrigger": {}
},
"canRModeSparkInterrupt"
],
"flashSuitChecked": true,
"blueSuitChecked": true,
"note": [
"Kill Zeela for reserves or Crystal Flash. Lead one Zeela above the runway and perform Spark Interrupt."
]
},
{
"id": 18,
"link": [
2,
2
],
"name": "Leave With Runway",
"requires": [],
"exitCondition": {
"leaveWithRunway": {
"length": 15,
"openEnd": 0
}
},
"flashSuitChecked": true
},
{
"id": 19,
"link": [
2,
2
],
"name": "Leave Shinecharged",
"requires": [
{
"canShineCharge": {
"usedTiles": 17,
"openEnd": 1
}
},
{
"shineChargeFrames": 85
}
],
"exitCondition": {
"leaveShinecharged": {}
},
"flashSuitChecked": true,
"note": "Use the upper platform to gain a shinecharge and carry it out the right door."
},
{
"id": 20,
"link": [
2,
2
],
"name": "Leave With Mockball",
"requires": [],
"exitCondition": {
"leaveWithMockball": {
"remoteRunway": {
"length": 17,
"openEnd": 1
},
"landingRunway": {
"length": 7,
"openEnd": 1
}
}
},
"flashSuitChecked": true,
"devNote": "It's also possible to do a neutral bounce into an uncontrolled spring ball bounce through the door; but it's unclear if it has any application."
},
{
"id": 21,
"link": [
2,
2
],
"name": "Leave Space Jumping",
"requires": [],
"exitCondition": {
"leaveSpaceJumping": {
"remoteRunway": {
"length": 16,
"openEnd": 1
},
"maxExtraRunSpeed": "$2.4"
}
},
"flashSuitChecked": true
},
{
"id": 22,
"link": [
2,
2
],
"name": "Leave With Temporary Blue",
"requires": [
{
"getBlueSpeed": {
"usedTiles": 17,
"openEnd": 1
}
},
"canChainTemporaryBlue"
],
"exitCondition": {
"leaveWithTemporaryBlue": {}
},
"flashSuitChecked": true
},
{
"id": 23,
"link": [
2,
2
],
"name": "Zeela & Sidehopper Farm",
"requires": [
{
"resetRoom": {
"nodes": [
2
]
}
},
{
"cycleFrames": 320
},
{
"or": [
"canDodgeWhileShooting",
"Plasma",
{
"and": [
"Wave",
"Spazer"
]
},
{
"and": [
"Ice",
"Wave"
]
},
{
"and": [
"Ice",
"Spazer"
]
}
]
}
],
"resetsObstacles": [
"A"
],
"farmCycleDrops": [
{
"enemy": "Zeela",
"count": 2
},
{
"enemy": "Sm. Sidehopper",
"count": 1
}
],
"flashSuitChecked": true
},
{
"id": 24,
"link": [
2,
2
],
"name": "Crystal Flash",
"requires": [
"h_CrystalFlash"
],
"clearsObstacles": [
"A"
],
"flashSuitChecked": true
},
{
"id": 25,
"link": [
2,
2
],
"name": "G-Mode Setup - Get Hit By Zeela or Sidehopper",
"requires": [],
"exitCondition": {
"leaveWithGModeSetup": {}
},
"flashSuitChecked": true
},
{
"id": 26,
"link": [
2,
2
],
"name": "G-Mode Regain Mobility",
"requires": [
{
"enemyDamage": {
"enemy": "Sm. Sidehopper",
"type": "contact",
"hits": 1
}
}
],
"gModeRegainMobility": {},
"flashSuitChecked": true
}
],
"notables": [],
"nextStratId": 31,
"nextNotableId": 1
}