Skip to content

Commit b3c8e2e

Browse files
authored
Merge pull request #1977 from blkerby/stutter-shinecharge
Refine Precious Room shinecharge/shinespark strats
2 parents d033a4f + 85b817b commit b3c8e2e

3 files changed

Lines changed: 233 additions & 98 deletions

File tree

region/maridia/inner-pink/The Precious Room.json

Lines changed: 211 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@
5353
[1, 0],
5454
[1, 0]
5555
]
56+
},
57+
{
58+
"id": 4,
59+
"name": "Bottom Right Shinecharged",
60+
"nodeType": "junction",
61+
"nodeSubType": "junction",
62+
"note": "Gaining a shinecharge at the bottom-right of the room.",
63+
"mapTileMask": [
64+
[1, 1],
65+
[1, 0],
66+
[2, 0]
67+
]
5668
}
5769
],
5870
"enemies": [],
@@ -72,14 +84,22 @@
7284
"from": 2,
7385
"to": [
7486
{"id": 1},
75-
{"id": 2}
87+
{"id": 2},
88+
{"id": 4}
7689
]
7790
},
7891
{
7992
"from": 3,
8093
"to": [
8194
{"id": 1}
8295
]
96+
},
97+
{
98+
"from": 4,
99+
"to": [
100+
{"id": 1},
101+
{"id": 2}
102+
]
83103
}
84104
],
85105
"strats": [
@@ -183,49 +203,48 @@
183203
"canDelayedWalljump"
184204
]
185205
},
186-
{
187-
"id": 9,
188-
"link": [2, 1],
189-
"name": "Shinespark",
190-
"entranceCondition": {
191-
"comeInShinecharging": {
192-
"length": 12,
193-
"openEnd": 0
194-
}
195-
},
196-
"requires": [
197-
"Gravity",
198-
{"shinespark": {"frames": 40, "excessFrames": 8}}
199-
]
200-
},
201206
{
202207
"id": 10,
203208
"link": [2, 1],
204-
"name": "Shinespark, Come in Shinecharged",
209+
"name": "Come in Shinecharged, Shinespark (Gravity)",
205210
"entranceCondition": {
206211
"comeInShinecharged": {}
207212
},
208213
"requires": [
209-
{"shineChargeFrames": 40},
210214
"Gravity",
211-
{"shinespark": {"frames": 40, "excessFrames": 8}}
215+
{"or": [
216+
{"and": [
217+
{"shineChargeFrames": 20},
218+
{"shinespark": {"frames": 40, "excessFrames": 8}}
219+
]},
220+
{"and": [
221+
{"shineChargeFrames": 30},
222+
"canMidairShinespark",
223+
{"shinespark": {"frames": 33, "excessFrames": 8}}
224+
]}
225+
]}
212226
],
213227
"flashSuitChecked": true
214228
},
215229
{
216230
"id": 11,
217231
"link": [2, 1],
218-
"name": "Suitless Shinespark",
232+
"name": "Come In Shinecharged, Shinespark (Suitless)",
219233
"entranceCondition": {
220234
"comeInShinecharged": {}
221235
},
222236
"requires": [
223-
{"shineChargeFrames": 60},
237+
{"shineChargeFrames": 40},
224238
"canSuitlessMaridia",
225-
{"shinespark": {"frames": 40, "excessFrames": 8}}
239+
{"or": [
240+
{"shinespark": {"frames": 40, "excessFrames": 8}},
241+
{"and": [
242+
"canMidairShinespark",
243+
{"shinespark": {"frames": 37, "excessFrames": 8}}
244+
]}
245+
]}
226246
],
227-
"flashSuitChecked": true,
228-
"note": "It takes a bit more time to set up the spark when suitless."
247+
"flashSuitChecked": true
229248
},
230249
{
231250
"id": 12,
@@ -270,53 +289,6 @@
270289
"canSpringBallJumpMidAir"
271290
]
272291
},
273-
{
274-
"id": 15,
275-
"link": [2, 1],
276-
"name": "Stutter Water Shinecharge",
277-
"entranceCondition": {
278-
"comeInRunning": {
279-
"speedBooster": true,
280-
"minTiles": 2.4375
281-
}
282-
},
283-
"requires": [
284-
"canStutterWaterShineCharge",
285-
"h_canShineChargeMaxRunway",
286-
{"shinespark": {"frames": 40, "excessFrames": 8}}
287-
]
288-
},
289-
{
290-
"id": 16,
291-
"link": [2, 1],
292-
"name": "Stutter Water Shinecharge, Leave With Temporary Blue",
293-
"entranceCondition": {
294-
"comeInRunning": {
295-
"speedBooster": true,
296-
"minTiles": 2.4375
297-
}
298-
},
299-
"requires": [
300-
"canStutterWaterShineCharge",
301-
"h_canShineChargeMaxRunway",
302-
"canXRayTurnaround",
303-
"canLongChainTemporaryBlue",
304-
{"or": [
305-
"canGravityJump",
306-
{"and": [
307-
"HiJump",
308-
"canTrickySpringBallJump"
309-
]}
310-
]}
311-
],
312-
"exitCondition": {
313-
"leaveWithTemporaryBlue": {}
314-
},
315-
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
316-
"note": [
317-
"To get out of the water at the top, do another gravity jump or spring ball jump, preferably while the water is high."
318-
]
319-
},
320292
{
321293
"id": 17,
322294
"link": [2, 1],
@@ -787,57 +759,199 @@
787759
}
788760
},
789761
{
790-
"id": 30,
762+
"id": 31,
791763
"link": [2, 2],
792-
"name": "Stutter Water Shinecharge, Leave with Spark",
764+
"name": "Crystal Flash",
765+
"requires": [
766+
"h_canCrystalFlash"
767+
],
768+
"flashSuitChecked": true
769+
},
770+
{
771+
"link": [2, 4],
772+
"name": "Come In Shinecharging (Gravity)",
793773
"entranceCondition": {
794-
"comeInRunning": {
795-
"speedBooster": true,
774+
"comeInShinecharging": {
775+
"length": 12,
776+
"openEnd": 0
777+
}
778+
},
779+
"requires": [
780+
"Gravity",
781+
{"shineChargeFrames": 0}
782+
],
783+
"endsWithShineCharge": true
784+
},
785+
{
786+
"link": [2, 4],
787+
"name": "Water Shinecharge",
788+
"entranceCondition": {
789+
"comeInShinecharging": {
790+
"length": 4,
791+
"openEnd": 0
792+
}
793+
},
794+
"requires": [
795+
"canWaterShineCharge",
796+
{"shineChargeFrames": 0}
797+
],
798+
"endsWithShineCharge": true
799+
},
800+
{
801+
"id": 15,
802+
"link": [2, 4],
803+
"name": "Precise Stutter Water Shinecharge",
804+
"entranceCondition": {
805+
"comeInStutterShinecharging": {
796806
"minTiles": 2.4375
797807
}
798808
},
799809
"requires": [
800-
"canStutterWaterShineCharge",
801-
"canShinechargeMovementComplex",
810+
"canPreciseStutterWaterShineCharge",
811+
{"shineChargeFrames": 0}
812+
],
813+
"endsWithShineCharge": true,
814+
"note": [
815+
"With only a runway length of 3 tiles (closed end) in the other room, this requires a precise setup:",
816+
"release forward for 3 or 4 frames, then repress forward on the last possible frame before the transition;",
817+
"alternatively, release forward for 2 frames and repress forward on the second-to-last possible frame before the transition."
818+
],
819+
"detailNote": [
820+
"If a longer runway is available (4 tiles), the timing windows are a bit more lenient:",
821+
"1. Release forward for 3, 4, or 5 frames, repress forward on the last possible frame;",
822+
"2. Release forward for 2 or 3 frames, repress forward on the 2nd-to-last possible frame;",
823+
"3. Release forward for 1 or 2 frames, repress forward on the 3rd-to-last possible frame."
824+
]
825+
},
826+
{
827+
"link": [2, 4],
828+
"name": "Very Precise Stutter Water Shinecharge",
829+
"entranceCondition": {
830+
"comeInStutterShinecharging": {
831+
"minTiles": 2
832+
}
833+
},
834+
"requires": [
835+
"canPreciseStutterWaterShineCharge",
836+
"canInsaneJump",
837+
{"shineChargeFrames": 0}
838+
],
839+
"endsWithShineCharge": true,
840+
"note": [
841+
"With only a runway of 2 tiles (open end) in the other room, this requires a double-frame-perfect setup:",
842+
"release forward for exactly 3 frames, and repress forward on the last possible frame before the transition."
843+
],
844+
"devNote": [
845+
"FIXME: canInsaneJump is for difficulty placement; replace with a more appropriate tech since no jump is involved."
846+
]
847+
},
848+
{
849+
"id": 32,
850+
"link": [3, 1],
851+
"name": "Base",
852+
"requires": [
853+
{"or": [
854+
"h_canNavigateUnderwater",
855+
"Grapple",
856+
"SpaceJump"
857+
]}
858+
]
859+
},
860+
{
861+
"link": [4, 1],
862+
"name": "Start Shinecharged, Shinespark",
863+
"startsWithShineCharge": true,
864+
"requires": [
865+
{"shineChargeFrames": 60},
866+
{"or": [
867+
{"shinespark": {"frames": 40, "excessFrames": 8}},
868+
{"and": [
869+
"canMidairShinespark",
870+
{"shinespark": {"frames": 37, "excessFrames": 8}}
871+
]},
872+
{"and": [
873+
"Gravity",
874+
"canMidairShinespark",
875+
{"shinespark": {"frames": 33, "excessFrames": 8}}
876+
]}
877+
]}
878+
]
879+
},
880+
{
881+
"id": 16,
882+
"link": [4, 1],
883+
"name": "Start Shinecharged, Leave With Temporary Blue",
884+
"startsWithShineCharge": true,
885+
"requires": [
802886
"h_canShineChargeMaxRunway",
887+
{"shineChargeFrames": 0},
888+
"canXRayTurnaround",
889+
"canLongChainTemporaryBlue",
803890
{"or": [
804-
{"shinespark": {"frames": 12}},
891+
"canGravityJump",
805892
{"and": [
806-
"canShinechargeMovementTricky",
807-
{"shinespark": {"frames": 3}}
893+
"HiJump",
894+
"canTrickySpringBallJump"
808895
]}
809896
]}
810897
],
898+
"exitCondition": {
899+
"leaveWithTemporaryBlue": {}
900+
},
901+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
902+
"note": [
903+
"To get out of the water at the top, do another gravity jump or spring ball jump, preferably while the water is high."
904+
]
905+
},
906+
{
907+
"id": 30,
908+
"link": [4, 2],
909+
"name": "Start Shinecharged, Leave with Spark",
910+
"startsWithShineCharge": true,
911+
"requires": [
912+
{"shineChargeFrames": 50},
913+
"canShinechargeMovementComplex",
914+
{"shinespark": {"frames": 12}}
915+
],
811916
"exitCondition": {
812917
"leaveWithSpark": {}
813918
},
814919
"unlocksDoors": [
815920
{"types": ["missiles", "super"], "requires": []},
816921
{"types": ["powerbomb"], "requires": ["never"]}
817-
],
818-
"note": "Enter the room with a careful amount of momentum where Samus must spend extra time slowing down during the stutter, but must not have much run speed."
922+
]
819923
},
820924
{
821-
"id": 31,
822-
"link": [2, 2],
823-
"name": "Crystal Flash",
925+
"link": [4, 2],
926+
"name": "Start Shinecharged, Leave Shinecharged",
927+
"startsWithShineCharge": true,
824928
"requires": [
825-
"h_canCrystalFlash"
929+
{"shineChargeFrames": 155},
930+
"canShinechargeMovementTricky"
826931
],
827-
"flashSuitChecked": true
932+
"exitCondition": {
933+
"leaveShinecharged": {}
934+
},
935+
"unlocksDoors": [
936+
{"types": ["missiles", "super"], "requires": []},
937+
{"types": ["powerbomb"], "requires": ["never"]}
938+
]
828939
},
829940
{
830-
"id": 32,
831-
"link": [3, 1],
832-
"name": "Base",
941+
"link": [4, 2],
942+
"name": "Start Shinecharged, Leave With Temporary Blue",
943+
"startsWithShineCharge": true,
833944
"requires": [
834-
{"or": [
835-
"h_canNavigateUnderwater",
836-
"Grapple",
837-
"SpaceJump"
838-
]}
839-
]
840-
}
945+
"h_canShineChargeMaxRunway",
946+
{"shineChargeFrames": 0},
947+
"canXRayTurnaround",
948+
"canChainTemporaryBlue"
949+
],
950+
"exitCondition": {
951+
"leaveWithTemporaryBlue": {}
952+
},
953+
"unlocksDoors": [{"types": ["ammo"], "requires": []}]
954+
}
841955
],
842956
"notables": [],
843957
"nextStratId": 41,

0 commit comments

Comments
 (0)