Skip to content

Commit 7027276

Browse files
authored
Crateria shinesparks: split speed and general cleanup (#2725)
1 parent 4a856c1 commit 7027276

17 files changed

Lines changed: 255 additions & 169 deletions

region/crateria/central/Climb Supers Room.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,6 @@
521521
{"or": [
522522
{"shinespark": {"frames": 56, "excessFrames": 6}},
523523
{"and": [
524-
"canShinechargeMovement",
525524
"canMidairShinespark",
526525
{"shinespark": {"frames": 41, "excessFrames": 4}}
527526
]}

region/crateria/central/Climb.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -365,10 +365,6 @@
365365
{"shineChargeFrames": 55},
366366
{"notable": "Behemoth Shinespark"},
367367
"canShinechargeMovementComplex",
368-
{"or": [
369-
"canCrouchJump",
370-
"canMidairShinespark"
371-
]},
372368
{"shinespark": {"frames": 5}},
373369
"Morph"
374370
],
@@ -391,10 +387,6 @@
391387
{"shineChargeFrames": 65},
392388
{"notable": "Behemoth Shinespark"},
393389
"canShinechargeMovementComplex",
394-
{"or": [
395-
"canCrouchJump",
396-
"canMidairShinespark"
397-
]},
398390
{"shinespark": {"frames": 5}},
399391
"Morph"
400392
],

region/crateria/central/Crateria Tube.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@
182182
"comeInWithSpark": {}
183183
},
184184
"requires": [
185-
{"shinespark": {"frames": 21}}
185+
{"shinespark": {"frames": 21, "excessFrames": 0}}
186186
],
187187
"exitCondition": {
188188
"leaveWithSpark": {}
@@ -390,7 +390,7 @@
390390
"comeInWithSpark": {}
391391
},
392392
"requires": [
393-
{"shinespark": {"frames": 21}}
393+
{"shinespark": {"frames": 21, "excessFrames": 0}}
394394
],
395395
"exitCondition": {
396396
"leaveWithSpark": {}

region/crateria/central/Final Missile Bombway.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
"canMidAirMorph",
107107
"canShinechargeMovementTricky",
108108
{"shineChargeFrames": 175},
109-
{"shinespark": {"frames": 7}}
109+
{"shinespark": {"frames": 7, "excessFrames": 0}}
110110
],
111111
"exitCondition": {
112112
"leaveWithSpark": {

region/crateria/central/Landing Site.json

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -793,8 +793,7 @@
793793
{"doorUnlockedAtNode": 3}
794794
]}
795795
]},
796-
"canShinechargeMovement",
797-
{"shinespark": {"frames": 125}}
796+
{"shinespark": {"frames": 125, "excessFrames": 0}}
798797
],
799798
"exitCondition": {
800799
"leaveWithSpark": {
@@ -958,7 +957,7 @@
958957
"requires": [
959958
"canDash",
960959
"canInsaneJump",
961-
"canHorizontalShinespark",
960+
"canHorizontalMidairShinespark",
962961
{"useFlashSuit": {}},
963962
{"or": [
964963
{"shinespark": {"frames": 95, "excessFrames": 34}},
@@ -1117,7 +1116,7 @@
11171116
"steepDownTiles": 1,
11181117
"openEnd": 2
11191118
}},
1120-
{"shinespark": {"frames": 125}}
1119+
{"shinespark": {"frames": 125, "excessFrames": 0}}
11211120
],
11221121
"exitCondition": {
11231122
"leaveWithSpark": {
@@ -1137,7 +1136,6 @@
11371136
"link": [4, 1],
11381137
"name": "Big Jump Midair Shinespark",
11391138
"requires": [
1140-
"canMidairShinespark",
11411139
"canShinechargeMovementComplex",
11421140
{"canShineCharge": {
11431141
"usedTiles": 19,
@@ -1177,7 +1175,6 @@
11771175
"name": "Big Jump Midair Shinespark Through Door",
11781176
"requires": [
11791177
{"obstaclesCleared": ["C"]},
1180-
"canMidairShinespark",
11811178
"canShinechargeMovementComplex",
11821179
{"canShineCharge": {
11831180
"usedTiles": 19,
@@ -1188,14 +1185,14 @@
11881185
{"or": [
11891186
{"and": [
11901187
"h_speedJump",
1191-
{"shinespark": {"frames": 96}}
1188+
{"shinespark": {"frames": 96, "excessFrames": 0}}
11921189
]},
11931190
{"and": [
11941191
"h_speedJump",
11951192
"canShinechargeMovementTricky",
1196-
{"shinespark": {"frames": 88}}
1193+
{"shinespark": {"frames": 88, "excessFrames": 0}}
11971194
]},
1198-
{"shinespark": {"frames": 105}}
1195+
{"shinespark": {"frames": 105, "excessFrames": 0}}
11991196
]}
12001197
],
12011198
"exitCondition": {
@@ -1316,7 +1313,7 @@
13161313
"requires": [
13171314
"h_storedSpark",
13181315
"canDash",
1319-
"canHorizontalShinespark",
1316+
"canHorizontalMidairShinespark",
13201317
{"or": [
13211318
{"shinespark": {"frames": 103, "excessFrames": 34}},
13221319
{"and": [
@@ -1415,13 +1412,11 @@
14151412
{"or": [
14161413
{"shinespark": {"frames": 41, "excessFrames": 14}},
14171414
{"and": [
1418-
"canShinechargeMovement",
14191415
"canMidairShinespark",
14201416
{"shinespark": {"frames": 34, "excessFrames": 15}}
14211417
]},
14221418
{"and": [
14231419
"HiJump",
1424-
"canShinechargeMovement",
14251420
"canMidairShinespark",
14261421
{"shinespark": {"frames": 30, "excessFrames": 15}}
14271422
]}
@@ -1682,7 +1677,6 @@
16821677
{"or": [
16831678
{"shinespark": {"frames": 39, "excessFrames": 2}},
16841679
{"and": [
1685-
"canShinechargeMovement",
16861680
"canMidairShinespark",
16871681
{"or": [
16881682
{"shinespark": {"frames": 32, "excessFrames": 3}},
@@ -1714,7 +1708,6 @@
17141708
"name": "Speedy Jump Diagonal Spark",
17151709
"requires": [
17161710
"h_shinechargeMaxRunway",
1717-
"canShinechargeMovement",
17181711
"canSpeedyJump",
17191712
"canMidairShinespark",
17201713
{"or": [
@@ -1774,19 +1767,16 @@
17741767
{"shinespark": {"frames": 73, "excessFrames": 15}}
17751768
]},
17761769
{"and": [
1777-
"canShinechargeMovement",
17781770
"canMidairShinespark",
17791771
{"shinespark": {"frames": 65, "excessFrames": 15}}
17801772
]},
17811773
{"and": [
1782-
"canShinechargeMovement",
17831774
"canMidairShinespark",
17841775
"HiJump",
17851776
{"shinespark": {"frames": 61, "excessFrames": 14}}
17861777
]},
17871778
{"and": [
17881779
"canShinechargeMovementComplex",
1789-
"canMidairShinespark",
17901780
"HiJump",
17911781
"h_speedJump",
17921782
{"shinespark": {"frames": 55, "excessFrames": 13}}
@@ -2021,7 +2011,7 @@
20212011
"link": [7, 1],
20222012
"name": "Use Stored Spark, Horizontal Spark",
20232013
"requires": [
2024-
"canHorizontalShinespark",
2014+
"canHorizontalMidairShinespark",
20252015
"h_storedSpark",
20262016
{"shinespark": {"frames": 54, "excessFrames": 43}},
20272017
{"or": [

region/crateria/central/Parlor and Alcatraz.json

Lines changed: 73 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -739,7 +739,7 @@
739739
"requires": [
740740
"Morph",
741741
"canShinechargeMovementTricky",
742-
{"shinespark": {"frames": 6}}
742+
{"shinespark": {"frames": 6, "excessFrames": 0}}
743743
],
744744
"exitCondition": {
745745
"leaveWithSpark": {}
@@ -1013,7 +1013,13 @@
10131013
"comeInShinecharged": {}
10141014
},
10151015
"requires": [
1016-
{"shineChargeFrames": 150},
1016+
{"or": [
1017+
{"shineChargeFrames": 160},
1018+
{"and": [
1019+
"canSpeedyJump",
1020+
{"shineChargeFrames": 155}
1021+
]}
1022+
]},
10171023
"canShinechargeMovementComplex",
10181024
"HiJump",
10191025
"Morph",
@@ -1039,7 +1045,13 @@
10391045
"comeInShinecharged": {}
10401046
},
10411047
"requires": [
1042-
{"shineChargeFrames": 140},
1048+
{"or": [
1049+
{"shineChargeFrames": 150},
1050+
{"and": [
1051+
"canSpeedyJump",
1052+
{"shineChargeFrames": 145}
1053+
]}
1054+
]},
10431055
"canShinechargeMovementComplex",
10441056
"HiJump",
10451057
"Morph",
@@ -1544,7 +1556,7 @@
15441556
]},
15451557
{"enemyDamage": {"enemy": "Geemer (blue)", "type": "contact", "hits": 1}},
15461558
"canSlopeSpark",
1547-
{"shinespark": {"frames": 15}}
1559+
{"shinespark": {"frames": 15, "excessFrames": 0}}
15481560
],
15491561
"exitCondition": {
15501562
"leaveWithSpark": {
@@ -2558,7 +2570,13 @@
25582570
"comeInShinecharged": {}
25592571
},
25602572
"requires": [
2561-
{"shineChargeFrames": 145},
2573+
{"or": [
2574+
{"shineChargeFrames": 155},
2575+
{"and": [
2576+
"canSpeedyJump",
2577+
{"shineChargeFrames": 150}
2578+
]}
2579+
]},
25622580
"canShinechargeMovementComplex",
25632581
"HiJump",
25642582
"canWalljump",
@@ -2585,7 +2603,13 @@
25852603
"comeInShinecharged": {}
25862604
},
25872605
"requires": [
2588-
{"shineChargeFrames": 155},
2606+
{"or": [
2607+
{"shineChargeFrames": 165},
2608+
{"and": [
2609+
"canSpeedyJump",
2610+
{"shineChargeFrames": 160}
2611+
]}
2612+
]},
25892613
"canShinechargeMovementComplex",
25902614
"HiJump",
25912615
"canWalljump",
@@ -2899,7 +2923,7 @@
28992923
"comesThroughToilet": "any"
29002924
},
29012925
"requires": [
2902-
{"shineChargeFrames": 100},
2926+
{"shineChargeFrames": 110},
29032927
"HiJump",
29042928
"canShinechargeMovementComplex",
29052929
{"shinespark": {"frames": 8, "excessFrames": 0}}
@@ -2914,6 +2938,29 @@
29142938
"flashSuitChecked": true,
29152939
"blueSuitChecked": true
29162940
},
2941+
{
2942+
"link": [7, 3],
2943+
"name": "Come In Shinecharged, Leave With Spark (Bottom Position)",
2944+
"entranceCondition": {
2945+
"comeInShinecharged": {},
2946+
"comesThroughToilet": "any"
2947+
},
2948+
"requires": [
2949+
{"shineChargeFrames": 100},
2950+
"HiJump",
2951+
"canShinechargeMovementComplex",
2952+
{"shinespark": {"frames": 8, "excessFrames": 0}}
2953+
],
2954+
"exitCondition": {
2955+
"leaveWithSpark": {"position": "bottom"}
2956+
},
2957+
"unlocksDoors": [
2958+
{"types": ["super"], "requires": []},
2959+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
2960+
],
2961+
"flashSuitChecked": true,
2962+
"blueSuitChecked": true
2963+
},
29172964
{
29182965
"id": 90,
29192966
"link": [7, 5],
@@ -2966,7 +3013,7 @@
29663013
"comesThroughToilet": "any"
29673014
},
29683015
"requires": [
2969-
{"shineChargeFrames": 90},
3016+
{"shineChargeFrames": 100},
29703017
"HiJump",
29713018
"canShinechargeMovementComplex",
29723019
{"shinespark": {"frames": 12, "excessFrames": 0}}
@@ -2992,7 +3039,7 @@
29923039
"comesThroughToilet": "any"
29933040
},
29943041
"requires": [
2995-
{"shineChargeFrames": 115},
3042+
{"shineChargeFrames": 120},
29963043
"HiJump",
29973044
"canShinechargeMovementComplex",
29983045
{"shinespark": {"frames": 5, "excessFrames": 0}}
@@ -3189,20 +3236,24 @@
31893236
"link": [8, 1],
31903237
"name": "Quick Charge, Leave Sparking",
31913238
"requires": [
3239+
{"or": [
3240+
{"and": [
3241+
"h_getBlueSpeedMaxRunway",
3242+
"canCarefulJump",
3243+
"h_blueJump"
3244+
]},
3245+
{"and": [
3246+
"h_shinechargeMaxRunway",
3247+
{"shinespark": {"frames": 2, "excessFrames": 0}}
3248+
]}
3249+
]},
31923250
{"canShineCharge": {
31933251
"usedTiles": 25,
31943252
"steepUpTiles": 3,
31953253
"steepDownTiles": 3,
31963254
"openEnd": 1
31973255
}},
3198-
{"or": [
3199-
"canCarefulJump",
3200-
{"and": [
3201-
"canShinechargeMovement",
3202-
{"shinespark": {"frames": 2}}
3203-
]}
3204-
]},
3205-
{"shinespark": {"frames": 28}}
3256+
{"shinespark": {"frames": 28, "excessFrames": 0}}
32063257
],
32073258
"exitCondition": {
32083259
"leaveWithSpark": {}
@@ -3211,7 +3262,11 @@
32113262
"flashSuitChecked": true,
32123263
"blueSuitChecked": true,
32133264
"note": "Break the bomb wall while blue, or spark diagonally next to it. Open the door then charge the spark again and spark through the wall and door.",
3214-
"devNote": "The canCarefulJump or 2 spark frames could be reduced by having the door already open, but that's probably not worth modeling."
3265+
"devNote": [
3266+
"The canCarefulJump or 2 spark frames could be reduced by having the door already open, but that's probably not worth modeling.",
3267+
"FIXME: The extra long runway requirements are only included to satisfy speed state transition tests.",
3268+
"FIXME: The spark leaves through top position but doesn't require a midair spark because of the slopes."
3269+
]
32153270
},
32163271
{
32173272
"id": 102,

region/crateria/east/Crab Maze.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -726,10 +726,10 @@
726726
"canWaterShineCharge",
727727
{"canShineCharge": {"usedTiles": 20, "openEnd": 1}},
728728
{"or": [
729-
{"shinespark": {"frames": 53}},
729+
{"shinespark": {"frames": 53, "excessFrames": 0}},
730730
{"and": [
731731
"canShinechargeMovementComplex",
732-
{"shinespark": {"frames": 30}}
732+
{"shinespark": {"frames": 30, "excessFrames": 0}}
733733
]}
734734
]}
735735
],

0 commit comments

Comments
 (0)