canCrystalSpark (Ignored)

The ability to gain a blue suit by activating a Crystal Flash during shinespark wind-up. This is done by gaining a shinecharge, jumping, mid-air morphing, and laying a Power Bomb at a pixel-perfect height, unmorphing, activating the shinespark wind-up by pressing jump, then holding the Crystal Flash inputs.

If unlimited shinecharge frames are available (e.g. if using a flash suit), there is a 31-frame window for when to activate the shinespark wind-up: the window begins 1 frame after the Power Bomb explosion has reached its maximum size, and it ends some time after the screen has fully faded back to normal brightness. But normally it is necessary to activate the wind-up in the earlier part of the window, before shinecharge frames run out. The shinespark may be activated with Samus in a crouched pose, a crouched pose with angle-down held, or a standing pose, each of these has a different requirement for the height of the Power Bomb. It is recommended to aim for the crouched angle-down position, which is the lowest one: a visual cue is that the Power Bomb becomes flush against the morph ball at the peak of its animation. If the Power Bomb overlaps the morph ball animation at all then it is laid too low. The standing pose works with the Power Bomb placed 2 pixels higher than with the crouched angle-down pose. The crouch pose works with the Power Bomb placed 8 pixels higher than with the standing pose. The position that works from the standing pose is 1 pixel higher than the position where Samus would be able to Crystal Flash while standing without sparking.

Dependencies: canCarryBlueSuit

Dev note: This tech should not be used directly; instead use a helper, in order to correctly account for the amount of Crystal Flash refill, which depends on the environment.

Difficulty filter

Strats ()

From: 1
Right Door
To: 1
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 9,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 13,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 13,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 1
        },
        {
          "canShineCharge": {
            "usedTiles": 14,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

"f_DefeatedBombTorizo"
{
  "canShineCharge": {
    "usedTiles": 13,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 4
Middle Right Door
To: 4
Middle Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 6
Main Junction
To: 6
Main Junction

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "or": [
    "h_ClimbWithoutLava",
    {
      "obstaclesNotCleared": [
        "B"
      ]
    }
  ]
}
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 28,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "or": [
            {
              "doorUnlockedAtNode": 2
            },
            {
              "doorUnlockedAtNode": 5
            }
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 29,
            "openEnd": 0
          }
        }
      ]
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 2
        },
        {
          "doorUnlockedAtNode": 5
        },
        {
          "canShineCharge": {
            "usedTiles": 30,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

{"nodeId":2,"types":["ammo"],"requires":[]}
{"nodeId":5,"types":["ammo"],"requires":[]}
From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 5,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Requires:

{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        "h_CrystalSparkWithoutLenience"
      ]
    }
  ]
}

Dev note: No lenience, because Power Bombs can be farmed from the Alcoons.

From: 1
Right Door
To: 1
Right Door

Entrance condition:

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

Requires:

"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because reloading from the save is possible.

From: 1
Left Doorway
To: 1
Left Doorway

Entrance condition:

{
  "comeInShinecharging": {
    "length": 13,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Doorway
To: 1
Left Doorway

Requires:

{
  "canShineCharge": {
    "usedTiles": 14,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 2
Right Doorway
To: 2
Right Doorway

Entrance condition:

{
  "comeInShinecharging": {
    "length": 13,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 38,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 3
Top Right Door
To: 3
Top Right Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 30,
    "steepDownTiles": 9,
    "openEnd": 1
  }
}
"h_CrystalSpark"
From: 5
Ship
To: 5
Ship

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because refilling at the Ship is possible.

From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 13,
    "openEnd": 0,
    "steepUpTiles": 2,
    "steepDownTiles": 2
  }
}

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 3
Bottom Left Horizontal Door
To: 3
Bottom Left Horizontal Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Top Right Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 7,
    "openEnd": 1,
    "steepDownTiles": 1
  }
}

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 5
Alcatraz Door
To: 5
Alcatraz Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 10,
    "openEnd": 0,
    "steepUpTiles": 2
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 6
Bottom Right Door (On the Left Shaft)
To: 6
Bottom Right Door (On the Left Shaft)

Entrance condition:

{
  "comeInShinecharging": {
    "length": 3,
    "openEnd": 0,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 8
Central Junction
To: 8
Central Junction

Requires:

{
  "canShineCharge": {
    "usedTiles": 25,
    "steepUpTiles": 3,
    "steepDownTiles": 3,
    "openEnd": 1
  }
}
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 7,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 6,
    "openEnd": 0,
    "steepDownTiles": 1
  }
}

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"

