diff --git a/region/maridia/inner-green/Oasis.json b/region/maridia/inner-green/Oasis.json index f9fbe6b377..d1f34c2ac5 100644 --- a/region/maridia/inner-green/Oasis.json +++ b/region/maridia/inner-green/Oasis.json @@ -403,6 +403,212 @@ "requires": [], "clearsObstacles": ["A"] }, + { + "link": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 5 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 130}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 15} + ]} + ], + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (4-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 4 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 140}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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,", + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (3-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 3 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 145}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (2-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 2 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 150}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 15} + ]} + ], + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (1-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 1 + } + }, + "requires": [ + {"doorUnlockedAtNode": 2}, + "canPreciseStutterWaterShineCharge", + "canInsaneJump", + "canBeVeryPatient", + "canShinechargeMovementTricky", + {"shineChargeFrames": 160} + ], + "exitCondition": { + "leaveShinecharged": {} + }, + "unlocksDoors": [ + {"nodeId": 2, "types": ["missiles", "super"], "requires": []}, + {"nodeId": 2, "types": ["powerbomb"], "requires": ["never"]}, + {"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." + ] + }, { "id": 9, "link": [1, 1], @@ -865,9 +1071,11 @@ ], "endsWithShineCharge": true, "note": [ - "With only 1 tile of runway in the other room, this requires subpixel-precise positioning and a double frame-perfect stutter:", - "At the start of the run, Samus must be on the last pixel of runway with X subpixels of $3FFF or less.", + "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.", "After the transition, shoot open the opposite door while running, to extend the runway by a tile." ], "detailNote": [ @@ -1243,6 +1451,212 @@ "requires": [], "clearsObstacles": ["A"] }, + { + "link": [2, 2], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 5 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 130}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 15} + ]} + ], + "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}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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,", + "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}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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": 15} + ]} + ], + "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": [ + {"doorUnlockedAtNode": 1}, + "canPreciseStutterWaterShineCharge", + "canInsaneJump", + "canBeVeryPatient", + "canShinechargeMovementTricky", + {"shineChargeFrames": 160} + ], + "exitCondition": { + "leaveShinecharged": {} + }, + "unlocksDoors": [ + {"nodeId": 1, "types": ["missiles", "super"], "requires": []}, + {"nodeId": 1, "types": ["powerbomb"], "requires": ["never"]}, + {"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." + ] + }, { "id": 38, "link": [2, 2], @@ -1594,9 +2008,11 @@ ], "endsWithShineCharge": true, "note": [ - "With only 1 tile of runway in the other room, this requires subpixel-precise positioning and a double frame-perfect stutter:", - "At the start of the run, Samus must be on the last pixel of runway with X subpixels of $C000 or greater.", + "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.", "After the transition, shoot open the opposite door while running, to extend the runway by a tile." ], "detailNote": [ @@ -1983,23 +2399,6 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ] }, - { - "id": 92, - "link": [7, 2], - "name": "Leave Shinecharged", - "startsWithShineCharge": true, - "requires": [ - "canShinechargeMovementTricky", - {"shineChargeFrames": 155} - ], - "exitCondition": { - "leaveShinecharged": {} - }, - "unlocksDoors": [ - {"types": ["super"], "requires": []}, - {"types": ["missiles", "powerbomb"], "requires": ["never"]} - ] - }, { "id": 93, "link": [7, 2], @@ -2092,23 +2491,6 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ] }, - { - "id": 95, - "link": [8, 1], - "name": "Leave Shinecharged", - "startsWithShineCharge": true, - "requires": [ - "canShinechargeMovementTricky", - {"shineChargeFrames": 155} - ], - "exitCondition": { - "leaveShinecharged": {} - }, - "unlocksDoors": [ - {"types": ["super"], "requires": []}, - {"types": ["missiles", "powerbomb"], "requires": ["never"]} - ] - }, { "id": 96, "link": [8, 1], diff --git a/region/maridia/inner-green/West Sand Hall Tunnel.json b/region/maridia/inner-green/West Sand Hall Tunnel.json index 811f9c41e8..651f4ec58f 100644 --- a/region/maridia/inner-green/West Sand Hall Tunnel.json +++ b/region/maridia/inner-green/West Sand Hall Tunnel.json @@ -148,6 +148,247 @@ ], "flashSuitChecked": true }, + { + "link": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 5 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + {"or": [ + "Wave", + "Spazer", + "Plasma", + {"ammo": {"type": "Missile", "count": 2}}, + {"ammo": {"type": "Super", "count": 1}} + ]}, + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 130}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 15} + ]} + ], + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (4-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 4 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + {"or": [ + "Wave", + "Spazer", + "Plasma", + {"ammo": {"type": "Missile", "count": 2}}, + {"ammo": {"type": "Super", "count": 1}} + ]}, + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 140}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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,", + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (3-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 3 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + {"or": [ + "Wave", + "Spazer", + "Plasma", + {"ammo": {"type": "Missile", "count": 2}}, + {"ammo": {"type": "Super", "count": 1}} + ]}, + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 145}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (2-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 2 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + {"or": [ + "Wave", + "Spazer", + "Plasma", + {"ammo": {"type": "Missile", "count": 2}}, + {"ammo": {"type": "Super", "count": 1}} + ]}, + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 150}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 15} + ]} + ], + "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": [1, 1], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (1-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 1 + } + }, + "requires": [ + {"doorUnlockedAtNode": 2}, + "canPreciseStutterWaterShineCharge", + {"or": [ + "Wave", + "Spazer", + "Plasma", + {"ammo": {"type": "Missile", "count": 2}}, + {"ammo": {"type": "Super", "count": 1}} + ]}, + "canInsaneJump", + "canBeVeryPatient", + "canShinechargeMovementTricky", + {"shineChargeFrames": 160} + ], + "exitCondition": { + "leaveShinecharged": {} + }, + "unlocksDoors": [ + {"nodeId": 2, "types": ["missiles", "super"], "requires": []}, + {"nodeId": 2, "types": ["powerbomb"], "requires": ["never"]}, + {"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." + ] + }, { "id": 5, "link": [1, 1], @@ -687,6 +928,212 @@ }, "unlocksDoors": [{"nodeId": 1, "types": ["ammo"], "requires": []}] }, + { + "link": [2, 2], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 5 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 130}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 15} + ]} + ], + "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}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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,", + "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}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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": 15} + ]} + ], + "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": [ + {"doorUnlockedAtNode": 1}, + "canPreciseStutterWaterShineCharge", + "canInsaneJump", + "canBeVeryPatient", + "canShinechargeMovementTricky", + {"shineChargeFrames": 160} + ], + "exitCondition": { + "leaveShinecharged": {} + }, + "unlocksDoors": [ + {"nodeId": 1, "types": ["missiles", "super"], "requires": []}, + {"nodeId": 1, "types": ["powerbomb"], "requires": ["never"]}, + {"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." + ] + }, { "id": 30, "link": [2, 2], @@ -895,23 +1342,6 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ] }, - { - "id": 49, - "link": [3, 2], - "name": "Leave Shinecharged", - "startsWithShineCharge": true, - "requires": [ - "canShinechargeMovementTricky", - {"shineChargeFrames": 155} - ], - "exitCondition": { - "leaveShinecharged": {} - }, - "unlocksDoors": [ - {"types": ["super"], "requires": []}, - {"types": ["missiles", "powerbomb"], "requires": ["never"]} - ] - }, { "id": 50, "link": [3, 2], @@ -955,23 +1385,6 @@ {"types": ["missiles", "powerbomb"], "requires": ["never"]} ] }, - { - "id": 52, - "link": [4, 1], - "name": "Leave Shinecharged", - "startsWithShineCharge": true, - "requires": [ - "canShinechargeMovementTricky", - {"shineChargeFrames": 155} - ], - "exitCondition": { - "leaveShinecharged": {} - }, - "unlocksDoors": [ - {"types": ["super"], "requires": []}, - {"types": ["missiles", "powerbomb"], "requires": ["never"]} - ] - }, { "id": 53, "link": [4, 1], diff --git a/region/maridia/inner-pink/The Precious Room.json b/region/maridia/inner-pink/The Precious Room.json index 74c892f141..d730c16023 100644 --- a/region/maridia/inner-pink/The Precious Room.json +++ b/region/maridia/inner-pink/The Precious Room.json @@ -767,6 +767,156 @@ ], "flashSuitChecked": true }, + { + "link": [2, 2], + "name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)", + "entranceCondition": { + "comeInStutterShinecharging": { + "minTiles": 5 + } + }, + "requires": [ + "canPreciseStutterWaterShineCharge", + "canShinechargeMovementTricky", + "canInsaneJump", + {"shineChargeFrames": 130}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 15} + ]} + ], + "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}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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,", + "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}, + {"or": [ + "canBeVeryPatient", + {"shineChargeFrames": 10} + ]} + ], + "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": 15} + ]} + ], + "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." + ] + }, { "id": 41, "link": [2, 4], @@ -925,23 +1075,6 @@ {"types": ["powerbomb"], "requires": ["never"]} ] }, - { - "id": 45, - "link": [4, 2], - "name": "Start Shinecharged, Leave Shinecharged", - "startsWithShineCharge": true, - "requires": [ - {"shineChargeFrames": 155}, - "canShinechargeMovementTricky" - ], - "exitCondition": { - "leaveShinecharged": {} - }, - "unlocksDoors": [ - {"types": ["missiles", "super"], "requires": []}, - {"types": ["powerbomb"], "requires": ["never"]} - ] - }, { "id": 46, "link": [4, 2],