From 31a868f43a92254d7c38c1853bbeaf4011b9e9ec Mon Sep 17 00:00:00 2001 From: kjbranch Date: Wed, 1 Apr 2026 00:31:08 -0600 Subject: [PATCH 1/5] Add Crystal Sparks in West Maridia --- region/maridia/outer/Boyon Gate Hall.json | 91 ++++++++++++++ region/maridia/outer/Crab Gate Room.json | 91 ++++++++++++++ region/maridia/outer/Crab Hole.json | 84 +++++++++++++ region/maridia/outer/Fish Tank.json | 14 +++ region/maridia/outer/Main Street.json | 114 ++++++++++++++++++ region/maridia/outer/Mama Turtle Room.json | 62 ++++++++++ region/maridia/outer/Maridia Map Room.json | 17 +++ .../maridia/outer/Maridia Tube Save Room.json | 42 +++++++ region/maridia/outer/Maridia Tube.json | 26 ++++ region/maridia/outer/Mt. Everest.json | 35 ++++++ .../outer/West Maridia Tube Tunnel.json | 60 +++++++++ 11 files changed, 636 insertions(+) diff --git a/region/maridia/outer/Boyon Gate Hall.json b/region/maridia/outer/Boyon Gate Hall.json index ab5a0bb6d..ab1296d92 100644 --- a/region/maridia/outer/Boyon Gate Hall.json +++ b/region/maridia/outer/Boyon Gate Hall.json @@ -153,6 +153,50 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 12, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [1, 1], + "name": "Crystal Spark (In-Room)", + "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" + ], + "unlocksDoors": [ + {"nodeId": 1, "types": ["ammo"], "requires": []}, + {"nodeId": 2, "types": ["ammo"], "requires": []} + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, { "id": 68, "link": [1, 1], @@ -762,6 +806,22 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [2, 2], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 12, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, { "id": 70, "link": [2, 2], @@ -1267,6 +1327,37 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [3, 3], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 7, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [3, 3], + "name": "Crystal Spark (In-Room)", + "requires": [ + {"obstaclesCleared": ["A"]}, + {"canShineCharge": {"usedTiles": 15, "openEnd": 1}}, + "h_CrystalSpark" + ], + "unlocksDoors": [ + {"nodeId": 1, "types": ["ammo"], "requires": []}, + {"nodeId": 2, "types": ["ammo"], "requires": []} + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, { "id": 50, "link": [3, 3], diff --git a/region/maridia/outer/Crab Gate Room.json b/region/maridia/outer/Crab Gate Room.json index 8e628a7c2..0dc6c4e90 100644 --- a/region/maridia/outer/Crab Gate Room.json +++ b/region/maridia/outer/Crab Gate Room.json @@ -440,6 +440,71 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 12, + "gentleDownTiles": 2, + "steepDownTiles": 2, + "steepUpTiles": 1, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_CrystalSparkWithoutLenience", + {"or": [ + "canBeVeryPatient", + {"ammo": {"type": "Super", "count": 2}} + ]} + ]}, + "h_CrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "This won't apply the lenience to the Super if resetting the room on the left,", + "but there are enough crabs that you'd likely only need a couple extra Supers in the worst-case scenario." + ] + }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 2 + }, + "comesInHeated": "no" + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_underwaterCrystalSparkWithoutLenience", + {"or": [ + "canBeVeryPatient", + {"ammo": {"type": "Super", "count": 2}} + ]} + ]}, + "h_underwaterCrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "This won't apply the lenience to the Super if resetting the room on the left,", + "but there are enough crabs that you'd likely only need a couple extra Supers in the worst-case scenario.", + "FIXME: This is possible with one tile, but it's a lot worse. It would be very tedious to set up for many attempts." + ] + }, { "id": 7, "link": [1, 1], @@ -1049,6 +1114,32 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [2, 2], + "name": "Crystal Spark (In-Room)", + "requires": [ + "Gravity", + "h_shinechargeMaxRunway", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_CrystalSparkWithoutLenience", + {"or": [ + "canBeVeryPatient", + {"ammo": {"type": "Super", "count": 2}}, + {"resetRoom": {"nodes": [2]}} + ]} + ]}, + "h_CrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "This won't apply the lenience to the Super if resetting the room on the left,", + "but there are enough crabs that you'd likely only need a couple extra Supers in the worst-case scenario." + ] + }, { "id": 46, "link": [2, 2], diff --git a/region/maridia/outer/Crab Hole.json b/region/maridia/outer/Crab Hole.json index 0996bca87..1b3f5999f 100644 --- a/region/maridia/outer/Crab Hole.json +++ b/region/maridia/outer/Crab Hole.json @@ -189,6 +189,48 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 2, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + "h_enemyDrops", + "h_CrystalSparkWithoutLenience" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "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." + ] + }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "entranceCondition": { + "comeInShinecharging": { + "length": 1, + "openEnd": 1 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_enemyDrops", + "h_underwaterCrystalSparkWithoutLenience" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "This room is shorter than the 3 tile limit normally used for these strats;", + "in fact, this runway will not add any usable distance; it is only included because it has a good Power Bomb farm." + ] + }, { "id": 5, "link": [1, 1], @@ -4524,6 +4566,48 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [4, 4], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 2, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + "h_enemyDrops", + "h_CrystalSparkWithoutLenience" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "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." + ] + }, + { + "link": [4, 4], + "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "entranceCondition": { + "comeInShinecharging": { + "length": 1, + "openEnd": 1 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_enemyDrops", + "h_underwaterCrystalSparkWithoutLenience" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "This room is shorter than the 3 tile limit normally used for these strats;", + "in fact, this runway will not add any usable distance; it is only included because it has a good Power Bomb farm." + ] + }, { "id": 111, "link": [4, 4], diff --git a/region/maridia/outer/Fish Tank.json b/region/maridia/outer/Fish Tank.json index af7eda2fa..fa4824c11 100644 --- a/region/maridia/outer/Fish Tank.json +++ b/region/maridia/outer/Fish Tank.json @@ -1786,6 +1786,20 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [2, 2], + "name": "Crystal Spark (In-Room)", + "requires": [ + "Gravity", + "h_shinechargeMaxRunway", + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "This can be done suitless while coming in with a shinecharge, but this is unreasonable with the blind runway." + ] + }, { "id": 114, "link": [2, 2], diff --git a/region/maridia/outer/Main Street.json b/region/maridia/outer/Main Street.json index 2fc4eca07..f543585bc 100644 --- a/region/maridia/outer/Main Street.json +++ b/region/maridia/outer/Main Street.json @@ -1528,6 +1528,32 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [2, 2], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 4, + "steepDownTiles": 1, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_CrystalSparkWithoutLenience", + "canBeVeryPatient" + ]}, + "h_CrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": ["With enough patience, there is no lenience, because Power Bombs can be farmed from the Scisers."] + }, { "id": 40, "link": [2, 2], @@ -3037,6 +3063,41 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [3, 3], + "name": "Crystal Spark", + "requires": [ + "Gravity", + {"or": [ + {"canShineCharge": { + "usedTiles": 24, + "gentleUpTiles": 3, + "gentleDownTiles": 3, + "openEnd": 0 + }}, + {"and": [ + {"doorUnlockedAtNode": 3}, + {"canShineCharge": { + "usedTiles": 25, + "gentleUpTiles": 3, + "gentleDownTiles": 3, + "openEnd": 0 + }} + ]} + ]}, + {"or": [ + {"and": [ + "h_enemyDrops", + "h_CrystalSparkWithoutLenience", + "canBeVeryPatient" + ]}, + "h_CrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": ["With enough patience, there is no lenience, because Power Bombs can be farmed from the Scisers."] + }, { "id": 233, "link": [3, 3], @@ -4167,6 +4228,59 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [4, 4], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 14, + "steepDownTiles": 2, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_CrystalSparkWithoutLenience", + "canBeVeryPatient" + ]}, + "h_CrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": ["With enough patience, there is no lenience, because Power Bombs can be farmed from the Scisers."] + }, + { + "link": [4, 4], + "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 2 + }, + "comesInHeated": "no" + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_underwaterCrystalSparkWithoutLenience", + "canBeVeryPatient" + ]}, + "h_underwaterCrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "With enough patience, there is no lenience, because Power Bombs can be farmed from the Scisers.", + "FIXME: This is possible with one tile, but it's a lot worse. It would be very tedious to set up for many attempts." + ] + }, { "id": 105, "link": [4, 4], diff --git a/region/maridia/outer/Mama Turtle Room.json b/region/maridia/outer/Mama Turtle Room.json index 1545b27e5..dc875e7a1 100644 --- a/region/maridia/outer/Mama Turtle Room.json +++ b/region/maridia/outer/Mama Turtle Room.json @@ -485,6 +485,68 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 18, + "gentleUpTiles": 2, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [1, 1], + "name": "Crystal Spark (In-Room)", + "requires": [ + "Gravity", + {"or": [ + {"canShineCharge": { + "usedTiles": 18, + "gentleUpTiles": 2, + "openEnd": 0 + }}, + {"and": [ + {"doorUnlockedAtNode": 1}, + {"canShineCharge": { + "usedTiles": 19, + "gentleUpTiles": 2, + "openEnd": 0 + }} + ]} + ]}, + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 2 + }, + "comesInHeated": "no" + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "h_underwaterCrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "FIXME: This is possible with one tile, but it's a lot worse. It would be very tedious to set up for many attempts." + ] + }, { "id": 68, "link": [1, 1], diff --git a/region/maridia/outer/Maridia Map Room.json b/region/maridia/outer/Maridia Map Room.json index d847e3c3a..5e5a71231 100644 --- a/region/maridia/outer/Maridia Map Room.json +++ b/region/maridia/outer/Maridia Map Room.json @@ -59,6 +59,23 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 3, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, { "id": 3, "link": [1, 2], diff --git a/region/maridia/outer/Maridia Tube Save Room.json b/region/maridia/outer/Maridia Tube Save Room.json index ada0b37ae..c5419ef54 100644 --- a/region/maridia/outer/Maridia Tube Save Room.json +++ b/region/maridia/outer/Maridia Tube Save Room.json @@ -59,6 +59,48 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark (Gravity)", + "entranceCondition": { + "comeInShinecharging": { + "length": 2, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + "h_CrystalSparkWithoutLenience" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "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." + ] + }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 1, + "openEnd": 1 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_underwaterCrystalSparkWithoutLenience" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "No lenience, because reloading from the save is possible.", + "This room is shorter than the 3 tile limit normally used for these strats;", + "in fact, this runway will not add any usable distance; it is only included because it has a save." + ] + }, { "id": 3, "link": [1, 2], diff --git a/region/maridia/outer/Maridia Tube.json b/region/maridia/outer/Maridia Tube.json index aa62471a3..11d53348c 100644 --- a/region/maridia/outer/Maridia Tube.json +++ b/region/maridia/outer/Maridia Tube.json @@ -1391,6 +1391,32 @@ "flashSuitChecked": false, "blueSuitChecked": true }, + { + "link": [2, 2], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 4, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + {"or": [ + "Gravity", + {"and": [ + {"not": "f_MaridiaTubeBroken"}, + "canRiskPermanentLossOfAccess" + ]} + ]}, + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "There is no variant of this at node 1 or 3 with canRiskPermanentLossOfAccess, because it would require a first-try Crystal Spark." + ] + }, { "id": 37, "link": [2, 2], diff --git a/region/maridia/outer/Mt. Everest.json b/region/maridia/outer/Mt. Everest.json index ea8e68353..e5ca86f40 100644 --- a/region/maridia/outer/Mt. Everest.json +++ b/region/maridia/outer/Mt. Everest.json @@ -1238,6 +1238,24 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [2, 2], + "name": "Crystal Spark", + "requires": [ + "Gravity", + "h_shinechargeMaxRunway", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_CrystalSparkWithoutLenience" + ]}, + "h_CrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": ["No lenience, because Power Bombs can be farmed from the Scisers."] + }, { "id": 275, "link": [2, 2], @@ -3340,6 +3358,23 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [4, 4], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 3, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "Gravity", + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, { "id": 104, "link": [4, 4], diff --git a/region/maridia/outer/West Maridia Tube Tunnel.json b/region/maridia/outer/West Maridia Tube Tunnel.json index 0dbe85229..16b99dd0f 100644 --- a/region/maridia/outer/West Maridia Tube Tunnel.json +++ b/region/maridia/outer/West Maridia Tube Tunnel.json @@ -78,6 +78,50 @@ "flashSuitChecked": true, "blueSuitChecked": true }, + { + "link": [1, 1], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 12, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, + { + "link": [1, 1], + "name": "Crystal Spark (In-Room)", + "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" + ], + "unlocksDoors": [ + {"nodeId": 1, "types": ["ammo"], "requires": []}, + {"nodeId": 2, "types": ["ammo"], "requires": []} + ], + "flashSuitChecked": true, + "blueSuitChecked": true + }, { "id": 4, "link": [1, 2], @@ -444,6 +488,22 @@ "unlocksDoors": [{"nodeId": 1, "types": ["ammo"], "requires": []}], "flashSuitChecked": true, "blueSuitChecked": true + }, + { + "link": [2, 2], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 12, + "openEnd": 0 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_CrystalSpark" + ], + "flashSuitChecked": true, + "blueSuitChecked": true } ], "notables": [], From 1fbcb01c0154f3ca55fb03da184a7ac578512f5e Mon Sep 17 00:00:00 2001 From: kjbranch Date: Wed, 1 Apr 2026 00:41:27 -0600 Subject: [PATCH 2/5] fix errors --- region/maridia/outer/Crab Gate Room.json | 3 ++- region/maridia/outer/Main Street.json | 27 +++++++++++++++++++++- region/maridia/outer/Mama Turtle Room.json | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/region/maridia/outer/Crab Gate Room.json b/region/maridia/outer/Crab Gate Room.json index 0dc6c4e90..86256c9b2 100644 --- a/region/maridia/outer/Crab Gate Room.json +++ b/region/maridia/outer/Crab Gate Room.json @@ -476,7 +476,7 @@ }, { "link": [1, 1], - "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "name": "Stutter Water Shinecharge, Crystal Spark", "entranceCondition": { "comeInStutterShinecharging": { "minTiles": 2 @@ -1133,6 +1133,7 @@ "h_CrystalSpark" ]} ], + "resetsObstacles": ["A"], "flashSuitChecked": true, "blueSuitChecked": true, "devNote": [ diff --git a/region/maridia/outer/Main Street.json b/region/maridia/outer/Main Street.json index f543585bc..0783a0001 100644 --- a/region/maridia/outer/Main Street.json +++ b/region/maridia/outer/Main Street.json @@ -3098,6 +3098,31 @@ "blueSuitChecked": true, "devNote": ["With enough patience, there is no lenience, because Power Bombs can be farmed from the Scisers."] }, + { + "link": [1, 1], + "name": "Stutter Water Shinecharge, Crystal Spark", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 1 + }, + "comesInHeated": "no" + }, + "requires": [ + "canStutterWaterShineCharge", + "h_shinechargeMaxRunway", + {"or": [ + {"and": [ + "h_enemyDrops", + "h_underwaterCrystalSparkWithoutLenience", + "canBeVeryPatient" + ]}, + "h_underwaterCrystalSpark" + ]} + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": ["With enough patience, there is no lenience, because Power Bombs can be farmed from the Scisers."] + }, { "id": 233, "link": [3, 3], @@ -4256,7 +4281,7 @@ }, { "link": [4, 4], - "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "name": "Stutter Water Shinecharge, Crystal Spark", "entranceCondition": { "comeInStutterShinecharging": { "minTiles": 2 diff --git a/region/maridia/outer/Mama Turtle Room.json b/region/maridia/outer/Mama Turtle Room.json index dc875e7a1..ab5b66844 100644 --- a/region/maridia/outer/Mama Turtle Room.json +++ b/region/maridia/outer/Mama Turtle Room.json @@ -530,7 +530,7 @@ }, { "link": [1, 1], - "name": "Come in Shinecharging, Crystal Spark (Suitless)", + "name": "Stutter Water Shinecharge, Crystal Spark", "entranceCondition": { "comeInStutterShinecharging": { "minTiles": 2 From f2c354a09f8417cda33fd6443da8ca22b2df65c4 Mon Sep 17 00:00:00 2001 From: kjbranch Date: Wed, 1 Apr 2026 00:43:07 -0600 Subject: [PATCH 3/5] fix error --- region/maridia/outer/Main Street.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/region/maridia/outer/Main Street.json b/region/maridia/outer/Main Street.json index 0783a0001..4a9b05f62 100644 --- a/region/maridia/outer/Main Street.json +++ b/region/maridia/outer/Main Street.json @@ -3099,7 +3099,7 @@ "devNote": ["With enough patience, there is no lenience, because Power Bombs can be farmed from the Scisers."] }, { - "link": [1, 1], + "link": [3, 3], "name": "Stutter Water Shinecharge, Crystal Spark", "entranceCondition": { "comeInStutterShinecharging": { From 2e31e2e35546dd0a39faa3e4611ce0b172563a87 Mon Sep 17 00:00:00 2001 From: kjbranch Date: Thu, 2 Apr 2026 14:52:17 -0600 Subject: [PATCH 4/5] feedback update --- region/maridia/outer/Mama Turtle Room.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/region/maridia/outer/Mama Turtle Room.json b/region/maridia/outer/Mama Turtle Room.json index ab5b66844..202f3b4ce 100644 --- a/region/maridia/outer/Mama Turtle Room.json +++ b/region/maridia/outer/Mama Turtle Room.json @@ -530,10 +530,10 @@ }, { "link": [1, 1], - "name": "Stutter Water Shinecharge, Crystal Spark", + "name": "Precise Stutter Water Shinecharge, Crystal Spark", "entranceCondition": { "comeInStutterShinecharging": { - "minTiles": 2 + "minTiles": 1 }, "comesInHeated": "no" }, From fb34dd261fdeef6b8d1c9fe227050fd0c8f8b54f Mon Sep 17 00:00:00 2001 From: kjbranch Date: Thu, 2 Apr 2026 15:33:28 -0600 Subject: [PATCH 5/5] Add Crab Gate suitless right door --- region/maridia/outer/Crab Gate Room.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/region/maridia/outer/Crab Gate Room.json b/region/maridia/outer/Crab Gate Room.json index 86256c9b2..9a21a1995 100644 --- a/region/maridia/outer/Crab Gate Room.json +++ b/region/maridia/outer/Crab Gate Room.json @@ -1141,6 +1141,27 @@ "but there are enough crabs that you'd likely only need a couple extra Supers in the worst-case scenario." ] }, + { + "link": [2, 2], + "name": "Come in Shinecharging, Crystal Spark", + "entranceCondition": { + "comeInShinecharging": { + "length": 1, + "openEnd": 1 + }, + "comesInHeated": "no" + }, + "requires": [ + "h_enemyDrops", + "h_underwaterCrystalSparkWithoutLenience" + ], + "flashSuitChecked": true, + "blueSuitChecked": true, + "devNote": [ + "No lenience, because Power Bombs can be farmed from the Scisers.", + "This runway will not add any usable distance; it is only included because it has a good farm." + ] + }, { "id": 46, "link": [2, 2],