|
366 | 366 | {"or": [ |
367 | 367 | "SpaceJump", |
368 | 368 | "canTrickySpringBallJump", |
369 | | - "canWalljump", |
| 369 | + {"and": [ |
| 370 | + "canWalljump", |
| 371 | + {"or": [ |
| 372 | + "canDash", |
| 373 | + "HiJump", |
| 374 | + {"and": [ |
| 375 | + "canBlueSuitSpikeJump", |
| 376 | + {"spikeHits": 1} |
| 377 | + ]} |
| 378 | + ]} |
| 379 | + ]}, |
370 | 380 | {"and": [ |
371 | 381 | "HiJump", |
372 | 382 | "canSpeedyJump" |
373 | 383 | ]}, |
374 | | - "canPreciseGrapple" |
| 384 | + {"and": [ |
| 385 | + "canPreciseGrapple", |
| 386 | + {"or": [ |
| 387 | + "canDash", |
| 388 | + "canUseEnemies", |
| 389 | + "canInsaneJump" |
| 390 | + ]} |
| 391 | + ]} |
375 | 392 | ]}, |
376 | 393 | "h_heatedGModeOpenDifferentDoor" |
377 | 394 | ], |
|
417 | 434 | "Morph", |
418 | 435 | {"or": [ |
419 | 436 | "SpaceJump", |
420 | | - "canPreciseGrapple", |
| 437 | + {"and": [ |
| 438 | + "canPreciseGrapple", |
| 439 | + "canUseEnemies" |
| 440 | + ]}, |
421 | 441 | {"and": [ |
422 | 442 | "HiJump", |
423 | 443 | "canSpringBallJumpMidAir" |
424 | 444 | ]}, |
425 | 445 | {"and": [ |
| 446 | + "canDash", |
426 | 447 | "HiJump", |
427 | 448 | "canWalljump", |
428 | 449 | "canTrickyJump" |
429 | 450 | ]}, |
430 | 451 | {"and": [ |
431 | 452 | "canWalljump", |
432 | 453 | "canUseIFrames", |
433 | | - {"spikeHits": 1} |
| 454 | + {"spikeHits": 1}, |
| 455 | + "h_spikeJumpWithActiveEnemies" |
434 | 456 | ]}, |
435 | | - "h_IBJFromSpikes" |
| 457 | + {"and": [ |
| 458 | + "h_IBJFromSpikes", |
| 459 | + "h_spikeJumpWithActiveEnemies" |
| 460 | + ]} |
436 | 461 | ]}, |
437 | 462 | "h_heatedGModeOpenDifferentDoor" |
438 | 463 | ], |
|
552 | 577 | "Morph", |
553 | 578 | {"or": [ |
554 | 579 | "SpaceJump", |
555 | | - "canPreciseGrapple", |
| 580 | + {"and": [ |
| 581 | + "canPreciseGrapple", |
| 582 | + "canUseEnemies" |
| 583 | + ]}, |
556 | 584 | {"and": [ |
557 | 585 | "HiJump", |
558 | 586 | "canSpringBallJumpMidAir" |
|
759 | 787 | "canTrickyWalljump", |
760 | 788 | "canConsecutiveWalljump", |
761 | 789 | "canTrickyJump", |
| 790 | + "canFastWalljumpClimb", |
762 | 791 | "canUseEnemies", |
763 | 792 | {"heatFrames": 120}, |
764 | 793 | {"or": [ |
|
770 | 799 | "blueSuitChecked": true, |
771 | 800 | "note": "Wall jump up the left wall, perform a delayed wall jump on the Fune to reach the door.", |
772 | 801 | "devNote": [ |
773 | | - "This differs from the canPrepareForNextRoom option of the previous strat only in requiring an air entry." |
| 802 | + "This differs from the canPrepareForNextRoom option of the previous strat only in requiring an air entry.", |
| 803 | + "FIXME: canFastWalljumpClimb is for difficulty placement." |
774 | 804 | ] |
775 | 805 | }, |
776 | 806 | { |
|
1676 | 1706 | {"or": [ |
1677 | 1707 | "SpaceJump", |
1678 | 1708 | "canTrickySpringBallJump", |
1679 | | - "canWalljump", |
| 1709 | + {"and": [ |
| 1710 | + "canWalljump", |
| 1711 | + {"or": [ |
| 1712 | + "canDash", |
| 1713 | + "HiJump", |
| 1714 | + {"and": [ |
| 1715 | + "canBlueSuitSpikeJump", |
| 1716 | + {"spikeHits": 1} |
| 1717 | + ]} |
| 1718 | + ]} |
| 1719 | + ]}, |
1680 | 1720 | {"and": [ |
1681 | 1721 | "HiJump", |
1682 | 1722 | "canSpeedyJump" |
|
1744 | 1784 | "Morph", |
1745 | 1785 | {"or": [ |
1746 | 1786 | "SpaceJump", |
1747 | | - "canPreciseGrapple", |
| 1787 | + {"and": [ |
| 1788 | + "canPreciseGrapple", |
| 1789 | + {"or": [ |
| 1790 | + "canDash", |
| 1791 | + "canUseEnemies", |
| 1792 | + "canInsaneJump" |
| 1793 | + ]} |
| 1794 | + ]}, |
1748 | 1795 | {"and": [ |
1749 | 1796 | "HiJump", |
1750 | 1797 | "canSpringBallJumpMidAir" |
1751 | 1798 | ]}, |
1752 | 1799 | {"and": [ |
| 1800 | + "canDash", |
1753 | 1801 | "HiJump", |
1754 | 1802 | "canWalljump", |
1755 | 1803 | "canTrickyJump" |
1756 | 1804 | ]}, |
1757 | 1805 | {"and": [ |
1758 | 1806 | "canWalljump", |
1759 | 1807 | "canUseIFrames", |
1760 | | - {"spikeHits": 1} |
| 1808 | + {"spikeHits": 1}, |
| 1809 | + "h_spikeJumpWithActiveEnemies" |
1761 | 1810 | ]}, |
1762 | | - "h_IBJFromSpikes" |
| 1811 | + {"and": [ |
| 1812 | + "h_IBJFromSpikes", |
| 1813 | + "h_spikeJumpWithActiveEnemies" |
| 1814 | + ]} |
1763 | 1815 | ]}, |
1764 | 1816 | "h_heatedGModeOpenDifferentDoor" |
1765 | 1817 | ], |
|
2390 | 2442 | "Morph", |
2391 | 2443 | {"or": [ |
2392 | 2444 | "SpaceJump", |
2393 | | - "canPreciseGrapple", |
| 2445 | + {"and": [ |
| 2446 | + "canPreciseGrapple", |
| 2447 | + "canUseEnemies" |
| 2448 | + ]}, |
2394 | 2449 | {"and": [ |
2395 | 2450 | "HiJump", |
2396 | 2451 | "canSpringBallJumpMidAir" |
|
2579 | 2634 | "requires": [ |
2580 | 2635 | {"or": [ |
2581 | 2636 | "SpaceJump", |
2582 | | - "canPreciseGrapple", |
| 2637 | + {"and": [ |
| 2638 | + "canPreciseGrapple", |
| 2639 | + {"or": [ |
| 2640 | + "canDash", |
| 2641 | + "canUseEnemies", |
| 2642 | + "canInsaneJump" |
| 2643 | + ]} |
| 2644 | + ]}, |
2583 | 2645 | "canInsaneWalljump", |
2584 | 2646 | {"and": [ |
2585 | 2647 | "HiJump", |
|
2714 | 2776 | "requires": [ |
2715 | 2777 | {"or": [ |
2716 | 2778 | "SpaceJump", |
2717 | | - "canPreciseGrapple", |
| 2779 | + {"and": [ |
| 2780 | + "canPreciseGrapple", |
| 2781 | + {"or": [ |
| 2782 | + "canDash", |
| 2783 | + "canUseEnemies", |
| 2784 | + "canInsaneJump" |
| 2785 | + ]} |
| 2786 | + ]}, |
2718 | 2787 | "canInsaneWalljump", |
2719 | 2788 | {"and": [ |
2720 | 2789 | "HiJump", |
|
3028 | 3097 | "canRemoteAcquire", |
3029 | 3098 | {"or": [ |
3030 | 3099 | "SpaceJump", |
3031 | | - "canPreciseGrapple", |
| 3100 | + {"and": [ |
| 3101 | + "canPreciseGrapple", |
| 3102 | + "canUseEnemies" |
| 3103 | + ]}, |
3032 | 3104 | "canSpringBallJumpMidAir", |
3033 | 3105 | "canInsaneWalljump", |
3034 | 3106 | {"and": [ |
|
3526 | 3598 | {"and": [ |
3527 | 3599 | "canDash", |
3528 | 3600 | {"or": [ |
3529 | | - "canPreciseGrapple", |
3530 | 3601 | "canTrickySpringBallJump", |
3531 | 3602 | "canInsaneWalljump", |
3532 | 3603 | {"and": [ |
|
3539 | 3610 | ]}, |
3540 | 3611 | "h_IBJFromSpikes" |
3541 | 3612 | ]} |
| 3613 | + ]}, |
| 3614 | + {"and": [ |
| 3615 | + "canPreciseGrapple", |
| 3616 | + {"or": [ |
| 3617 | + "canDash", |
| 3618 | + "canUseEnemies", |
| 3619 | + "canInsaneJump" |
| 3620 | + ]} |
3542 | 3621 | ]} |
3543 | 3622 | ]}, |
3544 | 3623 | {"heatFrames": 0} |
|
3635 | 3714 | {"and": [ |
3636 | 3715 | "canDash", |
3637 | 3716 | {"or": [ |
3638 | | - "canPreciseGrapple", |
3639 | 3717 | "canTrickySpringBallJump", |
3640 | 3718 | "canInsaneWalljump", |
3641 | 3719 | {"and": [ |
|
3648 | 3726 | ]}, |
3649 | 3727 | "h_IBJFromSpikes" |
3650 | 3728 | ]} |
| 3729 | + ]}, |
| 3730 | + {"and": [ |
| 3731 | + "canPreciseGrapple", |
| 3732 | + {"or": [ |
| 3733 | + "canDash", |
| 3734 | + "canUseEnemies", |
| 3735 | + "canInsaneJump" |
| 3736 | + ]} |
3651 | 3737 | ]} |
3652 | 3738 | ]}, |
3653 | 3739 | {"heatFrames": 35} |
3654 | 3740 | ], |
3655 | 3741 | "clearsObstacles": ["A"], |
3656 | 3742 | "flashSuitChecked": true, |
| 3743 | + "blueSuitChecked": true, |
3657 | 3744 | "note": [ |
3658 | 3745 | "Jump onto the crumble blocks to make them solid, then use them as a platform to cross the room.", |
3659 | 3746 | "With Grapple, a running jump then single Grapple swing can be used before PLMs are overloaded, alternatively jump on the crumble blocks and Grapple the Ripper.", |
|
3695 | 3782 | ], |
3696 | 3783 | "clearsObstacles": ["A"], |
3697 | 3784 | "flashSuitChecked": true, |
| 3785 | + "blueSuitChecked": true, |
3698 | 3786 | "note": [ |
3699 | 3787 | "Jump onto the crumble blocks to make them solid, then use them as a platform to cross the room.", |
3700 | 3788 | "In indirect G-mode, stand where the gate will spawn and exit G-mode to open the gate.", |
|
3737 | 3825 | ], |
3738 | 3826 | "clearsObstacles": ["A"], |
3739 | 3827 | "flashSuitChecked": true, |
| 3828 | + "blueSuitChecked": true, |
3740 | 3829 | "note": [ |
3741 | 3830 | "Bomb horizontally on room entry to jump over the Ripper and land on the crumble blocks, or use a Power Bomb to kill the Ripper.", |
3742 | 3831 | "In indirect G-mode, stand where the gate will spawn and exit G-mode to open the gate.", |
|
3758 | 3847 | {"or": [ |
3759 | 3848 | "canDash", |
3760 | 3849 | {"heatFrames": 100} |
| 3850 | + ]}, |
| 3851 | + {"or": [ |
| 3852 | + {"spikeHits": 1}, |
| 3853 | + {"and": [ |
| 3854 | + "canTrickyJump", |
| 3855 | + {"or": [ |
| 3856 | + "canDash", |
| 3857 | + {"disableEquipment": "HiJump"} |
| 3858 | + ]} |
| 3859 | + ]}, |
| 3860 | + "canInsaneJump" |
3761 | 3861 | ]} |
3762 | 3862 | ], |
3763 | 3863 | "flashSuitChecked": true, |
|
3788 | 3888 | "canDoubleBombJump", |
3789 | 3889 | "canBombHorizontally" |
3790 | 3890 | ]}, |
| 3891 | + {"and": [ |
| 3892 | + "canPreciseGrapple", |
| 3893 | + "canUseEnemies" |
| 3894 | + ]}, |
3791 | 3895 | {"and": [ |
3792 | 3896 | "canDash", |
3793 | 3897 | {"or": [ |
3794 | 3898 | "canTrickySpringBallJump", |
3795 | | - "canPreciseGrapple", |
3796 | 3899 | "canInsaneWalljump", |
3797 | 3900 | {"and": [ |
3798 | 3901 | "HiJump", |
|
3916 | 4019 | "canDash", |
3917 | 4020 | {"or": [ |
3918 | 4021 | "canTrickySpringBallJump", |
3919 | | - "canPreciseGrapple", |
3920 | 4022 | "canInsaneWalljump", |
3921 | 4023 | {"and": [ |
3922 | 4024 | "HiJump", |
|
3928 | 4030 | ]}, |
3929 | 4031 | "h_IBJFromSpikes" |
3930 | 4032 | ]} |
| 4033 | + ]}, |
| 4034 | + {"and": [ |
| 4035 | + "canPreciseGrapple", |
| 4036 | + {"or": [ |
| 4037 | + "canDash", |
| 4038 | + "canUseEnemies", |
| 4039 | + "canInsaneJump" |
| 4040 | + ]} |
3931 | 4041 | ]} |
3932 | 4042 | ]}, |
3933 | 4043 | {"heatFrames": 0} |
|
4450 | 4560 | {"or": [ |
4451 | 4561 | "canDash", |
4452 | 4562 | {"heatFrames": 20} |
| 4563 | + ]}, |
| 4564 | + {"or": [ |
| 4565 | + "canCarefulJump", |
| 4566 | + {"spikeHits": 1} |
4453 | 4567 | ]} |
4454 | 4568 | ], |
4455 | 4569 | "flashSuitChecked": true, |
|
4728 | 4842 | ]}, |
4729 | 4843 | "Plasma", |
4730 | 4844 | "h_heatedGModePauseAbuse", |
4731 | | - "canInsaneJump" |
| 4845 | + "canInsaneJump", |
| 4846 | + "canDash" |
4732 | 4847 | ], |
4733 | 4848 | "flashSuitChecked": true, |
4734 | 4849 | "blueSuitChecked": true, |
|
0 commit comments