Skip to content

Commit 2c14d08

Browse files
committed
Grapple Beam/Tutorial: blue suit logic
1 parent fc20b97 commit 2c14d08

4 files changed

Lines changed: 287 additions & 117 deletions

File tree

region/norfair/crocomire/Grapple Beam Room.json

Lines changed: 68 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@
7979
"openEnd": 1
8080
}
8181
},
82-
"flashSuitChecked": true
82+
"flashSuitChecked": true,
83+
"blueSuitChecked": true
8384
},
8485
{
8586
"id": 32,
@@ -97,6 +98,7 @@
9798
}
9899
},
99100
"flashSuitChecked": true,
101+
"blueSuitChecked": true,
100102
"devNote": "Max extra run speed $0.8"
101103
},
102104
{
@@ -109,7 +111,8 @@
109111
"blocks": [{"position": [8, 3], "note": "Closest Grapple block to the door"}]
110112
}
111113
},
112-
"flashSuitChecked": true
114+
"flashSuitChecked": true,
115+
"blueSuitChecked": true
113116
},
114117
{
115118
"id": 2,
@@ -118,14 +121,16 @@
118121
"requires": [
119122
"h_CrystalFlash"
120123
],
121-
"flashSuitChecked": true
124+
"flashSuitChecked": true,
125+
"blueSuitChecked": true
122126
},
123127
{
124128
"id": 3,
125129
"link": [1, 2],
126130
"name": "Base",
127131
"requires": [],
128-
"flashSuitChecked": true
132+
"flashSuitChecked": true,
133+
"blueSuitChecked": true
129134
},
130135
{
131136
"id": 27,
@@ -151,7 +156,8 @@
151156
},
152157
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
153158
],
154-
"flashSuitChecked": true
159+
"flashSuitChecked": true,
160+
"blueSuitChecked": true
155161
},
156162
{
157163
"id": 4,
@@ -168,7 +174,8 @@
168174
{"shineChargeFrames": 135}
169175
],
170176
"endsWithShineCharge": true,
171-
"flashSuitChecked": true
177+
"flashSuitChecked": true,
178+
"blueSuitChecked": true
172179
},
173180
{
174181
"id": 5,
@@ -181,7 +188,8 @@
181188
"canLongIBJ"
182189
]}
183190
],
184-
"flashSuitChecked": true
191+
"flashSuitChecked": true,
192+
"blueSuitChecked": true
185193
},
186194
{
187195
"id": 6,
@@ -196,7 +204,8 @@
196204
"requires": [
197205
{"shinespark": {"frames": 40}}
198206
],
199-
"flashSuitChecked": true
207+
"flashSuitChecked": true,
208+
"blueSuitChecked": true
200209
},
201210
{
202211
"id": 7,
@@ -209,7 +218,8 @@
209218
{"shineChargeFrames": 10},
210219
{"shinespark": {"frames": 40}}
211220
],
212-
"flashSuitChecked": true
221+
"flashSuitChecked": true,
222+
"blueSuitChecked": true
213223
},
214224
{
215225
"id": 28,
@@ -234,7 +244,8 @@
234244
{"types": ["super"], "requires": []},
235245
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
236246
],
237-
"flashSuitChecked": true
247+
"flashSuitChecked": true,
248+
"blueSuitChecked": true
238249
},
239250
{
240251
"id": 29,
@@ -260,7 +271,8 @@
260271
{"types": ["super"], "requires": []},
261272
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
262273
],
263-
"flashSuitChecked": true
274+
"flashSuitChecked": true,
275+
"blueSuitChecked": true
264276
},
265277
{
266278
"id": 30,
@@ -285,7 +297,8 @@
285297
{"types": ["super"], "requires": []},
286298
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
287299
],
288-
"flashSuitChecked": true
300+
"flashSuitChecked": true,
301+
"blueSuitChecked": true
289302
},
290303
{
291304
"id": 9,
@@ -298,6 +311,7 @@
298311
"canLongXRayClimb"
299312
],
300313
"flashSuitChecked": true,
314+
"blueSuitChecked": true,
301315
"note": "Climb up 2 screens."
302316
},
303317
{
@@ -316,6 +330,7 @@
316330
],
317331
"bypassesDoorShell": "yes",
318332
"flashSuitChecked": true,
333+
"blueSuitChecked": true,
319334
"note": [
320335
"Enter with G-mode direct, back up to between 1 and 6 pixels from the door transition, and activate X-ray to get very deep stuck in the door.",
321336
"Climb up 2 screens, and perform a turnaround buffered spin-jump away from the door to trigger the transition, bypassing any lock on the door."
@@ -324,12 +339,13 @@
324339
{
325340
"id": 26,
326341
"link": [2, 1],
327-
"name": "Use Flash Suit",
342+
"name": "Use Stored Spark",
328343
"requires": [
329-
{"useFlashSuit": {}},
330-
{"shinespark": {"frames": 24, "excessFrames": 5}}
344+
"h_storedSpark",
345+
{"shinespark": {"frames": 23, "excessFrames": 5}}
331346
],
332347
"flashSuitChecked": true,
348+
"blueSuitChecked": true,
333349
"note": "From the first platform on the left, spin jump and press against the next platform and spark up right."
334350
},
335351
{
@@ -345,7 +361,8 @@
345361
"requires": [
346362
"h_artificialMorphLongIBJ"
347363
],
348-
"flashSuitChecked": true
364+
"flashSuitChecked": true,
365+
"blueSuitChecked": true
349366
},
350367
{
351368
"id": 12,
@@ -369,6 +386,7 @@
369386
]}
370387
],
371388
"flashSuitChecked": true,
389+
"blueSuitChecked": true,
372390
"note": [
373391
"Get to the top of the room with Spring Ball Bomb Jumps.",
374392
"To cross the room, perform a Spring Ball Bomb Jump after hitting the bomb with momentum to get a larger horizontal boost, then unmorph on the descent to reset fall speed."
@@ -389,7 +407,8 @@
389407
"openEnd": 0
390408
}
391409
},
392-
"flashSuitChecked": true
410+
"flashSuitChecked": true,
411+
"blueSuitChecked": true
393412
},
394413
{
395414
"id": 14,
@@ -398,7 +417,8 @@
398417
"requires": [
399418
"h_CrystalFlash"
400419
],
401-
"flashSuitChecked": true
420+
"flashSuitChecked": true,
421+
"blueSuitChecked": true
402422
},
403423
{
404424
"id": 15,
@@ -412,14 +432,16 @@
412432
"canShinechargeMovementComplex"
413433
],
414434
"endsWithShineCharge": true,
415-
"flashSuitChecked": true
435+
"flashSuitChecked": true,
436+
"blueSuitChecked": true
416437
},
417438
{
418439
"id": 18,
419440
"link": [2, 3],
420441
"name": "Base",
421442
"requires": [],
422-
"flashSuitChecked": true
443+
"flashSuitChecked": true,
444+
"blueSuitChecked": true
423445
},
424446
{
425447
"id": 16,
@@ -436,7 +458,8 @@
436458
"canShinechargeMovementComplex"
437459
],
438460
"endsWithShineCharge": true,
439-
"flashSuitChecked": true
461+
"flashSuitChecked": true,
462+
"blueSuitChecked": true
440463
},
441464
{
442465
"id": 19,
@@ -450,7 +473,8 @@
450473
"canSpringBallJumpMidAir"
451474
]}
452475
],
453-
"flashSuitChecked": true
476+
"flashSuitChecked": true,
477+
"blueSuitChecked": true
454478
},
455479
{
456480
"id": 20,
@@ -463,6 +487,7 @@
463487
},
464488
"requires": [],
465489
"flashSuitChecked": true,
490+
"blueSuitChecked": true,
466491
"devNote": [
467492
"This gets to the top left of the room without walljump or crouch jump.",
468493
"Avoiding a crouch jump could be useful for preserving a flash suit.",
@@ -486,6 +511,7 @@
486511
],
487512
"wallJumpAvoid": true,
488513
"flashSuitChecked": true,
514+
"blueSuitChecked": true,
489515
"devNote": [
490516
"This is only useful as a way to preserve a flash suit without Hi-Jump or wall jump.",
491517
"FIXME: This can be possible from other rooms, with greater difficulty."
@@ -507,7 +533,8 @@
507533
"link": [3, 2],
508534
"name": "Base",
509535
"requires": [],
510-
"flashSuitChecked": true
536+
"flashSuitChecked": true,
537+
"blueSuitChecked": true
511538
},
512539
{
513540
"id": 17,
@@ -525,7 +552,8 @@
525552
{"types": ["super"], "requires": []},
526553
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
527554
],
528-
"flashSuitChecked": true
555+
"flashSuitChecked": true,
556+
"blueSuitChecked": true
529557
},
530558
{
531559
"id": 22,
@@ -537,7 +565,8 @@
537565
"canPreciseWalljump"
538566
]}
539567
],
540-
"flashSuitChecked": true
568+
"flashSuitChecked": true,
569+
"blueSuitChecked": true
541570
},
542571
{
543572
"id": 23,
@@ -548,6 +577,7 @@
548577
"canCarefulJump"
549578
],
550579
"flashSuitChecked": true,
580+
"blueSuitChecked": true,
551581
"note": "Run and jump from the second-highest platform on the left."
552582
},
553583
{
@@ -558,6 +588,7 @@
558588
"canTrickySpringBallJump"
559589
],
560590
"flashSuitChecked": true,
591+
"blueSuitChecked": true,
561592
"note": [
562593
"Starting from the second-highest platform on the left, run and jump into a mid-air Spring Ball jump.",
563594
"It helps but is not required to then unmorph to reset fall speed."
@@ -573,10 +604,22 @@
573604
"canLateralMidAirMorph"
574605
],
575606
"flashSuitChecked": true,
607+
"blueSuitChecked": true,
576608
"note": [
577609
"With SpeedBooster equipped, run from the top left platform and jump into an airball to reach the top right platform.",
578610
"It helps but is not required to moonwalk against the wall to maximize the available runway."
579611
]
612+
},
613+
{
614+
"link": [4, 1],
615+
"name": "Use Stored Spark",
616+
"requires": [
617+
"h_storedSpark",
618+
"canDash",
619+
{"shinespark": {"frames": 3, "excessFrames": 3}}
620+
],
621+
"flashSuitChecked": true,
622+
"blueSuitChecked": true
580623
}
581624
],
582625
"notables": [],

0 commit comments

Comments
 (0)