-
Notifications
You must be signed in to change notification settings - Fork 19
Aqueduct shinecharges #1999
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aqueduct shinecharges #1999
Changes from 4 commits
07e0ff3
fcdb394
cc797a9
6374d2e
a75582b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -734,22 +734,54 @@ | |
| { | ||
| "id": 21, | ||
| "link": [2, 1], | ||
| "name": "Stutter Water ShineCharge", | ||
| "name": "Stutter Water Shinecharge", | ||
| "entranceCondition": { | ||
| "comeInRunning": { | ||
| "speedBooster": true, | ||
| "minTiles": 2.4375 | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 2 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "h_canUsePowerBombs", | ||
| "canStutterWaterShineCharge", | ||
| "canShinechargeMovement", | ||
| "canShinechargeMovementComplex", | ||
| "h_canShineChargeMaxRunway", | ||
| {"shinespark": {"frames": 25, "excessFrames": 11}} | ||
| {"or": [ | ||
| {"shinespark": {"frames": 25, "excessFrames": 11}}, | ||
| {"and": [ | ||
| "canMidairShinespark", | ||
| {"shinespark": {"frames": 22, "excessFrames": 11}} | ||
| ]} | ||
| ]} | ||
| ], | ||
| "clearsObstacles": ["A"] | ||
| }, | ||
| { | ||
| "link": [2, 1], | ||
| "name": "Very Precise Stutter Water Shinecharge", | ||
| "entranceCondition": { | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 1 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "h_canUsePowerBombs", | ||
| "canPreciseStutterWaterShineCharge", | ||
| "canInsaneJump", | ||
| "canShinechargeMovementTricky", | ||
| "h_canShineChargeMaxRunway", | ||
| {"or": [ | ||
| {"shinespark": {"frames": 25, "excessFrames": 11}}, | ||
| {"and": [ | ||
| "canMidairShinespark", | ||
| {"shinespark": {"frames": 22, "excessFrames": 11}} | ||
| ]} | ||
| ]} | ||
| ], | ||
| "clearsObstacles": ["A"], | ||
| "note": [ | ||
| "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." | ||
| ] | ||
| }, | ||
| { | ||
| "id": 22, | ||
| "link": [2, 1], | ||
|
|
@@ -902,16 +934,69 @@ | |
| { | ||
| "id": 27, | ||
| "link": [2, 2], | ||
| "name": "Stutter Shinecharge, Shinespark Return", | ||
| "name": "Stutter Shinecharge, Leave With Spark", | ||
| "entranceCondition": { | ||
| "comeInRunning": { | ||
| "speedBooster": true, | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 2 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canShinechargeMovementComplex", | ||
| "canStutterWaterShineCharge", | ||
| "canShinechargeMovementComplex", | ||
| {"or": [ | ||
| {"shinespark": {"frames": 12}}, | ||
| {"and": [ | ||
| "canShinechargeMovementTricky", | ||
| {"shinespark": {"frames": 3}} | ||
| ]} | ||
| ]} | ||
| ], | ||
| "exitCondition": { | ||
| "leaveWithSpark": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Water Shinecharge, Hero Shot Leave With Spark", | ||
| "entranceCondition": { | ||
| "comeInRunning": { | ||
| "minTiles": 0.4375, | ||
| "speedBooster": true | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canWaterShineCharge", | ||
| "canShinechargeMovementTricky", | ||
| "canHeroShot", | ||
| {"shinespark": {"frames": 29}} | ||
| ], | ||
| "exitCondition": { | ||
| "leaveWithSpark": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "Start with low run speed by positioning exactly 2 pixels from the door." | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Very Precise Stutter Shinecharge, Leave With Spark", | ||
| "entranceCondition": { | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 1 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canShinechargeMovementComplex", | ||
| "canPreciseStutterWaterShineCharge", | ||
| "canInsaneJump", | ||
| "h_canShineChargeMaxRunway", | ||
| {"or": [ | ||
| {"shinespark": {"frames": 12}}, | ||
|
|
@@ -927,6 +1012,235 @@ | |
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "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." | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)", | ||
| "entranceCondition": { | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 5 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canPreciseStutterWaterShineCharge", | ||
| "canShinechargeMovementTricky", | ||
| "canInsaneJump", | ||
| {"shineChargeFrames": 130} | ||
| ], | ||
| "exitCondition": { | ||
| "leaveShinecharged": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "With a runway of 5 tiles (open end) in the other room,", | ||
| "the ideal timing for the stutter is to release forward for 5 frames, and repress forward on the last possible frame before the transition.", | ||
| "Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", | ||
| "After gaining the shinecharge, continue holding forward in order to make Samus stand.", | ||
| "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge." | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Precise Stutter Shinecharge, Leave Shinecharged (4-tile runway)", | ||
| "entranceCondition": { | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 4 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canPreciseStutterWaterShineCharge", | ||
| "canShinechargeMovementTricky", | ||
| "canInsaneJump", | ||
| {"shineChargeFrames": 140} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 155 at extreme |
||
| ], | ||
| "exitCondition": { | ||
| "leaveShinecharged": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "With only a runway of 4 tiles (open end) in the other room,", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I tried 4 and 5 tiles for a while and couldn't get close to leaving with frames with either. These strats don't scale down since you lose so many frames to a suboptimal input, so they need stronger requirements.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I think it makes sense to add "canInsaneJump" to all of these. |
||
| "the ideal timing for the stutter is to release forward for 4 frames, and repress forward on the last possible frame before the transition.", | ||
| "It also works well to release forward for 3 frames and repress on the last possible frame.", | ||
| "Other timings can also work, but may gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", | ||
| "After gaining the shinecharge, continue holding forward in order to make Samus stand.", | ||
| "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge." | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Precise Stutter Shinecharge, Leave Shinecharged (3-tile runway)", | ||
| "entranceCondition": { | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 3 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canPreciseStutterWaterShineCharge", | ||
| "canShinechargeMovementTricky", | ||
| "canInsaneJump", | ||
| {"shineChargeFrames": 145}, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 160 at extreme |
||
| {"or": [ | ||
| "canBeVeryPatient", | ||
| {"shineChargeFrames": 5} | ||
| ]} | ||
| ], | ||
| "exitCondition": { | ||
| "leaveShinecharged": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "With only a runway of 3 tiles (open end) in the other room,", | ||
| "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.", | ||
| "Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", | ||
| "After gaining the shinecharge, continue holding forward in order to make Samus stand.", | ||
| "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge.", | ||
| "Alternatively, with greater difficulty but saving some shinecharge frames,", | ||
| "after performing the turnaround spin jump, briefly moonwalk back, then retain momentum by boomeranging forward", | ||
| "(switching from pressing backward to pressing forward on the next frame),", | ||
| "and arm pump to reach the door quickly." | ||
| ], | ||
| "devNote": [ | ||
| "The same shinecharge frames could be achieved with a closed end runway (effective length of 2.4375),", | ||
| "with a 3-frame stutter, but there doesn't appear to be any application." | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Precise Stutter Shinecharge, Leave Shinecharged (2-tile runway)", | ||
| "entranceCondition": { | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 2 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canPreciseStutterWaterShineCharge", | ||
| "canShinechargeMovementTricky", | ||
| "canInsaneJump", | ||
| {"shineChargeFrames": 150}, | ||
| {"or": [ | ||
| "canBeVeryPatient", | ||
| {"shineChargeFrames": 10} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. At extreme it feels to me like
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm interpreting this as increasing I find the moonwalk boomerang harder to execute compared to getting a perfect stutter, but it makes sense that this is going to vary by player; with more practice probably I could get more comfortable with it. |
||
| ]} | ||
| ], | ||
| "exitCondition": { | ||
| "leaveShinecharged": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "With only a runway of 2 tiles (open end) in the other room,", | ||
| "the ideal timing for the stutter is to release forward for 3 frames, and repress forward on the last possible frame before the transition.", | ||
| "Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", | ||
| "After gaining the shinecharge, continue holding forward in order to make Samus stand.", | ||
| "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge.", | ||
| "Alternatively, with greater difficulty but saving some shinecharge frames,", | ||
| "after performing the turnaround spin jump, briefly moonwalk back, then retain momentum by boomeranging forward", | ||
| "(switching from pressing backward to pressing forward on the next frame),", | ||
| "and arm pump to reach the door quickly." | ||
| ], | ||
| "devNote": [ | ||
| "FIXME: The canBeVeryPatient requirement is for difficulty placement of the boomerang method;", | ||
| "but the boomerang (or maybe specifically the moonwalk boomerang) should possibly be its own tech,", | ||
| "and the same with rapid arm pumping." | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Precise Stutter Shinecharge, Leave Shinecharged (1-tile runway)", | ||
| "entranceCondition": { | ||
| "comeInStutterShinecharging": { | ||
| "minTiles": 1 | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canPreciseStutterWaterShineCharge", | ||
| "canInsaneJump", | ||
| "canBeVeryPatient", | ||
| "canShinechargeMovementTricky", | ||
| {"shineChargeFrames": 160} | ||
| ], | ||
| "exitCondition": { | ||
| "leaveShinecharged": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "With only 1 tile of runway in the other room, Samus should ideally start on the last pixel of runway with X subpixels of $3FFF or less.", | ||
| "Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.", | ||
| "Starting with X subpixels of $7FFF can also work (e.g., by simply backing against the door ledge, then jumping and turning around mid-air);", | ||
| "in this case, Samus must advance 1 or 2 pixels with an arm pump before the transition (e.g., firing a shot or pressing and/or releasing an angle button),", | ||
| "and the shinecharge will be gained slightly further away from the door.", | ||
| "After gaining the shinecharge, continue holding forward in order to make Samus stand.", | ||
| "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge.", | ||
| "Alternatively, with greater difficulty but saving some shinecharge frames,", | ||
| "after performing the turnaround spin jump, briefly moonwalk back, then retain momentum by boomeranging forward", | ||
| "(switching from pressing backward to pressing forward on the next frame),", | ||
| "and arm pump to reach the door quickly." | ||
| ], | ||
| "detailNote": [ | ||
| "Ideal subpixels ($3FFF) can be achieved using one of several methods:", | ||
| "1) press forward against the door ledge (or a wall aligned with it);", | ||
| "jump, and while mid-air, tap forward for exactly 1 frame to land with subpixels $BFFF,", | ||
| "moonwalk back for exactly 1 frame to end with subpixels $3FFF.", | ||
| "2) press forward against the door ledge (from a platform below, assuming one exists)", | ||
| "turn around (while on the ground), and moonwalk back two pixels,", | ||
| "then jump and mid-air turnaround onto the ledge;", | ||
| "if Samus jumped from the correct pixel but does not land on the ledge, then it was needed to moonwalk back 1 more frame;", | ||
| "in this case it is possible to retry by doing a mid-air turnaround back onto the platform, and moonwalking back for 1 frame.", | ||
| "3) if X-Ray is available, press against the door ledge (from a platform below, assuming one exists)", | ||
| "turn around (while on the ground), then jump and mid-air turnaround toward the door,", | ||
| "and use X-Ray to turnaround in place away from the door;", | ||
| "repeat this sequence 3 more times: jump, mid-air turnaround, X-Ray turnaround;", | ||
| "then do one more jump and mid-air turnaround, high enough to land on the door ledge,", | ||
| "and Samus should be in the correct position with subpixels $3FFF." | ||
| ] | ||
| }, | ||
| { | ||
| "link": [2, 2], | ||
| "name": "Water Shinecharge, Leave With Temporary Blue", | ||
| "entranceCondition": { | ||
| "comeInRunning": { | ||
| "minTiles": 0.4375, | ||
| "speedBooster": true | ||
| } | ||
| }, | ||
| "requires": [ | ||
| "canWaterShineCharge", | ||
| "canXRayCancelShinecharge", | ||
| "canXRayTurnaround", | ||
| "canLongChainTemporaryBlue" | ||
| ], | ||
| "exitCondition": { | ||
| "leaveWithTemporaryBlue": {} | ||
| }, | ||
| "unlocksDoors": [ | ||
| {"types": ["super"], "requires": []}, | ||
| {"types": ["missiles", "powerbomb"], "requires": ["never"]} | ||
| ], | ||
| "note": [ | ||
| "Start with low run speed by positioning exactly 2 pixels from the door.", | ||
| "Use X-Ray to cancel the shinecharge early, to avoid getting hit by the angry snail." | ||
| ], | ||
| "devNote": [ | ||
| "This can also be done with a stutter shinecharge, which can shorten the temp blue chain,", | ||
| "but not by enough to remove the need for the canLongChainTemporaryBlue requirement." | ||
| ] | ||
| }, | ||
| { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
150 at extreme