|
602 | 602 | } |
603 | 603 | } |
604 | 604 | }, |
| 605 | + { |
| 606 | + "link": [2, 2], |
| 607 | + "name": "Stutter Shinecharge, Leave With Spark", |
| 608 | + "entranceCondition": { |
| 609 | + "comeInStutterShinecharging": { |
| 610 | + "minTiles": 2 |
| 611 | + } |
| 612 | + }, |
| 613 | + "requires": [ |
| 614 | + "canStutterWaterShineCharge", |
| 615 | + "canShinechargeMovementComplex", |
| 616 | + {"or": [ |
| 617 | + {"shinespark": {"frames": 12}}, |
| 618 | + {"and": [ |
| 619 | + "canShinechargeMovementTricky", |
| 620 | + {"shinespark": {"frames": 3}} |
| 621 | + ]} |
| 622 | + ]} |
| 623 | + ], |
| 624 | + "exitCondition": { |
| 625 | + "leaveWithSpark": {} |
| 626 | + }, |
| 627 | + "unlocksDoors": [ |
| 628 | + {"types": ["super"], "requires": []}, |
| 629 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 630 | + ] |
| 631 | + }, |
| 632 | + { |
| 633 | + "link": [2, 2], |
| 634 | + "name": "Water Shinecharge, Hero Shot Leave With Spark", |
| 635 | + "entranceCondition": { |
| 636 | + "comeInRunning": { |
| 637 | + "minTiles": 0.4375, |
| 638 | + "speedBooster": true |
| 639 | + } |
| 640 | + }, |
| 641 | + "requires": [ |
| 642 | + "canWaterShineCharge", |
| 643 | + "canShinechargeMovementTricky", |
| 644 | + "canHeroShot", |
| 645 | + {"shinespark": {"frames": 29}} |
| 646 | + ], |
| 647 | + "exitCondition": { |
| 648 | + "leaveWithSpark": {} |
| 649 | + }, |
| 650 | + "unlocksDoors": [ |
| 651 | + {"types": ["super"], "requires": []}, |
| 652 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 653 | + ], |
| 654 | + "note": ["Start with low run speed by positioning exactly 2 pixels from the door."] |
| 655 | + }, |
| 656 | + { |
| 657 | + "link": [2, 2], |
| 658 | + "name": "Very Precise Stutter Shinecharge, Leave With Spark", |
| 659 | + "entranceCondition": { |
| 660 | + "comeInStutterShinecharging": { |
| 661 | + "minTiles": 1 |
| 662 | + } |
| 663 | + }, |
| 664 | + "requires": [ |
| 665 | + "canShinechargeMovementComplex", |
| 666 | + "canPreciseStutterWaterShineCharge", |
| 667 | + "canInsaneJump", |
| 668 | + "h_shinechargeMaxRunway", |
| 669 | + {"or": [ |
| 670 | + {"shinespark": {"frames": 12}}, |
| 671 | + {"and": [ |
| 672 | + "canShinechargeMovementTricky", |
| 673 | + {"shinespark": {"frames": 3}} |
| 674 | + ]} |
| 675 | + ]} |
| 676 | + ], |
| 677 | + "exitCondition": { |
| 678 | + "leaveWithSpark": {} |
| 679 | + }, |
| 680 | + "unlocksDoors": [ |
| 681 | + {"types": ["super"], "requires": []}, |
| 682 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 683 | + ], |
| 684 | + "note": [ |
| 685 | + "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." |
| 686 | + ] |
| 687 | + }, |
| 688 | + { |
| 689 | + "link": [2, 2], |
| 690 | + "name": "Precise Stutter Shinecharge, Leave Shinecharged (5-tile runway)", |
| 691 | + "entranceCondition": { |
| 692 | + "comeInStutterShinecharging": { |
| 693 | + "minTiles": 5 |
| 694 | + } |
| 695 | + }, |
| 696 | + "requires": [ |
| 697 | + "canPreciseStutterWaterShineCharge", |
| 698 | + "canShinechargeMovementTricky", |
| 699 | + "canInsaneJump", |
| 700 | + {"shineChargeFrames": 130}, |
| 701 | + {"or": [ |
| 702 | + "canBeVeryPatient", |
| 703 | + {"shineChargeFrames": 15} |
| 704 | + ]} |
| 705 | + ], |
| 706 | + "exitCondition": { |
| 707 | + "leaveShinecharged": {} |
| 708 | + }, |
| 709 | + "unlocksDoors": [ |
| 710 | + {"types": ["super"], "requires": []}, |
| 711 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 712 | + ], |
| 713 | + "note": [ |
| 714 | + "With a runway of 5 tiles (open end) in the other room,", |
| 715 | + "the ideal timing for the stutter is to release forward for 5 frames, and repress forward on the last possible frame before the transition.", |
| 716 | + "Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", |
| 717 | + "After gaining the shinecharge, continue holding forward in order to make Samus stand.", |
| 718 | + "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge." |
| 719 | + ] |
| 720 | + }, |
| 721 | + { |
| 722 | + "link": [2, 2], |
| 723 | + "name": "Precise Stutter Shinecharge, Leave Shinecharged (4-tile runway)", |
| 724 | + "entranceCondition": { |
| 725 | + "comeInStutterShinecharging": { |
| 726 | + "minTiles": 4 |
| 727 | + } |
| 728 | + }, |
| 729 | + "requires": [ |
| 730 | + "canPreciseStutterWaterShineCharge", |
| 731 | + "canShinechargeMovementTricky", |
| 732 | + "canInsaneJump", |
| 733 | + {"shineChargeFrames": 140}, |
| 734 | + {"or": [ |
| 735 | + "canBeVeryPatient", |
| 736 | + {"shineChargeFrames": 10} |
| 737 | + ]} |
| 738 | + ], |
| 739 | + "exitCondition": { |
| 740 | + "leaveShinecharged": {} |
| 741 | + }, |
| 742 | + "unlocksDoors": [ |
| 743 | + {"types": ["super"], "requires": []}, |
| 744 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 745 | + ], |
| 746 | + "note": [ |
| 747 | + "With only a runway of 4 tiles (open end) in the other room,", |
| 748 | + "the ideal timing for the stutter is to release forward for 4 frames, and repress forward on the last possible frame before the transition.", |
| 749 | + "It also works well to release forward for 3 frames and repress on the last possible frame.", |
| 750 | + "Other timings can also work, but may gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", |
| 751 | + "After gaining the shinecharge, continue holding forward in order to make Samus stand.", |
| 752 | + "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge." |
| 753 | + ] |
| 754 | + }, |
| 755 | + { |
| 756 | + "link": [2, 2], |
| 757 | + "name": "Precise Stutter Shinecharge, Leave Shinecharged (3-tile runway)", |
| 758 | + "entranceCondition": { |
| 759 | + "comeInStutterShinecharging": { |
| 760 | + "minTiles": 3 |
| 761 | + } |
| 762 | + }, |
| 763 | + "requires": [ |
| 764 | + "canPreciseStutterWaterShineCharge", |
| 765 | + "canShinechargeMovementTricky", |
| 766 | + "canInsaneJump", |
| 767 | + {"shineChargeFrames": 145}, |
| 768 | + {"or": [ |
| 769 | + "canBeVeryPatient", |
| 770 | + {"shineChargeFrames": 10} |
| 771 | + ]} |
| 772 | + ], |
| 773 | + "exitCondition": { |
| 774 | + "leaveShinecharged": {} |
| 775 | + }, |
| 776 | + "unlocksDoors": [ |
| 777 | + {"types": ["super"], "requires": []}, |
| 778 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 779 | + ], |
| 780 | + "note": [ |
| 781 | + "With only a runway of 3 tiles (open end) in the other room,", |
| 782 | + "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.", |
| 783 | + "Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", |
| 784 | + "After gaining the shinecharge, continue holding forward in order to make Samus stand.", |
| 785 | + "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge.", |
| 786 | + "Alternatively, with greater difficulty but saving some shinecharge frames,", |
| 787 | + "after performing the turnaround spin jump, briefly moonwalk back, then retain momentum by boomeranging forward", |
| 788 | + "(switching from pressing backward to pressing forward on the next frame),", |
| 789 | + "and arm pump to reach the door quickly." |
| 790 | + ], |
| 791 | + "devNote": [ |
| 792 | + "The same shinecharge frames could be achieved with a closed end runway (effective length of 2.4375),", |
| 793 | + "with a 3-frame stutter, but there doesn't appear to be any application." |
| 794 | + ] |
| 795 | + }, |
| 796 | + { |
| 797 | + "link": [2, 2], |
| 798 | + "name": "Precise Stutter Shinecharge, Leave Shinecharged (2-tile runway)", |
| 799 | + "entranceCondition": { |
| 800 | + "comeInStutterShinecharging": { |
| 801 | + "minTiles": 2 |
| 802 | + } |
| 803 | + }, |
| 804 | + "requires": [ |
| 805 | + "canPreciseStutterWaterShineCharge", |
| 806 | + "canShinechargeMovementTricky", |
| 807 | + "canInsaneJump", |
| 808 | + {"shineChargeFrames": 150}, |
| 809 | + {"or": [ |
| 810 | + "canBeVeryPatient", |
| 811 | + {"shineChargeFrames": 15} |
| 812 | + ]} |
| 813 | + ], |
| 814 | + "exitCondition": { |
| 815 | + "leaveShinecharged": {} |
| 816 | + }, |
| 817 | + "unlocksDoors": [ |
| 818 | + {"types": ["super"], "requires": []}, |
| 819 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 820 | + ], |
| 821 | + "note": [ |
| 822 | + "With only a runway of 2 tiles (open end) in the other room,", |
| 823 | + "the ideal timing for the stutter is to release forward for 3 frames, and repress forward on the last possible frame before the transition.", |
| 824 | + "Other timings can work, but will gain the shinecharge further from the door, leaving fewer shinecharge frames remaining.", |
| 825 | + "After gaining the shinecharge, continue holding forward in order to make Samus stand.", |
| 826 | + "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge.", |
| 827 | + "Alternatively, with greater difficulty but saving some shinecharge frames,", |
| 828 | + "after performing the turnaround spin jump, briefly moonwalk back, then retain momentum by boomeranging forward", |
| 829 | + "(switching from pressing backward to pressing forward on the next frame),", |
| 830 | + "and arm pump to reach the door quickly." |
| 831 | + ], |
| 832 | + "devNote": [ |
| 833 | + "FIXME: The canBeVeryPatient requirement is for difficulty placement of the boomerang method;", |
| 834 | + "but the boomerang (or maybe specifically the moonwalk boomerang) should possibly be its own tech,", |
| 835 | + "and the same with rapid arm pumping." |
| 836 | + ] |
| 837 | + }, |
| 838 | + { |
| 839 | + "link": [2, 2], |
| 840 | + "name": "Precise Stutter Shinecharge, Leave Shinecharged (1-tile runway)", |
| 841 | + "entranceCondition": { |
| 842 | + "comeInStutterShinecharging": { |
| 843 | + "minTiles": 1 |
| 844 | + } |
| 845 | + }, |
| 846 | + "requires": [ |
| 847 | + "canPreciseStutterWaterShineCharge", |
| 848 | + "canInsaneJump", |
| 849 | + "canBeVeryPatient", |
| 850 | + "canShinechargeMovementTricky", |
| 851 | + {"shineChargeFrames": 160} |
| 852 | + ], |
| 853 | + "exitCondition": { |
| 854 | + "leaveShinecharged": {} |
| 855 | + }, |
| 856 | + "unlocksDoors": [ |
| 857 | + {"types": ["super"], "requires": []}, |
| 858 | + {"types": ["missiles", "powerbomb"], "requires": ["never"]} |
| 859 | + ], |
| 860 | + "note": [ |
| 861 | + "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.", |
| 862 | + "Run toward the door, releasing forward for exactly 1 frame and pressing it again on the last possible frame before the transition.", |
| 863 | + "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);", |
| 864 | + "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),", |
| 865 | + "and the shinecharge will be gained slightly further away from the door.", |
| 866 | + "After gaining the shinecharge, continue holding forward in order to make Samus stand.", |
| 867 | + "Then turnaround spin jump back toward the door, and continue spin jumping to reach the transition with a shinecharge.", |
| 868 | + "Alternatively, with greater difficulty but saving some shinecharge frames,", |
| 869 | + "after performing the turnaround spin jump, briefly moonwalk back, then retain momentum by boomeranging forward", |
| 870 | + "(switching from pressing backward to pressing forward on the next frame),", |
| 871 | + "and arm pump to reach the door quickly." |
| 872 | + ], |
| 873 | + "detailNote": [ |
| 874 | + "Ideal subpixels ($3FFF) can be achieved using one of several methods:", |
| 875 | + "1) press forward against the door ledge (or a wall aligned with it);", |
| 876 | + "jump, and while mid-air, tap forward for exactly 1 frame to land with subpixels $BFFF,", |
| 877 | + "moonwalk back for exactly 1 frame to end with subpixels $3FFF.", |
| 878 | + "2) press forward against the door ledge (from a platform below, assuming one exists)", |
| 879 | + "turn around (while on the ground), and moonwalk back two pixels,", |
| 880 | + "then jump and mid-air turnaround onto the ledge;", |
| 881 | + "if Samus jumped from the correct pixel but does not land on the ledge, then it was needed to moonwalk back 1 more frame;", |
| 882 | + "in this case it is possible to retry by doing a mid-air turnaround back onto the platform, and moonwalking back for 1 frame.", |
| 883 | + "3) if X-Ray is available, press against the door ledge (from a platform below, assuming one exists)", |
| 884 | + "turn around (while on the ground), then jump and mid-air turnaround toward the door,", |
| 885 | + "and use X-Ray to turnaround in place away from the door;", |
| 886 | + "repeat this sequence 3 more times: jump, mid-air turnaround, X-Ray turnaround;", |
| 887 | + "then do one more jump and mid-air turnaround, high enough to land on the door ledge,", |
| 888 | + "and Samus should be in the correct position with subpixels $3FFF." |
| 889 | + ] |
| 890 | + }, |
| 891 | + { |
| 892 | + "link": [2, 2], |
| 893 | + "name": "Water Shinecharge, Leave With Temporary Blue", |
| 894 | + "entranceCondition": { |
| 895 | + "comeInRunning": { |
| 896 | + "minTiles": 0.4375, |
| 897 | + "speedBooster": true |
| 898 | + } |
| 899 | + }, |
| 900 | + "requires": [ |
| 901 | + "canWaterShineCharge", |
| 902 | + "canXRayTurnaround", |
| 903 | + "canLongChainTemporaryBlue" |
| 904 | + ], |
| 905 | + "exitCondition": { |
| 906 | + "leaveWithTemporaryBlue": {} |
| 907 | + }, |
| 908 | + "unlocksDoors": [{"types": ["ammo"], "requires": []}], |
| 909 | + "note": [ |
| 910 | + "Start with low run speed by positioning exactly 2 pixels from the door.", |
| 911 | + "Use X-ray to turn around, and chain temporary blue back to the door." |
| 912 | + ], |
| 913 | + "devNote": [ |
| 914 | + "This can also be done with a stutter shinecharge, which can shorten the temp blue chain,", |
| 915 | + "but not by enough to remove the need for the canLongChainTemporaryBlue requirement." |
| 916 | + ] |
| 917 | + }, |
605 | 918 | { |
606 | 919 | "id": 16, |
607 | 920 | "link": [2, 2], |
|
0 commit comments