Entrance condition:

{
  "comeInShinecharging": {
    "length": 14,
    "openEnd": 0,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"Wave"
"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "B"
  ]
}
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 18,
        "steepUpTiles": 1,
        "steepDownTiles": 1,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 19,
            "steepUpTiles": 1,
            "steepDownTiles": 1,
            "openEnd": 1
          }
        },
        {
          "doorUnlockedAtNode": 1
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Shinecharge before touching the acid.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"

Dev note: FIXME: A variant could be added which dips into the acid, but we are not including first-try Crystal Sparks.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 0,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"

Dev note: FIXME: There could be an in-room Crystal Spark in the middle of the room.

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 0,
    "steepUpTiles": 1,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Right Door
To: 1
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 13,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Right Door
To: 1
Right Door

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 13,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 1
        },
        {
          "canShineCharge": {
            "usedTiles": 14,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"
From: 1
Top Right Door
To: 1
Top Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 2
Middle Right Door
To: 2
Middle Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 8,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 3
Bottom Left Door
To: 3
Bottom Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Bottom Right Door
To: 4
Bottom Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Bottom Right Door
To: 4
Bottom Right Door

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 12,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "or": [
            {
              "doorUnlockedAtNode": 3
            },
            {
              "doorUnlockedAtNode": 4
            }
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 13,
            "openEnd": 0
          }
        }
      ]
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 3
        },
        {
          "doorUnlockedAtNode": 4
        },
        {
          "canShineCharge": {
            "usedTiles": 14,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

{"nodeId":3,"types":["ammo"],"requires":[]}
From: 1
Left Door
To: 1
Left Door

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSparkWithoutLenience"

Dev note: No lenience, since the Kagos are a reasonable enough Power Bomb farm.

From: 1
Left Door
To: 1
Left Door

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 2
Left Door
To: 2
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 7,
    "openEnd": 0,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Left Door
To: 2
Left Door

Requires:

"Gravity"
{
  "canShineCharge": {
    "usedTiles": 29,
    "steepUpTiles": 5,
    "steepDownTiles": 1,
    "openEnd": 0
  }
}
"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because Power Bombs can be farmed from the Scisers.

From: 1
Left Door
To: 1
Left Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 33,
    "steepUpTiles": 2,
    "steepDownTiles": 5,
    "openEnd": 0
  }
}
{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        "h_CrystalSparkWithoutLenience"
      ]
    }
  ]
}

Dev note: No lenience, because Power Bombs can be farmed from the Scisers.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 7,
    "openEnd": 0,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Junction (Right side Pit)
To: 4
Junction (Right side Pit)

Requires:

"Gravity"
{
  "canShineCharge": {
    "usedTiles": 22,
    "steepUpTiles": 3,
    "steepDownTiles": 3,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 10,
    "openEnd": 0,
    "steepUpTiles": 2,
    "steepDownTiles": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 12,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "or": [
            {
              "doorUnlockedAtNode": 1
            },
            {
              "doorUnlockedAtNode": 2
            }
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 13,
            "openEnd": 0
          }
        }
      ]
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 1
        },
        {
          "doorUnlockedAtNode": 2
        },
        {
          "canShineCharge": {
            "usedTiles": 14,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

{"nodeId":2,"types":["ammo"],"requires":[]}
From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Lower Section - Bottom Left Door
To: 1
Lower Section - Bottom Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 23,
    "openEnd": 0,
    "steepUpTiles": 1,
    "steepDownTiles": 6
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 5
Lower Section - Bottom Right Door
To: 5
Lower Section - Bottom Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 8,
    "openEnd": 0,
    "steepDownTiles": 2
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 12
Top Junction
To: 12
Top Junction

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 13
Bottom Junction
To: 13
Bottom Junction

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 23,
        "steepUpTiles": 6,
        "steepDownTiles": 1,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "canShineCharge": {
            "usedTiles": 24,
            "steepUpTiles": 6,
            "steepDownTiles": 1,
            "openEnd": 1
          }
        },
        {
          "doorUnlockedAtNode": 1
        }
      ]
    },
    {
      "and": [
        "Gravity",
        "h_shinechargeMaxRunway"
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 19,
    "openEnd": 1
  }
}
"h_CrystalSpark"
From: 1
Bottom Left Door
To: 1
Bottom Left Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 30,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 3
Bottom Left Door
To: 3
Bottom Left Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Right Door
To: 1
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 9,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 25,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 3
Right Door
To: 3
Right Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 30,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 21,
    "steepUpTiles": 2,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 1
