Skip to content

Commit 07e0ff3

Browse files
committed
Aqueduct shinecharges
1 parent 08e76b0 commit 07e0ff3

2 files changed

Lines changed: 296 additions & 12 deletions

File tree

region/brinstar/pink/Waterway Energy Tank Room.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,12 +303,13 @@
303303
"comeInShinecharged": {}
304304
},
305305
"requires": [
306-
{"shineChargeFrames": 40},
306+
{"shineChargeFrames": 20},
307307
"canHorizontalShinespark",
308-
{"shinespark": {"frames": 155, "excessFrames": 10}}
308+
{"shinespark": {"frames": 152, "excessFrames": 10}}
309309
],
310310
"clearsObstacles": ["A"],
311-
"flashSuitChecked": true
311+
"flashSuitChecked": true,
312+
"note": ["Enter with a small spin jump."]
312313
},
313314
{
314315
"id": 14,

region/maridia/inner-pink/Aqueduct.json

Lines changed: 292 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -734,22 +734,54 @@
734734
{
735735
"id": 21,
736736
"link": [2, 1],
737-
"name": "Stutter Water ShineCharge",
737+
"name": "Stutter Water Shinecharge",
738738
"entranceCondition": {
739-
"comeInRunning": {
740-
"speedBooster": true,
741-
"minTiles": 2.4375
739+
"comeInStutterShinecharging": {
740+
"minTiles": 2
742741
}
743742
},
744743
"requires": [
745744
"h_canUsePowerBombs",
746745
"canStutterWaterShineCharge",
747746
"canShinechargeMovement",
748747
"h_canShineChargeMaxRunway",
749-
{"shinespark": {"frames": 25, "excessFrames": 11}}
748+
{"or": [
749+
{"shinespark": {"frames": 25, "excessFrames": 11}},
750+
{"and": [
751+
"canMidairShinespark",
752+
{"shinespark": {"frames": 22, "excessFrames": 11}}
753+
]}
754+
]}
750755
],
751756
"clearsObstacles": ["A"]
752757
},
758+
{
759+
"link": [2, 1],
760+
"name": "Very Precise Stutter Water Shinecharge",
761+
"entranceCondition": {
762+
"comeInStutterShinecharging": {
763+
"minTiles": 1
764+
}
765+
},
766+
"requires": [
767+
"h_canUsePowerBombs",
768+
"canPreciseStutterWaterShineCharge",
769+
"canInsaneJump",
770+
"canShinechargeMovement",
771+
"h_canShineChargeMaxRunway",
772+
{"or": [
773+
{"shinespark": {"frames": 25, "excessFrames": 11}},
774+
{"and": [
775+
"canMidairShinespark",
776+
{"shinespark": {"frames": 22, "excessFrames": 11}}
777+
]}
778+
]}
779+
],
780+
"clearsObstacles": ["A"],
781+
"note": [
782+
"With only 1 tile of runway, this requires a single-frame stutter (release forward then repress on the next frame), on the last possible frame."
783+
]
784+
},
753785
{
754786
"id": 22,
755787
"link": [2, 1],
@@ -902,16 +934,69 @@
902934
{
903935
"id": 27,
904936
"link": [2, 2],
905-
"name": "Stutter Shinecharge, Shinespark Return",
937+
"name": "Stutter Shinecharge, Leave With Spark",
906938
"entranceCondition": {
907-
"comeInRunning": {
908-
"speedBooster": true,
939+
"comeInStutterShinecharging": {
909940
"minTiles": 2
910941
}
911942
},
912943
"requires": [
913-
"canShinechargeMovementComplex",
914944
"canStutterWaterShineCharge",
945+
"canShinechargeMovementComplex",
946+
{"or": [
947+
{"shinespark": {"frames": 12}},
948+
{"and": [
949+
"canShinechargeMovementTricky",
950+
{"shinespark": {"frames": 3}}
951+
]}
952+
]}
953+
],
954+
"exitCondition": {
955+
"leaveWithSpark": {}
956+
},
957+
"unlocksDoors": [
958+
{"types": ["super"], "requires": []},
959+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
960+
]
961+
},
962+
{
963+
"link": [2, 2],
964+
"name": "Water Shinecharge, Hero Shot Leave With Spark",
965+
"entranceCondition": {
966+
"comeInRunning": {
967+
"minTiles": 0.4375,
968+
"speedBooster": true
969+
}
970+
},
971+
"requires": [
972+
"canWaterShineCharge",
973+
"canShinechargeMovementTricky",
974+
"canHeroShot",
975+
{"shinespark": {"frames": 29}}
976+
],
977+
"exitCondition": {
978+
"leaveWithSpark": {}
979+
},
980+
"unlocksDoors": [
981+
{"types": ["super"], "requires": []},
982+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
983+
],
984+
"note": [
985+
"Start with low run speed by positioning exactly 2 pixels from the door."
986+
]
987+
},
988+
{
989+
"link": [2, 2],
990+
"name": "Very Precise Stutter Shinecharge, Leave With Spark",
991+
"entranceCondition": {
992+
"comeInStutterShinecharging": {
993+
"minTiles": 1
994+
}
995+
},
996+
"requires": [
997+
"canShinechargeMovementComplex",
998+
"canPreciseStutterWaterShineCharge",
999+
"canInsaneJump",
9151000
"h_canShineChargeMaxRunway",
9161001
{"or": [
9171002
{"shinespark": {"frames": 12}},
@@ -927,6 +1012,204 @@
9271012
"unlocksDoors": [
9281013
{"types": ["super"], "requires": []},
9291014
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
1015+
],
1016+
"note": [
1017+
"With only 1 tile of runway, this requires a single-frame stutter (release forward then repress on the next frame), on the last possible frame."
1018+
]
1019+
},
1020+
{
1021+
"link": [2, 2],
1022+
"name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)",
1023+
"entranceCondition": {
1024+
"comeInStutterShinecharging": {
1025+
"minTiles": 5
1026+
}
1027+
},
1028+
"requires": [
1029+
"canPreciseStutterWaterShineCharge",
1030+
"canShinechargeMovementTricky",
1031+
{"shineChargeFrames": 130}
1032+
],
1033+
"exitCondition": {
1034+
"leaveShinecharged": {}
1035+
},
1036+
"unlocksDoors": [
1037+
{"types": ["super"], "requires": []},
1038+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
1039+
],
1040+
"note": [
1041+
"With a runway of 5 tiles (open end) in the other room,",
1042+
"the ideal timing for the stutter is to release forward for 5 frames, and repress forward on the last possible frame before the transition.",
1043+
"Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
1044+
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
1045+
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
1046+
]
1047+
},
1048+
{
1049+
"link": [2, 2],
1050+
"name": "Precise Stutter Shinecharge, Leave Shinecharged (4-tile runway)",
1051+
"entranceCondition": {
1052+
"comeInStutterShinecharging": {
1053+
"minTiles": 4
1054+
}
1055+
},
1056+
"requires": [
1057+
"canPreciseStutterWaterShineCharge",
1058+
"canShinechargeMovementTricky",
1059+
{"shineChargeFrames": 140}
1060+
],
1061+
"exitCondition": {
1062+
"leaveShinecharged": {}
1063+
},
1064+
"unlocksDoors": [
1065+
{"types": ["super"], "requires": []},
1066+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
1067+
],
1068+
"note": [
1069+
"With only a runway of 4 tiles (open end) in the other room,",
1070+
"the ideal timing for the stutter is to release forward for 4 frames, and repress forward on the last possible frame before the transition.",
1071+
"It also works well to release forward for 3 frames and repress on the last possible frame.",
1072+
"Other timings can also work, but may gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
1073+
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
1074+
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
1075+
]
1076+
},
1077+
{
1078+
"link": [2, 2],
1079+
"name": "Precise Stutter Shinecharge, Leave Shinecharged (3-tile runway)",
1080+
"entranceCondition": {
1081+
"comeInStutterShinecharging": {
1082+
"minTiles": 3
1083+
}
1084+
},
1085+
"requires": [
1086+
"canPreciseStutterWaterShineCharge",
1087+
"canShinechargeMovementTricky",
1088+
{"shineChargeFrames": 150}
1089+
],
1090+
"exitCondition": {
1091+
"leaveShinecharged": {}
1092+
},
1093+
"unlocksDoors": [
1094+
{"types": ["super"], "requires": []},
1095+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
1096+
],
1097+
"note": [
1098+
"With only a runway of 3 tiles (open end) in the other room,",
1099+
"the ideal timing for the stutter is to release forward for 3 or 4 frames, and repress forward on the last possible frame before the transition.",
1100+
"Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
1101+
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
1102+
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
1103+
],
1104+
"devNote": [
1105+
"The same shinecharge frames could be achieved with a closed end runway (effective length of 2.4375),",
1106+
"with a 3-frame stutter, but there doesn't appear to be any application."
1107+
]
1108+
},
1109+
{
1110+
"link": [2, 2],
1111+
"name": "Precise Stutter Shinecharge, Leave Shinecharged (2-tile runway)",
1112+
"entranceCondition": {
1113+
"comeInStutterShinecharging": {
1114+
"minTiles": 2
1115+
}
1116+
},
1117+
"requires": [
1118+
"canPreciseStutterWaterShineCharge",
1119+
"canShinechargeMovementTricky",
1120+
{"shineChargeFrames": 160}
1121+
],
1122+
"exitCondition": {
1123+
"leaveShinecharged": {}
1124+
},
1125+
"unlocksDoors": [
1126+
{"types": ["super"], "requires": []},
1127+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
1128+
],
1129+
"note": [
1130+
"With only a runway of 2 tiles (open end) in the other room,",
1131+
"the ideal timing for the stutter is to release forward for 3 frames, and repress forward on the last possible frame before the transition.",
1132+
"Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.",
1133+
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
1134+
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
1135+
]
1136+
},
1137+
{
1138+
"link": [2, 2],
1139+
"name": "Precise Stutter Shinecharge, Leave Shinecharged (1-tile runway)",
1140+
"entranceCondition": {
1141+
"comeInStutterShinecharging": {
1142+
"minTiles": 1
1143+
}
1144+
},
1145+
"requires": [
1146+
"canPreciseStutterWaterShineCharge",
1147+
"canInsaneJump",
1148+
"canBeVeryPatient",
1149+
"canShinechargeMovementTricky",
1150+
{"shineChargeFrames": 175}
1151+
],
1152+
"exitCondition": {
1153+
"leaveShinecharged": {}
1154+
},
1155+
"unlocksDoors": [
1156+
{"types": ["super"], "requires": []},
1157+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
1158+
],
1159+
"note": [
1160+
"With only 1 tile of runway in the other room, this requires subpixel-precise positioning and a double frame-perfect stutter:",
1161+
"At the start of the run, Samus must be on the last pixel of runway with X subpixels of $3FFF or less.",
1162+
"Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.",
1163+
"After gaining the shinecharge, continue holding forward in order to make Samus stand.",
1164+
"Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge."
1165+
],
1166+
"detailNote": [
1167+
"Correct subpixels can be achieved using one of several methods:",
1168+
"1) press against the door ledge (or a wall aligned with it);",
1169+
"jump, and while mid-air, tap forward for exactly 1 frame to land with subpixels $BFFF,",
1170+
"moonwalk back for exactly 1 frame to end with subpixels $3FFF.",
1171+
"2) press against the door ledge (from a platform below, assuming one exists)",
1172+
"turn around (while on the ground), and moonwalk back two pixels,",
1173+
"then jump and mid-air turnaround onto the ledge;",
1174+
"if Samus jumped from the correct pixel but does not land on the ledge, then it was needed to moonwalk back 1 more frame;",
1175+
"in this case it is possible to retry by doing a mid-air turnaround back onto the platform, and moonwalking back for 1 frame.",
1176+
"3) if X-Ray is available, press against the door ledge (from a platform below, assuming one exists)",
1177+
"turn around (while on the ground), then jump and mid-air turnaround toward the door,",
1178+
"and use X-Ray to turnaround in place away from the door;",
1179+
"repeat this sequence 3 more times: jump, mid-air turnaround, X-Ray turnaround;",
1180+
"then do one more jump and mid-air turnaround, high enough to land on the door ledge,",
1181+
"and Samus should be in the correct position with subpixels $3FFF."
1182+
]
1183+
},
1184+
{
1185+
"link": [2, 2],
1186+
"name": "Water Shinecharge, Leave With Temporary Blue",
1187+
"entranceCondition": {
1188+
"comeInRunning": {
1189+
"minTiles": 0.4375,
1190+
"speedBooster": true
1191+
}
1192+
},
1193+
"requires": [
1194+
"canWaterShineCharge",
1195+
"canXRayCancelShinecharge",
1196+
"canXRayTurnaround",
1197+
"canLongChainTemporaryBlue"
1198+
],
1199+
"exitCondition": {
1200+
"leaveWithTemporaryBlue": {}
1201+
},
1202+
"unlocksDoors": [
1203+
{"types": ["super"], "requires": []},
1204+
{"types": ["missiles", "powerbomb"], "requires": ["never"]}
1205+
],
1206+
"note": [
1207+
"Start with low run speed by positioning exactly 2 pixels from the door.",
1208+
"Use X-Ray to cancel the shinecharge early, to avoid getting hit by the angry snail."
1209+
],
1210+
"devNote": [
1211+
"This can also be done with a stutter shinecharge, which can shorten the temp blue chain,",
1212+
"but not by enough to remove the need for the canLongChainTemporaryBlue requirement."
9301213
]
9311214
},
9321215
{

0 commit comments

Comments
 (0)