Skip to content

Commit ca84888

Browse files
authored
Merge pull request #2816 from kjbranch/cs-pink-maridia
Add Crystal Sparks in Pink Maridia
2 parents 832cd09 + c9ccee5 commit ca84888

16 files changed

Lines changed: 628 additions & 54 deletions

region/maridia/inner-green/Lonely Crab Room.json

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,50 @@
474474
"blueSuitChecked": true,
475475
"note": "Samus is only able to use about half of the runway and be able to Crystal Spark before the crab reaches her."
476476
},
477+
{
478+
"link": [1, 1],
479+
"name": "Precise Stutter Water Shinecharge, Crystal Spark",
480+
"entranceCondition": {
481+
"comeInStutterShinecharging": {
482+
"minTiles": 2.4375
483+
},
484+
"comesInHeated": "no"
485+
},
486+
"requires": [
487+
"canPreciseStutterWaterShineCharge",
488+
{"or": [
489+
"Wave",
490+
"Spazer",
491+
"Plasma"
492+
]},
493+
{"or": [
494+
{"and": [
495+
"h_enemyDrops",
496+
"h_underwaterCrystalSparkWithoutLenience"
497+
]},
498+
"h_underwaterCrystalSpark"
499+
]}
500+
],
501+
"flashSuitChecked": true,
502+
"blueSuitChecked": true,
503+
"note": [
504+
"With only a runway length of 3 tiles (closed end) in the other room, this requires a precise setup:",
505+
"release forward for 3 or 4 frames, then repress forward on the last possible frame before the transition;",
506+
"alternatively, release forward for 2 frames and repress forward on the second-to-last possible frame before the transition."
507+
],
508+
"detailNote": [
509+
"If a longer runway is available (4 tiles), the timing windows are a bit more lenient:",
510+
"1. Release forward for 3, 4, or 5 frames, repress forward on the last possible frame;",
511+
"2. Release forward for 2 or 3 frames, repress forward on the 2nd-to-last possible frame;",
512+
"3. Release forward for 1 or 2 frames, repress forward on the 3rd-to-last possible frame."
513+
],
514+
"devNote": [
515+
"No lenience, because Power Bombs can be farmed from the Sciser.",
516+
"Killing it with Missiles or a Super is not represented, because it can not currently be multiplied by the lenience factor.",
517+
"FIXME: This is possible with a shorter runway, as low as 1 tile, but it's a lot worse.",
518+
"It would require more duplication and could be very tedious to set up for many attempts."
519+
]
520+
},
477521
{
478522
"link": [1, 1],
479523
"name": "Crystal Spark (In-Room)",
@@ -1688,23 +1732,6 @@
16881732
"The `h_getBlueSpeedMaxRunway` requirement is to satisfy the tests,",
16891733
"since we don't have a way to represent that the temporary blue originates from the startsWithShineCharge."
16901734
]
1691-
},
1692-
{
1693-
"link": [4, 2],
1694-
"name": "Crystal Spark",
1695-
"startsWithShineCharge": true,
1696-
"requires": [
1697-
{"shineChargeFrames": 0},
1698-
{"or": [
1699-
{"and": [
1700-
"h_enemyDrops",
1701-
"h_underwaterCrystalSparkWithoutLenience"
1702-
]},
1703-
"h_underwaterCrystalSpark"
1704-
]}
1705-
],
1706-
"flashSuitChecked": true,
1707-
"blueSuitChecked": true
17081735
}
17091736
],
17101737
"notables": [],

region/maridia/inner-green/Oasis.json