Right Door
To: 1
Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 2
Bottom Right Door
To: 2
Bottom Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"

Dev note: The Yapping Maw won't notice Samus if she doesn't fall off the ledge, so there should be no risk of crashing the game.

From: 3
Top Right Door
To: 3
Top Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Right Door
To: 1
Right Door

Run into the leftmost Sidehopper with blue speed, then Crystal Spark on the solid ground at the end of the runway.

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 21,
    "openEnd": 0,
    "minExtraRunSpeed": "$1.1"
  },
  "comesInHeated": "no"
}

Requires:

"canShinechargeMovementComplex"
{
  "canShineCharge": {
    "usedTiles": 24,
    "openEnd": 0
  }
}
"h_CrystalSpark"

Clears obstacles: A, B

Dev note: An in-room variant is not included, because it would require resetting the room each attempt and dealing with the Sidehoppers.

From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        {
          "or": [
            "HiJump",
            "canWalljump",
            "SpaceJump",
            "canIBJ",
            "canSpringBallJumpMidAir"
          ]
        },
        "h_CrystalSparkWithoutLenience"
      ]
    }
  ]
}

Dev note: Lenience is not included for variants that can kill the Zeros and climb back up quickly.

From: 2
Middle Left Door
To: 2
Middle Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 8,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSparkWithoutLenience"

Clears obstacles: B

Dev note: No lenience, because Power Bombs can be farmed from the Zeros.

From: 3
Bottom Left Door
To: 3
Bottom Left Door

Entrance condition:

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

Requires:

"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because Power Bombs can be farmed from the Zeros.

From: 4
Bottom Right Door
To: 4
Bottom Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        {
          "or": [
            "HiJump",
            "canWalljump",
            "SpaceJump",
            "canIBJ",
            "canSpringBallJumpMidAir"
          ]
        },
        "h_CrystalSparkWithoutLenience"
      ]
    }
  ]
}

Dev note: Lenience is not included. Only variants that can kill the Zeros and climb back up quickly are included. This room is shorter than the 3 tile limit normally used for these strats; it is only included because it has a good Power Bomb farm.

From: 5
Top Right Door (Through Morph Tunnel)
To: 5
Top Right Door (Through Morph Tunnel)

Entrance condition:

{
  "comeInShinecharging": {
    "length": 7,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        {
          "or": [
            "HiJump",
            "canWalljump",
            "SpaceJump",
            "canIBJ",
            "canSpringBallJumpMidAir"
          ]
        },
        "h_CrystalSparkWithoutLenience"
      ]
    }
  ]
}

Dev note: Lenience is not included for variants that can kill the Zeros and climb back up quickly.

From: 5
Top Right Door (Through Morph Tunnel)
To: 5
Top Right Door (Through Morph Tunnel)

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 17,
    "openEnd": 0
  }
}
{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        {
          "or": [
            "HiJump",
            "canWalljump",
            "SpaceJump",
            "canIBJ",
            "canSpringBallJumpMidAir"
          ]
        },
        "h_CrystalSparkWithoutLenience"
      ]
    }
  ]
}
{
  "resetRoom": {
    "nodes": [
      5
    ]
  }
}

Clears obstacles: A

Resets obstacles: B

Dev note: Lenience is not included for variants that can kill the Zeros and climb back up quickly. Requires resetting the room at 5, to prevent requiring doing something slow to open the gate.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because reloading from the save is possible. This room is shorter than the 3 tile limit normally used for these strats; it is only included because it has a save.

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 8,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 5,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        "h_CrystalSparkWithoutLenience",
        {
          "or": [
            "Grapple",
            "SpaceJump"
          ]
        }
      ]
    }
  ]
}

Dev note: No lenience, for variants that can quickly farm Power Bombs from the Firefleas.

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because Power Bombs can be farmed from the Firefleas.

From: 1
Top Left Door
To: 1
Top Left Door

Avoid getting blue until the end of the runway. It is possible to farm Power Bombs from the Beetom below.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 10,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

