forked from vg-json-data/sm-json-data
-
Notifications
You must be signed in to change notification settings - Fork 1
/
tech.json
2592 lines (2592 loc) · 119 KB
/
tech.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"$schema": "./schema/m3-tech.schema.json",
"techCategories": [
{
"name": "General",
"description": "General configuration techs.",
"techs": [
{
"id": 1,
"name": "canBePatient",
"techRequires": [],
"otherRequires": [],
"note": "Executing a strat that requires waiting or doing the same thing over and over again for a substantial amount of time, potentially more than 1.5 minutes, even with good execution.",
"extensionTechs": [
{
"id": 2,
"name": "canBeVeryPatient",
"techRequires": [
"canBePatient"
],
"otherRequires": [],
"note": "Executing a strat that requires waiting or doing the same thing over and over again for a long time, potentially more than 3 minutes, even with good execution.",
"extensionTechs": [
{
"id": 3,
"name": "canBeExtremelyPatient",
"techRequires": [
"canBeVeryPatient"
],
"otherRequires": [],
"note": "Executing a strat that requires waiting or doing the same thing over and over again for a very long time, potentially more than 6 minutes, even with good execution."
}
]
}
]
},
{
"id": 4,
"name": "canPrepareForNextRoom",
"techRequires": [],
"otherRequires": [],
"note": [
"The ability to know which room is coming next and use that information to enter the room in a specific way.",
"This could be achieved from remembering which rooms Samus has been to, using the map to figure out which room is coming next, etc."
]
},
{
"id": 5,
"name": "canSuitlessLavaDive",
"techRequires": [],
"otherRequires": [],
"note": "Navigating deep lava without lava immunity, or deep acid. This isn't required for entering shallow lava or acid in which Samus can easily jump out of."
},
{
"id": 6,
"name": "canHeatRun",
"techRequires": [],
"otherRequires": [],
"note": "Navigating heated rooms without immunity to heat damage."
},
{
"id": 7,
"name": "canSuitlessMaridia",
"techRequires": [],
"otherRequires": [],
"note": [
"Navigating underwater without Gravity.",
"This is not required for falling down a submerged room or for simple underwater platforming, such as where missing a jump does not leave Samus stuck somewhere."
],
"extensionTechs": [
{
"id": 8,
"name": "canSunkenTileWideWallClimb",
"techRequires": [
"canSuitlessMaridia",
"canConsecutiveWalljump"
],
"otherRequires": [],
"note": [
"Using two walls spaced 1 tile apart to climb upward underwater.",
"Samus will not be able to move away from the wall while wall jumping and so will be able to continuously gain height with fast jump presses."
]
},
{
"id": 9,
"name": "canCrossRoomJumpIntoWater",
"techRequires": [
"canSuitlessMaridia"
],
"otherRequires": [],
"note": "Using the momentum from jumping through a doorway from normal to water physics."
},
{
"id": 10,
"name": "canSpaceJumpWaterBounce",
"techRequires": [
"canSuitlessMaridia"
],
"otherRequires": [
"SpaceJump"
],
"note": "Using Space Jump to bounce along the water line. It can be used to escape the water with a wall jump, or to get onto low platforms just above the water level.",
"extensionTechs": [
{
"id": 11,
"name": "canSpaceJumpWaterEscape",
"techRequires": [
"canSpaceJumpWaterBounce"
],
"otherRequires": [],
"note": "Using HiJump to escape the waterline during a Space Jump Water Bounce.",
"devNote": "Escaping tidal water without HiJump could be added as a more advanced tech."
}
]
}
]
},
{
"id": 12,
"name": "canDisableEquipment",
"techRequires": [],
"otherRequires": [],
"note": [
"Collecting equipment can make movement more difficult in certain situations.",
"Speedbooster without HiJump will reduce Samus' jump height when running and turning Speedbooster off will enable her to jump normally while running.",
"Disabling HiJump will give more time to perform a mid-air morph.",
"Disabling Gravity will allow Samus to float farther in water, or jump slower for a mid-air morph.",
"Beams may need to be disabled to control how enemies are killed (i.e. Remove plasma for canUseFrozenEnemies, or remove ice to effeciently use heat room farm points)."
],
"devNote": [
"Note that this tech is not applied requiring the item to be not collected with canRiskPermanentLossOfAccess, as this is a low-level tech.",
"Instead, it is just listed with alternate options where more items can execute the strat without disabling equipment.",
"In the logic, this is not applied to switching off beams, as that is usually intuitive enough for players even without this tech.",
"FIXME: It is also not applied to Speedbooster jumps, as that would require a lot of changes to a lot of rooms."
]
},
{
"id": 13,
"name": "canPlayInSand",
"techRequires": [],
"otherRequires": [],
"note": [
"The ability to control Samus while under the effects of sand physics.",
"This includes the ability to perform a clean jump from the top of sand,",
"to platform while impeded by sandfalls, and to escape from a sand floor in water with Gravity.",
"This also allows using a sandfall to escape a sand floor with HiJump, and using Bombs to escape a 1-tile deep sand pit,",
"and to cross on top of sand with no items, by spin jumping from the surface and canceling spin before landing.",
"This does not include simply falling through sand or touching a negligible sandfall or using Spring Ball to avoid interacting with the sand."
],
"extensionTechs": [
{
"id": 14,
"name": "canEscapeSand",
"techRequires": [
"canPlayInSand",
"canCrouchJump",
"canDownGrab",
"canSuitlessMaridia"
],
"otherRequires": [],
"note": [
"The ability to escape from the bottom of a sand pit in water without Gravity Suit.",
"This means escaping 1-tile deep pits with a sandfall overtop without HiJump but with the help of the solid ledge or a frozen enemy.",
"This also applies to escaping deeper sand pits with HiJump but no sandfall.",
"This does not include deep sand pits with a sandfall or 1-tile sand pits with no sandfall.",
"This is done by holding down and then crouch jumping to become unstuck, then transitioning to another action to ascend through the sand."
]
},
{
"id": 15,
"name": "canSandfallBounce",
"techRequires": [
"canPlayInSand",
"canSuitlessMaridia"
],
"otherRequires": [],
"note": [
"Breaking the sand line while exiting a sandfall at the same time can be used as a way to gain an irregular amount of height."
],
"devNote": "Only useful while under the effects of water physics."
},
{
"id": 16,
"name": "canSandBombBoost",
"techRequires": [
"canPlayInSand",
"canSuitlessMaridia"
],
"otherRequires": [
"Morph",
"Bombs"
],
"note": [
"Sit on the very edge of a sand pit that is flush with the ground and place a bomb.",
"Time walking into the sand so that Samus sinks slightly into the sand when the bomb explodes.",
"When the explosion propels Samus above the sand line, jump and aim down simulataneously to gain extra jump height.",
"Jumping too early will likely sink into the sand while jumping late only does not gain the full jump height."
],
"devNote": [
"FIXME: Can be done with Power Bombs instead of Morph Bombs but it usually takes many attempts.",
"Only useful while under the effects of water physics."
]
},
{
"id": 17,
"name": "canSandGrappleBoost",
"techRequires": [
"canPlayInSand",
"canSuitlessMaridia",
"canUseGrapple"
],
"otherRequires": [],
"note": [
"Sink very slightly into a sand pit with an enemy nearby, close to the sand line.",
"Jump while firing grapple and aim down as soon as Grapple hits the enemy.",
"This will allow Samus to jump higher than with just a normal jump."
],
"devNote": "Only useful while under the effects of water physics."
}
]
},
{
"id": 18,
"name": "canManageReserves",
"techRequires": [],
"otherRequires": [],
"note": [
"The ability to manage reserve energy efficiently, including the following techniques:",
"1) Avoiding wasted energy from reserves overfilling into regular energy, either manually or automatically,",
"2) Preventing a double enemy hit by having only a small amount of reserve energy when auto refilling,",
"3) Manually refilling from reserves during a shinespark to prevent the spark from ending early due to low energy."
],
"devNote": [
"This tech shouldn't need to be added to strat requirements, but should instead be accounted for by randomizers or other applications. Without this tech:",
"1) Samus' reserve energy should be logically treated as never exceeding her regular energy capacity, due to the likelihood that any extra reverse energy would be wasted by overfill.",
"2) She should never be able to take an enemy hit that deals as much or more than her regular energy capacity.",
"3) Shinesparks should not be in logic if their frames (minus excess frames) would put Samus below 29 energy.",
"4) Manually refilling in advance of an enemy hit or shinespark may still be assumed to be doable, given enough regular energy capacity, but only in a complete way that leaves reserves empty.",
"With this tech (but without canPauseAbuse tech):",
"1) If Samus takes a hit that exceeds her energy capacity, while having any reserve energy, it should logically result in 1 Energy and 0 Reserve Energy afterward, under an assumption that reserve energy was previously drained to allow i-frames to be conserved",
"2) Samus should not be required to refill twice (nor refill once particularly precisely) during a shinespark if she has no Energy Tanks, roughly if the frames minus excess frames exceeds 120."
],
"extensionTechs": [
{
"id": 19,
"name": "canPauseAbuse",
"techRequires": [
"canManageReserves"
],
"otherRequires": [],
"note": [
"The ability to pause in order to avoid death while reaching 0 Energy.",
"Energy must be obtained before the unpause fade-in finishes, either by picking up an Energy drop or refilling with Reserve Energy."
],
"devNote": [
"This tech has additional implications that should be accounted for by randomizers or other applications. With this tech:",
"1) Samus can take an enemy hit as long as her total energy (regular energy + reserve energy) is greater than what the enemy deals.",
"2) Samus can be expected to refill twice during a shinespark even with no Energy Tanks.",
"When Samus is at low energy, it would be possible with pause abuse to take less damage than what the enemy deals, but in general this is not assumed to be required."
],
"extensionTechs": [
{
"id": 20,
"name": "canReserveDoubleDamageBoost",
"techRequires": [
"canPauseAbuse",
"canNeutralDamageBoost"
],
"otherRequires": [
"ReserveTank"
],
"note": [
"The ability to pause abuse through fatal damage and then use the refill time of a Reserve Tank to take another damage boost.",
"The timing of contact with the enemy, and the pause to enable Reserves are very precise because the amount of height gained is not much.",
"Reserves must begin set to Manual and Samus' energy should reach zero with the next enemy hit.",
"Returning from the pause screen with Reserves on auto will instantly trigger a refill followed by a second enemy hit.",
"Then the screen will remain dark until another pause occurs."
]
}
]
},
{
"id": 188,
"name": "canPreciseReserveRefill",
"techRequires": [
"canManageReserves"
],
"otherRequires": [],
"note": [
"The ability to use Reserves to manually refill to an exact value.",
"To refill by one, select the Reserve Tank and press up on the same frame (right or down can instead be used if Samus has items in those locations).",
"To do this again without unpausing is requires a down and up input on consecutive frames, which is unreasonable.",
"Alternatively, if Samus has items on the right column, pressing down and right on consecutive frames works.",
"This can be useful for getting exact Reserve Energy for setting up G-Mode, or to pause abuse multiple times with minimal Energy loss."
],
"devNote": "In the vanilla/unpatched equipment screen, it is possible to move from Reserves to the right column with any item there except Screw Attack alone."
}
]
}
]
},
{
"name": "Movement",
"description": "General movement tech, excluding jumps that have their own category.",
"techs": [
{
"id": 21,
"name": "canDownGrab",
"techRequires": [],
"otherRequires": [],
"note": "The ability to aim down to reduce Samus' hitbox to reach higher ledges. Commonly paired with a Crouch Jump."
},
{
"id": 22,
"name": "canDownBack",
"techRequires": [],
"otherRequires": [],
"note": "Holding the direction buttons down and then also backwards in order to move forwards, while in the correct falling state."
},
{
"id": 23,
"name": "canStopOnADime",
"techRequires": [],
"otherRequires": [],
"note": [
"Holding the angle up or angle down buttons when no directional inputs are held will completely stop Samus in place.",
"This is used to enter elevators instantly, but can also be used to avoid being carried into some rooms by momentum."
]
},
{
"id": 24,
"name": "canMoonwalk",
"techRequires": [],
"otherRequires": [],
"note": "This is an option that can be turned on in the special setting mode after selecting a save file. It is required for some tech.",
"extensionTechs": [
{
"id": 25,
"name": "canMoonfall",
"techRequires": [
"canMoonwalk"
],
"otherRequires": [],
"note": "Jumping off a ledge while moonwalking to fall with an uncapped speed.",
"extensionTechs": [
{
"id": 26,
"name": "canMoondance",
"techRequires": [
"canMoonfall",
"canBePatient"
],
"otherRequires": [],
"note": [
"The ability to perform moonfalls a substantial number of times (176) in a row in order to sink through a solid floor.",
"Moondancing requires becoming partially trapped so that the moonfall ends in a crouch state where pressing forward returns Samus to a stand without losing the built up vertical speed.",
"Samus can become trapped inside of solid tiles or frozen enemies for the purposes of moondancing.",
"This tech assumes the enemy can be frozen again without it being killed and without a frame perfect refreeze.",
"The moondance speed value setup area does not necessarily need to be the same as where the clip is performed.",
"But the speed will be reset if Samus falls, jumps, stands up with the Up button, or takes damage.",
"In some situations it is important to stop one moonfall before clipping into the floor, at 175 moonfalls.",
"The solid floor can be many tiles below Samus in which case it may also be necessary to change Samus' hitbox while falling.",
"After 175 moonfalls, Samus' stored vertical speed is $FFE6.F400, while after 176, it is $FFE6.D800."
],
"extensionTechs": [
{
"id": 27,
"name": "canExtendedMoondance",
"techRequires": [
"canMoondance",
"canBeVeryPatient"
],
"otherRequires": [
"Grapple"
],
"note": [
"Continue the moondance an additional 146 times to clip an additional tile into the floor when clipping.",
"Every moonfall will clip Samus 1 tile into the ground and Grapple must be used to return to a standing position.",
"A frozen enemy will need to be repositioned to a lower height at the point when Samus begins clipping into the floor with every moonfall.",
"The final clip may involve clipping into a floor, and from there moonfall clipping again to sink through a total of up to 4 solid tiles.",
"After 145 additional moonfalls, Samus' stored vertical speed is $FFD6.FC00, while after 146, it is $FFD6.E000."
]
}
]
},
{
"id": 28,
"name": "canEnemyStuckMoonfall",
"techRequires": [
"canMoonfall"
],
"otherRequires": [],
"note": [
"The ability to use two enemies spaced the appropriate vertical distance apart so that Samus can Moonfall and become 'trapped' between them.",
"The uncapped fall speed will continue increasing while 'trapped'.",
"After enough time has passed, Samus can escape with enough fall speed to clip through a solid floor tile.",
"It may be necessary to change Samus' hitbox while falling to clip through the solid tile.",
"This is most commonly performed with the help of Ice Beam but can work with non damaging enemies such as snails."
]
}
]
}
]
},
{
"id": 29,
"name": "canFreeFallClip",
"techRequires": [],
"otherRequires": [],
"note": [
"The ability to fall with enough speed to clip through solid tiles without a normalized setup.",
"This can be initiated with either a Moonfall or a Grapple bounce."
]
},
{
"id": 30,
"name": "canResetFallSpeed",
"techRequires": [],
"otherRequires": [
"Morph"
],
"note": "Using unmorph as a way to reset fall speed.",
"devNote": "Taking enemy damage can get the same effect but more situations where this is used would need to be found first."
},
{
"id": 31,
"name": "canTrivialMidAirMorph",
"techRequires": [],
"otherRequires": [
"Morph"
],
"note": [
"The ability to enter Morph Ball while in the air.",
"This is only for simple variants where the vertical space and time in which Samus needs to morph is relatively unconstrained."
],
"extensionTechs": [
{
"id": 32,
"name": "canMidAirMorph",
"techRequires": [
"canTrivialMidAirMorph"
],
"otherRequires": [],
"note": [
"The ability to enter Morph Ball while in the air, where the vertical space or time in which Samus needs to morph is moderately constrained.",
"There can be an expectation to Morph quickly as well, usually following a jump from the ground.",
"In air physics this includes jumping and morphing in a 4 tile high space, into a morph tunnel that is not at the top of that space.",
"In water physics this includes jumping and morphing in a 3 tile high space (Samus takes up 2.625 tiles when standing)."
],
"extensionTechs": [
{
"id": 33,
"name": "canWallJumpInstantMorph",
"techRequires": [
"canMidAirMorph",
"canWalljump"
],
"otherRequires": [],
"note": [
"The ability to mid-air morph immediately out of a wall jump.",
"After the wall jump, continue holding jump in order to only need to press down a single time to morph.",
"This is typically used in places where the morph neededs to be done quickly in order to have relatively precise positioning."
],
"extensionTechs": [
{
"id": 34,
"name": "can3HighWallMidAirMorph",
"techRequires": [
"canPreciseWalljump",
"canWallJumpInstantMorph",
"canDisableEquipment"
],
"otherRequires": [],
"note": [
"Getting up into a morph passage from a 3-tile-high space by mid-air morphing off of a wall jump. This is easier from an opposite wall.",
"After the wall jump, continue holding jump in order to only need to press down a single time to morph."
]
}
]
},
{
"id": 35,
"name": "can4HighMidAirMorph",
"techRequires": [
"canMidAirMorph",
"canDisableEquipment"
],
"otherRequires": [],
"note": [
"A mid-air morph that has to be done in a 4-tile-high space, into a morph tunnel at the top of the space.",
"It's a lot more precise than with more room. Turn off HiJump before attempting this.",
"Most applications of this tech are in places where wall jump instant morphing is not possible."
]
},
{
"id": 36,
"name": "canRJump",
"techRequires": [
"canMidAirMorph",
"canDisableEquipment"
],
"otherRequires": [
{"noFlashSuit": {}}
],
"note": [
"A technique for mid-air morphing in a 3-tile-high space in air physics, or a 2-tile-high space in water physics.",
"The key point is that pausing can be used to morph much faster than double pressing down.",
"\"R\" means holding angle aim before the first down press so Samus has a smaller hitbox for slightly more space to work with.",
"1) Hold angle aim (up or down) and down while in a crouching position.",
"2) Pause and jump as late as possible.",
"3) Release all inputs during the pause screen.",
"4) Hold jump and down and forward after the pause screen clears but before game control resumes."
]
},
{
"id": 37,
"name": "canLateralMidAirMorph",
"techRequires": [
"canMidAirMorph"
],
"otherRequires": [],
"note": "Performing the same input as a mockball, but in mid-air, in order to maintain forward momentum while morphing in mid-air.",
"extensionTechs": [
{
"id": 38,
"name": "canSpringBallBounce",
"techRequires": [
"canLateralMidAirMorph"
],
"otherRequires": [
"SpringBall"
],
"note": "Using a lateral mid-air morph to bounce off a surface with Spring Ball while retaining previous momentum.",
"extensionTechs": [
{
"id": 39,
"name": "canTrickySpringBallBounce",
"techRequires": [
"canSpringBallBounce"
],
"otherRequires": [],
"note": "Performing spring ball bounces in tricky situations, such as precisely platforming while bouncing to keep blue speed."
}
]
},
{
"id": 40,
"name": "canStationaryLateralMidAirMorph",
"techRequires": [
"canLateralMidAirMorph"
],
"otherRequires": [],
"note": [
"While performing a stationary vertical jump and after the first down press, Morph with down and forward being pressed on the same frame (neither before the other).",
"Doing this immediately gives a noticable horizontal speed boost.",
"This is most useful underwater where acceleration is slower."
]
}
]
}
]
}
]
},
{
"id": 41,
"name": "canMockball",
"techRequires": [
"canMidAirMorph"
],
"otherRequires": [],
"note": [
"Maintaining running speed while morphed, by holding jump and down (to crouch) during a lateral jump, then morphing as Samus hits the ground while holding jump and transition from holding down to holding forward.",
"Sometimes referred to as a Machball."
],
"extensionTechs": [
{
"id": 42,
"name": "canSpeedball",
"techRequires": [
"canMockball",
"canCarefulJump"
],
"otherRequires": [
"SpeedBooster"
],
"note": [
"Maintain the SpeedBooster effect while rolling as a Morph Ball in order to destroy bomb blocks in Morph tunnels.",
"A Speedball involves performing a Mockball at faster speeds and additionally it will help to be able to perform short jumps to reduce the amount of space needed.",
"A Speedball can also be used with SpringBall as a way to jump with temporary blue state while maintaining Samus' momentum."
]
}
]
},
{
"id": 43,
"name": "canBounceBall",
"techRequires": [],
"otherRequires": [
"Morph"
],
"note": "Using Morph to retain momentum when transitioning to water physics."
},
{
"id": 44,
"name": "canTwoTileSqueeze",
"techRequires": [],
"otherRequires": [],
"note": [
"Taking advantage of the smaller hitbox of spinjump and down-aim to squeeze through two-tile gaps.",
"Aiming down while jumping into a two-tile gap will allow Samus to stand up."
],
"extensionTechs": [
{
"id": 45,
"name": "canCrouchGateClip",
"techRequires": [
"canTwoTileSqueeze"
],
"otherRequires": [],
"note": "Using a spinjump and down-aim to clip into a closing gate, allowing Samus to walk through the gate."
},
{
"id": 46,
"name": "canTunnelCrawl",
"techRequires": [
"canTwoTileSqueeze"
],
"otherRequires": [],
"note": [
"Moving along a 2-tile-high passage while standing up by repeatedly spin-jumping and then pressing down.",
"The tech comes with softlock risks without Morph Ball or a way to wiggle to the right with canTurnaroundAimCancel",
"With X-Ray, it may be easier to wiggle with canXRayTurnaround."
]
}
]
},
{
"id": 47,
"name": "canQuickCrumbleEscape",
"techRequires": [],
"otherRequires": [],
"note": "The combination of a crumble quick drop, and landing on a lower surface and jumping back over the crumble block before it re-forms."
},
{
"id": 48,
"name": "canMidairWiggle",
"techRequires": [],
"otherRequires": [],
"note": [
"Turning around quickly so as to manipulate game physics.",
"For using Screw Attack to break blocks and to shrink Samus' hitbox following a wall jump,",
"and for maneuvering sharply underwater."
]
},
{
"id": 49,
"name": "canOffScreenMovement",
"techRequires": [],
"otherRequires": [],
"note": [
"The ability to perform non-trivial movement while Samus is off-camera.",
"This does not include movement where visual feedback is unimportant, such as simply falling down or holding a single direction."
]
},
{
"id": 50,
"name": "canUseGrapple",
"techRequires": [],
"otherRequires": [
"Grapple"
],
"note": [
"The ability to fling Samus moderate distances by grappling onto attach points to build up momentum.",
"Knowing how to use Grapple also means knowing that the Grapple Beam can be used as a weapon to instantly kill certain enemies."
],
"extensionTechs": [
{
"id": 51,
"name": "canPreciseGrapple",
"techRequires": [
"canUseGrapple"
],
"otherRequires": [],
"note": "The ability to precisely aim at grapple points while moving quickly, and precise control of Samus' speed and trajectory when releasing from a grapplable object."
},
{
"id": 52,
"name": "canGrappleJump",
"techRequires": [
"canUseGrapple",
"canMidAirMorph"
],
"otherRequires": [
{"or": [
"HiJump",
"can4HighMidAirMorph"
]}
],
"note": [
"Using Grapple to propel Samus upwards, then continuously morphing/unmorphing/jumping in mid-air to climb upwards.",
"This is much more lenient with HiJump."
],
"extensionTechs": [
{
"id": 53,
"name": "canTrickyGrappleJump",
"techRequires": [
"canGrappleJump"
],
"otherRequires": [],
"note": [
"The ability to Grapple Jump while also performing difficult movements.",
"1) Aiming a Grapple Fling with a precise angle.",
"2) Morphing and unmorphing very quickly without the slowdown of water physics.",
"3) Positioning the Grapple Jump with a Mid-Air Wiggle at high speeds.",
"4) Performing actions between individual Grapple Jumps, such as arm pumping."
],
"devNote": "canMidairWiggle is better added to the strat to show exactly what is needed to do the trick."
}
]
},
{
"id": 54,
"name": "canBombGrappleJump",
"techRequires": [
"canUseGrapple",
"canMidAirMorph",
"canUseEnemies",
"canTrickyJump"
],
"otherRequires": [
"Bombs"
],
"note": [
"Simultaneously use Grapple Beam to kill an enemy and detonate a bomb on Samus to gain the ability to jump for one frame.",
"By jumping first and performing this trick in the air, Samus gets a second jump.",
"This is most useful underwater to reach higher ledges.",
"This trick is effectively double frame perfect and kills the enemy requiring either a room reset, or a respawning enemy."
],
"devNote": "Bombs is a leniency as the trick has a high chance of failure."
},
{
"id": 55,
"name": "canGrappleTeleport",
"techRequires": [
"canUseGrapple"
],
"otherRequires": [],
"note": [
"Exiting a door transition while grappled, in order to initiate a teleport in the next room.",
"The position to which Samus teleports corresponds to the position of the grapple block in the first room.",
"The corresponding position in the destination room (counting tiles from the top-left corner of the room) must have a block to which Samus can remain grappled (e.g. a solid block would work but air would not);",
"otherwise the teleport will not occur."
]
},
{
"id": 56,
"name": "canGrappleBombHang",
"techRequires": [
"canUseGrapple"
],
"otherRequires": [],
"note": [
"Receiving a boost from a Bomb or Power Bomb while grappled, to enter a 'glitched grapple hanging' state.",
"Among other things, this state gives a way to trigger a door transition while still grappled.",
"The game may lag heavily in this state: if lag persists, it can sometimes be alleviated by changing the inputs held."
]
},
{
"id": 57,
"name": "canUnmorphGrappleHang",
"techRequires": [
"canUseGrapple"
],
"otherRequires": [
"Morph"
],
"note": [
"Entering a 'glitched grapple hanging' using a precisely timed unmorph, without the use of Bombs or Power Bombs.",
"The positioning required to make this work is very specific; normalized setups are described in individual strats.",
"In every case, Grapple is used at the end of the unmorph animation (a 2-frame window) to get Samus stuck grappling in a standing position.",
"By doing this while pressed against a Grapple block and grappling at the very top of it, Samus can get clipped inside a Grapple block by a pixel (or sometimes two, for a block on the left);",
"In this case, Samus will remain standing after releasing Grapple;",
"jumping (to force crouch) and firing an angled grapple shot will then result in glitched grapple hanging."
]
}
]
},
{
"id": 185,
"name": "canMorphTurnaround",
"techRequires": [],
"otherRequires": [
"Morph"
],
"note": [
"The ability to use Morph to turn around without moving horizontally.",
"This is typically used to back into a corner without Moonwalk."
]
}
]
},
{
"name": "Jumps",
"description": "Techs related to jumping. Excludes bomb jumping.",
"techs": [
{
"id": 58,
"name": "canCrouchJump",
"techRequires": [],
"otherRequires": [
{"noFlashSuit": {}}
],
"note": "The ability to crouch before jumping to reach higher ledges. Commonly paired with a down-grab or a mid-air Spring Ball jump."
},
{
"id": 59,
"name": "canTurnaroundSpinJump",
"techRequires": [],
"otherRequires": [],
"note": [
"The ability to buffer a jump by using the turnaround animation frames.",
"This allows for an easier Spin Jump timing and works as a way jump far underwater without building up run speed."
],
"extensionTechs": [
{
"id": 60,
"name": "canFlatleyJump",
"techRequires": [
"canTurnaroundSpinJump",
"canTrickyJump"
],
"otherRequires": [],
"note": [
"Positioning Samus at the very edge of a platform, facing away, then turning around and jumping to initiate the jump from a position that is off the platform (and slightly below it).",
"Sometimes referred to as a corner jump."
]
}
]
},
{
"id": 61,
"name": "canGravityJump",
"techRequires": [
"canDisableEquipment"
],
"otherRequires": [
"Gravity"
],
"note": [
"Turning off Gravity Suit right after the start of an underwater jump to achieve a much higher jump.",
"Can be performed in water, lava, or acid."
]
},
{
"id": 62,
"name": "canIframeSpikeJump",
"techRequires": [
"canCarefulJump"
],
"otherRequires": [],
"note": "Take damage to gain invincibility frames so that Samus can run and jump on spike floors or setup a wall jump from a spike wall. Enemies provide more i-frames than spikes."
},
{
"id": 63,
"name": "canStationarySpinJump",
"techRequires": [],
"otherRequires": [],
"note": [
"Spin jumping with no horizontal movement by quickly pressing and releasing forward and then immediately pressing jump (after stopping).",
"Doing this while holding run produces a spin jump with very low horizontal speed."
]
},
{
"id": 64,
"name": "canSpringBallJumpMidAir",
"techRequires": [
"canDisableEquipment",
"canMidAirMorph"
],
"otherRequires": [
"SpringBall"
],
"note": [
"It is possible to use Spring Ball while mid-air, if Samus is still climbing upwards. This gives an additional jump, allowing her to go higher.",
"This can be done by morphing in mid-air, then quickly turning on Spring Ball while still climbing upwards, and then jumping again.",
"This is often done most easily by buffering the Spring Ball jump: while unpausing after turning on Spring Ball, press and hold jump starting anytime after the pause menu has finished fading out (i.e. while the screen is black).",
"This is often combined with a crouch jump to gain a bit more height."
],
"extensionTechs": [
{
"id": 65,
"name": "canTrickySpringBallJump",
"techRequires": [
"canSpringBallJumpMidAir"
],
"otherRequires": [],
"note": [
"A precise, mid-air spring ball jump. This includes those with a relatively tight pause, jump, and morph, in order to spring ball jump just above shallow water.",
"And those which require the jump input to be pressed near the peak of the jump, which cannot be done by buffering the jump out of the pause menu.",
"To do this, pause as early as possible before jumping and morphing in order to have as much visibility as possible after equipping Spring Ball to time the second jump.",
"This can also be used out of a Spring Wall or from a spin jump, in order to gain more horizontal distance before triggering the second jump.",
"This, along with a crouch jump, is also needed in order to perform a maximum height spring ball jump.",
"Maximum height jumps primarily have underwater applications, as it enables Samus to barely make it up 7 tiles vertically."
],
"extensionTechs": [
{
"id": 66,
"name": "canSpringwall",
"techRequires": [
"canTrickySpringBallJump",
"canWallJumpInstantMorph"
],
"otherRequires": [],
"note": [
"A mid-air Spring Ball jump that starts with a wall jump to gain more height.",
"It often benefits from the momentum change when equipping Spring Ball while morphed and moving horizontally after a WallJump."
]
},
{
"id": 67,
"name": "canDoubleSpringBallJumpMidAir",
"techRequires": [
"canTrickySpringBallJump"
],
"otherRequires": [],
"note": [
"Using a mid-air Spring Ball jump twice during a single jump to gain even more height.",
"This consists of a tight variant of mid-air Spring Ball jump, then turning off Spring Ball, then a second mid-air Spring Ball jump all while still climbing upwards.",
"This is typically used underwater with HiJump, but it is technically possible in lava without HiJump or to perform more than two Spring Ball jumps in acid."
]
},
{
"id": 68,
"name": "canUnderwaterBombIntoSpringBallJump",
"techRequires": [
"canTrickySpringBallJump",
"canJumpIntoIBJ"
],
"otherRequires": [],
"note": [
"Use the tiny amount of height gain from an underwater Bomb explosion to re-equip Springball and perform a Springball jump.",
"This is most often used to get a second SpringBall jump when underwater without HiJump.",
"Bombs are required since Power Bombs will prevent pausing."
],
"devNote": "Similar to an underwater walljump into springballjump, but that has no applications yet since double springballjump is easier for similar requirements."
}
]
}
]
},
{
"id": 69,
"name": "canSpringFling",
"techRequires": [
"canDisableEquipment"
],
"otherRequires": [
"Morph",
"SpringBall"
],
"note": [
"The ability to gain extra distance merely by turning Springball on or off.",
"When equipping or unequipping Springball while Morphed, Samus' speed is reset.",
"If rising (and not in liquid physics), the horizontal speed is set to full roll speed.",
"If falling, the vertical speed is set to zero and horizontal speed is reset unless SpeedBooster is equipped."
]
},
{
"id": 70,
"name": "canCrumbleJump",
"techRequires": [],
"otherRequires": [],
"note": [
"The ability to jump off of a crumble block while it crumbles.",
"A straight jump may employ the small amount of jump buffering the game offers, but a spinjump can only use the time before the crumble block breaks."
]
},
{
"id": 71,
"name": "canCarefulJump",
"techRequires": [],
"otherRequires": [],
"note": "Executing a jump that requires somewhat precise or unintuitive movement.",
"extensionTechs": [
{
"id": 72,
"name": "canTrickyJump",
"techRequires": [
"canCarefulJump"
],
"otherRequires": [],
"note": "Executing a jump that requires very precise timing.",
"extensionTechs": [
{
"id": 73,
"name": "canTrickyDashJump",
"techRequires": [
"canTrickyJump"