Lines changed: 100 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,56 @@
804804
"and Samus should be in the correct position with subpixels $3FFF."
805805
]
806806
},
807+
{
808+
"link": [1, 1],
809+
"name": "Come in Shinecharging, Crystal Spark",
810+
"entranceCondition": {
811+
"comeInShinecharging": {
812+
"length": 12,
813+
"openEnd": 0
814+
},
815+
"comesInHeated": "no"
816+
},
817+
"requires": [
818+
"Gravity",
819+
"h_CrystalSpark"
820+
],
821+
"clearsObstacles": ["A"],
822+
"flashSuitChecked": true,
823+
"blueSuitChecked": true
824+
},
825+
{
826+
"link": [1, 1],
827+
"name": "Precise Stutter Water Shinecharge, Crystal Spark",
828+
"entranceCondition": {
829+
"comeInStutterShinecharging": {
830+
"minTiles": 2.4375
831+
},
832+
"comesInHeated": "no"
833+
},
834+
"requires": [
835+
"canPreciseStutterWaterShineCharge",
836+
"h_underwaterCrystalSpark"
837+
],
838+
"clearsObstacles": ["A"],
839+
"flashSuitChecked": true,
840+
"blueSuitChecked": true,
841+
"note": [
842+
"With only a runway length of 3 tiles (closed end) in the other room, this requires a precise setup:",
843+
"release forward for 3 or 4 frames, then repress forward on the last possible frame before the transition;",
844+
"alternatively, release forward for 2 frames and repress forward on the second-to-last possible frame before the transition."
845+
],
846+
"detailNote": [
847+
"If a longer runway is available (4 tiles), the timing windows are a bit more lenient:",
848+
"1. Release forward for 3, 4, or 5 frames, repress forward on the last possible frame;",
849+
"2. Release forward for 2 or 3 frames, repress forward on the 2nd-to-last possible frame;",
850+
"3. Release forward for 1 or 2 frames, repress forward on the 3rd-to-last possible frame."
851+
],
852+
"devNote": [
853+
"FIXME: This is possible with a shorter runway, as low as 1 tile, but it's a lot worse.",
854+
"It would require more duplication and could be very tedious to set up for many attempts."
855+
]
856+
},
807857
{
808858
"id": 9,
809859
"link": [1, 1],
@@ -2376,6 +2426,56 @@
23762426
"and Samus should be in the correct position with subpixels $3FFF."
23772427
]
23782428
},
2429+
{
2430+
"link": [2, 2],
2431+
"name": "Come in Shinecharging, Crystal Spark",
2432+
"entranceCondition": {
2433+
"comeInShinecharging": {
2434+
"length": 12,
2435+
"openEnd": 0
2436+
},
2437+
"comesInHeated": "no"
2438+
},
2439+
"requires": [
2440+
"Gravity",
2441+
"h_CrystalSpark"
2442+
],
2443+
"clearsObstacles": ["A"],
2444+
"flashSuitChecked": true,
2445+
"blueSuitChecked": true
2446+
},
2447+
{
2448+
"link": [2, 2],
2449+
"name": "Precise Stutter Water Shinecharge, Crystal Spark",
2450+
"entranceCondition": {
2451+
"comeInStutterShinecharging": {
2452+
"minTiles": 2.4375
2453+
},
2454+
"comesInHeated": "no"
2455+
},
2456+
"requires": [
2457+
"canPreciseStutterWaterShineCharge",
2458+
"h_underwaterCrystalSpark"
2459+
],
2460+
"clearsObstacles": ["A"],
2461+
"flashSuitChecked": true,
2462+
"blueSuitChecked": true,
2463+
"note": [
2464+
"With only a runway length of 3 tiles (closed end) in the other room, this requires a precise setup:",
2465+
"release forward for 3 or 4 frames, then repress forward on the last possible frame before the transition;",
2466+
"alternatively, release forward for 2 frames and repress forward on the second-to-last possible frame before the transition."
2467+
],
2468+
"detailNote": [
2469+
"If a longer runway is available (4 tiles), the timing windows are a bit more lenient:",
2470+
"1. Release forward for 3, 4, or 5 frames, repress forward on the last possible frame;",
2471+
"2. Release forward for 2 or 3 frames, repress forward on the 2nd-to-last possible frame;",
2472+
"3. Release forward for 1 or 2 frames, repress forward on the 3rd-to-last possible frame."
2473+
],
2474+
"devNote": [
2475+
"FIXME: This is possible with a shorter runway, as low as 1 tile, but it's a lot worse.",
2476+
"It would require more duplication and could be very tedious to set up for many attempts."
2477+
]
2478+
},
23792479
{
23802480
"id": 38,
23812481
"link": [2, 2],
@@ -3460,24 +3560,6 @@
34603560
"since we don't have a way to represent that the temporary blue originates from the startsWithShineCharge."
34613561
]
34623562
},
3463-
{
3464-
"link": [7, 1],
3465-
"name": "Crystal Spark",
3466-
"startsWithShineCharge": true,
3467-
"requires": [
3468-
{"shineChargeFrames": 0},
3469-
{"or": [
3470-
{"and": [
3471-
"Gravity",
3472-
"h_CrystalSpark"
3473-
]},
3474-
"h_underwaterCrystalSpark"
3475-
]}
3476-
],
3477-
"clearsObstacles": ["A"],
3478-
"flashSuitChecked": true,
3479-
"blueSuitChecked": true
3480-
},
34813563
{
34823564
"id": 32,
34833565
"link": [7, 2],
@@ -3665,24 +3747,6 @@
36653747
"since we don't have a way to represent that the temporary blue originates from the startsWithShineCharge."
36663748
]
36673749
},
3668-
{
3669-
"link": [8, 2],
3670-
"name": "Crystal Spark",
3671-
"startsWithShineCharge": true,
3672-
"requires": [
3673-
{"shineChargeFrames": 0},
3674-
{"or": [
3675-
{"and": [
3676-
"Gravity",
3677-
"h_CrystalSpark"
3678-
]},
3679-
"h_underwaterCrystalSpark"
3680-
]}
3681-
],
3682-
"clearsObstacles": ["A"],
3683-
"flashSuitChecked": true,
3684-
"blueSuitChecked": true
3685-
},
36863750
{
36873751
"id": 142,
36883752
"link": [8, 4],

region/maridia/inner-pink/Aqueduct Save Room.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,44 @@
6060
"flashSuitChecked": true,
6161
"blueSuitChecked": true
6262
},
63+
{
64+
"link": [1, 1],
65+
"name": "Come in Shinecharging, Crystal Spark (Gravity)",
66+
"entranceCondition": {
67+
"comeInShinecharging": {
68+
"length": 3,
69+
"openEnd": 0
70+
},
71+
"comesInHeated": "no"
72+
},
73+
"requires": [
74+
"Gravity",
75+
"h_CrystalSparkWithoutLenience"
76+
],
77+
"flashSuitChecked": true,
78+
"blueSuitChecked": true,
79+
"devNote": "No lenience, because reloading from the save is possible."
80+
},
81+
{
82+
"link": [1, 1],
83+
"name": "Come in Shinecharging, Crystal Spark",
84+
"entranceCondition": {
85+
"comeInShinecharging": {
86+
"length": 1,
87+
"openEnd": 1
88+
},
89+
"comesInHeated": "no"
90+
},
91+
"requires": [
92+
"h_underwaterCrystalSparkWithoutLenience"
93+
],
94+
"flashSuitChecked": true,
95+
"blueSuitChecked": true,
96+
"devNote": [
97+
"No lenience, because reloading from the save is possible.",
98+
"This runway will not add any usable distance; it is only included because it has a save."
99+
]
100+
},
63101
{
64102
"id": 3,
65103
"link": [1, 2],

region/maridia/inner-pink/Aqueduct.json

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,24 @@
242242
"flashSuitChecked": true,
243243
"blueSuitChecked": true
244244
},
245+
{
246+
"link": [1, 1],
247+
"name": "Come in Shinecharging, Crystal Spark",
248+
"entranceCondition": {
249+
"comeInShinecharging": {
250+
"length": 5,
251+
"openEnd": 0
252+
},
253+
"comesInHeated": "no"
254+
},
255+
"requires": [
256+
"Gravity",
257+
"h_CrystalSpark"
258+
],
259+
"clearsObstacles": ["A"],
260+
"flashSuitChecked": true,
261+
"blueSuitChecked": true
262+
},
245263
{
246264
"id": 3,
247265
"link": [1, 1],
@@ -1337,6 +1355,40 @@
13371355
"flashSuitChecked": true,
13381356
"blueSuitChecked": true
13391357
},
1358+
{
1359+
"link": [2, 2],
1360+
"name": "Crystal Spark",
1361+
"requires": [
1362+
"Gravity",
1363+
"h_shinechargeMaxRunway",
1364+
"h_CrystalSpark"
1365+
],
1366+
"clearsObstacles": ["A"],
1367+
"flashSuitChecked": true,
1368+
"blueSuitChecked": true
1369+
},
1370+
{
1371+
"link": [2, 2],
1372+
"name": "Water Shinecharge, Crystal Spark",
1373+
"entranceCondition": {
1374+
"comeInRunning": {
1375+
"speedBooster": "yes",
1376+
"minTiles": 0.4375
1377+
},
1378+
"comesInHeated": "no"
1379+
},
1380+
"requires": [
1381+
"canWaterShineCharge",
1382+
"h_shinechargeMaxRunway",
1383+
"h_underwaterCrystalSpark"
1384+
],
1385+
"flashSuitChecked": true,
1386+
"blueSuitChecked": true,
1387+
"note": [
1388+
"Enter this room while holding dash in the previous room, before the door transition.",
1389+
"Do not release dash in the water or Samus will not be able to get blue speed."
1390+
]
1391+
},
13401392
{
13411393
"id": 29,
13421394
"link": [2, 2],

region/maridia/inner-pink/Below Botwoon Energy Tank.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,24 @@
387387
"flashSuitChecked": true,
388388
"blueSuitChecked": true
389389
},
390+
{
391+
"link": [1, 1],
392+
"name": "Crystal Spark",
393+
"requires": [
394+
{"obstaclesCleared": ["A"]},
395+
"Gravity",
396+
{"canShineCharge": {
397+
"usedTiles": 23,
398+
"gentleUpTiles": 2,
399+
"gentleDownTiles": 2,
400+
"steepUpTiles": 1,
401+
"openEnd": 1
402+
}},
403+
"h_CrystalSpark"
404+
],
405+
"flashSuitChecked": true,
406+
"blueSuitChecked": true
407+
},
390408
{
391409
"id": 11,
392410
"link": [1, 1],

0 commit comments

Comments
 (0)