{
  "or": [
    "h_CrystalSpark",
    {
      "and": [
        "canBePatient",
        "h_CrystalSparkWithoutLenience"
      ]
    }
  ]
}
From: 2
Middle Left Door (Behind Power Bomb Blocks)
To: 2
Middle Left Door (Behind Power Bomb Blocks)

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSparkWithoutLenience"

Clears obstacles: A

Dev note: No lenience, because the Power Bomb will kill the Beetom which will give a Power Bomb. This room is shorter than the 3 tile limit normally used for these strats; it is only included because it has a good Power Bomb farm.

From: 3
Bottom Left Door
To: 3
Bottom Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Bottom Right Door
To: 4
Bottom Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 5
Top Right Door
To: 5
Top Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 7
Junction (Bottom of Room)
To: 7
Junction (Bottom of Room)

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 12,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "or": [
            {
              "doorUnlockedAtNode": 3
            },
            {
              "doorUnlockedAtNode": 4
            }
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 13,
            "openEnd": 0
          }
        }
      ]
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 3
        },
        {
          "doorUnlockedAtNode": 4
        },
        {
          "canShineCharge": {
            "usedTiles": 14,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

{"nodeId":3,"types":["ammo"],"requires":[]}
{"nodeId":4,"types":["ammo"],"requires":[]}
From: 1
Right Door
To: 1
Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Right Door
To: 1
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 7,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Top Right Door
To: 2
Top Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSparkWithoutLenience"
"h_MissileRefillStationAllAmmo"

Dev note: No lenience, if the refill station refills Power Bombs. This room is shorter than the 3 tile limit normally used for these strats; it is only included if it can refill Power Bombs.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Requires:

"h_CrystalSpark"

Clears obstacles: door_1

From: 1
Left Door
To: 1
Left Door

Requires:

{
  "or": [
    "f_DefeatedKraid",
    {
      "obstaclesCleared": [
        "f_DefeatedKraid"
      ]
    }
  ]
}
{
  "canShineCharge": {
    "usedTiles": 22,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

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

Requires:

{
  "or": [
    {
      "or": [
        "f_DefeatedKraid",
        {
          "obstaclesCleared": [
            "f_DefeatedKraid"
          ]
        }
      ]
    },
    "h_KraidCameraFix"
  ]
}
"h_CrystalSpark"

Clears obstacles: door_2

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 2,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because reloading from the save is possible. This room is shorter than the 3 tile limit normally used for these strats; it is only included because it has a save.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 13,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 13,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 1
        },
        {
          "canShineCharge": {
            "usedTiles": 14,
            "openEnd": 0
          }
        }
      ]
    },
    {
      "and": [
        {
          "obstaclesCleared": [
            "A"
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 17,
            "openEnd": 1
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

{"types":["ammo"],"requires":[]}
From: 3
Right Door
To: 3
Right Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 17,
    "openEnd": 1
  }
}
"h_CrystalSpark"

Dev note: FIXME: Coming in from the left would incorrectly require a Super to get here and another to return.

From: 1
Left Vertical Door
To: 1
Left Vertical Door

Requires:

{
  "obstaclesCleared": [
    "C"
  ]
}
{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 17,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "obstaclesNotCleared": [
            "D"
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 31,
            "openEnd": 1
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Dev note: FIXME: This assumes the left door is not a Power Bomb locked door. Otherwise Samus would need to shinecharge the other direction and would break the floor blocks

From: 2
Bottom Right Door
To: 2
Bottom Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 8,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 3
Top Right Door
To: 3
Top Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 5,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Bottom Left Door
To: 2
Bottom Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Top Right Door
To: 2
Top Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 6,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_heatedCrystalSpark"
From: 1
Left Side - Top Door
To: 1
Left Side - Top Door

Entrance condition:

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

Requires:

"canTrickyDodgeEnemies"
"h_CrystalSpark"
From: 3
Left Side - Bottom Middle Door
To: 3
Left Side - Bottom Middle Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 5,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Left Side - Bottom Door
To: 4
Left Side - Bottom Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 6
Middle Right Door
To: 6
Middle Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Right Door
To: 1
Right Door

Entrance condition:

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

Requires:

"h_CrystalSparkWithoutLenience"

Dev note: No lenience, because reloading from the save is possible.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

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

Requires:

"h_heatedCrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

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

Requires:

"h_heatedCrystalSpark"
From: 2
Bottom Door
To: 2
Bottom Door

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 36,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 2
Top Door
To: 2
Top Door

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

{
  "comeInGettingBlueSpeed": {
    "length": 28,
    "openEnd": 0
  }
}

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 1
Top Left Door
To: 1
Top Left Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 28,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 2
Middle Left Door
To: 2
Middle Left Door

Requires:

{
  "not": "f_DefeatedPhantoon"
}
"canRiskPermanentLossOfAccess"
"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 4
Bottom Chozo Item
To: 4
Bottom Chozo Item

Requires:

{
  "obstaclesCleared": [
    "A"
  ]
}
"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 1
Top Left Door
To: 1
Top Left Door

Entrance condition:

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

Requires:

{
  "not": "f_DefeatedPhantoon"
}
"canRiskPermanentLossOfAccess"
"h_CrystalSpark"

Dev note: This requires the power off, because otherwise the sparks deal damage, and ending the runway just a bit shorter is too short to consider for a crystal spark.

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0,
    "steepDownTiles": 3
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 12,
        "steepUpTiles": 3,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 2
        },
        {
          "canShineCharge": {
            "usedTiles": 13,
            "steepUpTiles": 3,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

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

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"

Dev note: FIXME: This needs the item to be either collected or not spawned.

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"

Dev note: FIXME: This needs the item to be either collected or not spawned.

From: 3
Item
To: 3
Item

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 12,
        "openEnd": 0
      }
    },
    {
      "and": [
        {
          "or": [
            {
              "doorUnlockedAtNode": 1
            },
            {
              "doorUnlockedAtNode": 2
            }
          ]
        },
        {
          "canShineCharge": {
            "usedTiles": 13,
            "openEnd": 0
          }
        }
      ]
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 1
        },
        {
          "doorUnlockedAtNode": 2
        },
        {
          "canShineCharge": {
            "usedTiles": 14,
            "openEnd": 0
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"

Unlocks doors:

{"nodeId":1,"types":["ammo"],"requires":[]}
{"nodeId":2,"types":["ammo"],"requires":[]}

Dev note: FIXME: This needs the item to be either collected or not spawned.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 9,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"

Dev note: FIXME: The conveyor can make this longer if Phantoon is killed, but in a complex way.

From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 20,
    "openEnd": 0,
    "steepDownTiles": 3
  },
  "comesInHeated": "no"
}

Requires:

{
  "or": [
    "Gravity",
    {
      "and": [
        {
          "not": "f_DefeatedPhantoon"
        },
        "canRiskPermanentLossOfAccess"
      ]
    }
  ]
}
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 3,
    "openEnd": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "or": [
    "Gravity",
    {
      "and": [
        {
          "not": "f_DefeatedPhantoon"
        },
        "canRiskPermanentLossOfAccess"
      ]
    }
  ]
}
{
  "canShineCharge": {
    "usedTiles": 20,
    "steepUpTiles": 3,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 8,
    "openEnd": 0,
    "steepUpTiles": 2
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4.5,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "not": "f_DefeatedPhantoon"
}
"canRiskPermanentLossOfAccess"
{
  "canShineCharge": {
    "usedTiles": 14,
    "openEnd": 0
  }
}
"h_CrystalSpark"

Dev note: With the power on, this gives a longer runway, but it is not reasonable to get to solid ground and place the Power Bomb.

Entrance condition:

{
  "comeInShinecharging": {
    "length": 7,
    "openEnd": 0,
    "steepDownTiles": 2
  },
  "comesInHeated": "no"
}

Requires:

{
  "or": [
    "Gravity",
    {
      "and": [
        {
          "not": "f_DefeatedPhantoon"
        },
        "canRiskPermanentLossOfAccess"
      ]
    }
  ]
}
"h_CrystalSpark"

Entrance condition:

{
  "comeInShinecharging": {
    "length": 4,
    "openEnd": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

If the power is on, shinecharge near the doorway to no have the conveyor interfere with the Crystal Spark.

Requires:

"h_shinechargeMaxRunway"
"h_CrystalSpark"
From: 2
Top Left Door
To: 2
Top Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 5,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 3
Bottom Left Door
To: 3
Bottom Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 13,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Top Right Door
To: 4
Top Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0,
    "steepDownTiles": 7
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 4
Top Right Door
To: 4
Top Right Door

Shinecharge near the top right door.

Requires:

{
  "or": [
    {
      "canShineCharge": {
        "usedTiles": 12,
        "steepUpTiles": 7,
        "openEnd": 1
      }
    },
    {
      "and": [
        {
          "doorUnlockedAtNode": 4
        },
        {
          "canShineCharge": {
            "usedTiles": 13,
            "steepUpTiles": 7,
            "openEnd": 1
          }
        }
      ]
    }
  ]
}
"h_CrystalSpark"
From: 5
Middle Right Door
To: 5
Middle Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 11,
    "openEnd": 0,
    "steepDownTiles": 6
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 6
Bottom Right Door
To: 6
Bottom Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"

Shinecharge on the left of the tunnel near the left item. This requires the power to be off because of the conveyors. Shinecharge right to left or left to right then move to the left a bit to avoid the low ceiling.

Requires:

{
  "not": "f_DefeatedPhantoon"
}
"canRiskPermanentLossOfAccess"
{
  "canShineCharge": {
    "usedTiles": 16,
    "steepUpTiles": 5,
    "openEnd": 0
  }
}
"h_CrystalSpark"

Dev note: The runway is actually a half tile longer, but this will help prevent being stuck in the section with the low ceiling.

From: 1
Right Door
To: 1
Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"
From: 1
Left Doorway
To: 1
Left Doorway

Requires:

{
  "canShineCharge": {
    "usedTiles": 15,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "canShineCharge": {
    "usedTiles": 28,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Requires:

{
  "or": [
    "f_KilledMetroidRoom1",
    {
      "obstaclesCleared": [
        "f_KilledMetroidRoom1"
      ]
    }
  ]
}
{
  "canShineCharge": {
    "usedTiles": 23,
    "openEnd": 1
  }
}
"h_CrystalSpark"

Dev note: FIXME: This may be possible with the Metroids alive, but is probably not worth considering.

From: 2
Right Door
To: 2
Right Door

Requires:

{
  "or": [
    "f_KilledMetroidRoom1",
    {
      "obstaclesCleared": [
        "f_KilledMetroidRoom1"
      ]
    }
  ]
}
{
  "canShineCharge": {
    "usedTiles": 31,
    "openEnd": 1
  }
}
"h_CrystalSpark"

Dev note: FIXME: This may be possible with the Metroids alive, but is probably not worth considering.

From: 1
Left Door
To: 1
Left Door

The Rinka spawns can make this a bit tricky. Shinecharge right to left and Crystal Spark before the end of the runway, or left to right and quickly move to the right platform to avoid the Rinkas.

Requires:

{
  "or": [
    "f_KilledMetroidRoom3",
    {
      "obstaclesCleared": [
        "f_KilledMetroidRoom3"
      ]
    }
  ]
}
{
  "canShineCharge": {
    "usedTiles": 29,
    "openEnd": 1
  }
}
"canInsaneJump"
"h_CrystalSpark"

Dev note: FIXME: This may be possible with the Metroids alive, or shinecharging in using the right door but both are probably not worth considering.

From: 3
Bottom Left Door
To: 3
Bottom Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 12,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 1
Right Doorway
To: 1
Right Doorway

Requires:

{
  "canShineCharge": {
    "usedTiles": 21,
    "openEnd": 0
  }
}
"h_CrystalSpark"
From: 1
Left Door
To: 2
Right Door

Requires:

"canSpeedyJump"
"h_shinechargeMaxRunway"
"h_CrystalSpark"

Clears obstacles: A

Dev note: This is listed here because its free to get from 1 to 2 with SpeedBooster alone, but only with being able to dash.

From: 2
Right Door
To: 2
Right Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 5,
    "openEnd": 1
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}
{
  "canShineCharge": {
    "usedTiles": 25,
    "openEnd": 1
  }
}
"h_CrystalSpark"
From: 4
Top of Shaft Without Acid Triggered
To: 4
Top of Shaft Without Acid Triggered

Requires:

{
  "canShineCharge": {
    "usedTiles": 25,
    "openEnd": 1
  }
}
"h_CrystalSpark"
From: 1
Left Door
To: 1
Left Door

Entrance condition:

{
  "comeInShinecharging": {
    "length": 7,
    "openEnd": 0
  },
  "comesInHeated": "no"
}

Requires:

"h_CrystalSpark"
From: 2
Right Door
To: 2
Right Door

Entrance condition:

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

Requires:

"h_CrystalSpark"