|
725 | 725 | "Let the Zero lead through the morph tunnel or wait for the it to get very close to Samus before touching the scroll block at the exit." |
726 | 726 | ] |
727 | 727 | }, |
| 728 | + { |
| 729 | + "link": [2, 2], |
| 730 | + "name": "Zero Farm", |
| 731 | + "requires": [ |
| 732 | + {"or": [ |
| 733 | + {"and": [ |
| 734 | + {"resetRoom": {"nodes": [2]}}, |
| 735 | + {"cycleFrames": 460} |
| 736 | + ]}, |
| 737 | + {"and": [ |
| 738 | + {"resetRoom": {"nodes": [4]}}, |
| 739 | + {"cycleFrames": 660}, |
| 740 | + {"or": [ |
| 741 | + "canWalljump", |
| 742 | + "HiJump", |
| 743 | + {"and": [ |
| 744 | + "canDoubleBombJump", |
| 745 | + {"cycleFrames": 140} |
| 746 | + ]}, |
| 747 | + {"and": [ |
| 748 | + "canSpringBallJumpMidAir", |
| 749 | + {"cycleFrames": 40}, |
| 750 | + "h_doubleEquipmentScreenCycleFrames" |
| 751 | + ]} |
| 752 | + ]} |
| 753 | + ]}, |
| 754 | + {"and": [ |
| 755 | + {"resetRoom": {"nodes": [1]}}, |
| 756 | + {"cycleFrames": 840}, |
| 757 | + {"or": [ |
| 758 | + "canWalljump", |
| 759 | + "HiJump", |
| 760 | + "SpaceJump", |
| 761 | + {"and": [ |
| 762 | + "canDoubleBombJump", |
| 763 | + {"cycleFrames": 140}, |
| 764 | + {"or": [ |
| 765 | + {"cycleFrames": 140}, |
| 766 | + "h_crouchJumpDownGrab" |
| 767 | + ]} |
| 768 | + ]}, |
| 769 | + {"and": [ |
| 770 | + "canSpringBallJumpMidAir", |
| 771 | + {"cycleFrames": 40}, |
| 772 | + "h_doubleEquipmentScreenCycleFrames", |
| 773 | + {"or": [ |
| 774 | + "h_crouchJumpDownGrab", |
| 775 | + {"and": [ |
| 776 | + {"cycleFrames": 40}, |
| 777 | + "h_doubleEquipmentScreenCycleFrames" |
| 778 | + ]} |
| 779 | + ]} |
| 780 | + ]} |
| 781 | + ]} |
| 782 | + ]}, |
| 783 | + {"and": [ |
| 784 | + {"resetRoom": {"nodes": [6]}}, |
| 785 | + {"cycleFrames": 1900}, |
| 786 | + {"or": [ |
| 787 | + "canWalljump", |
| 788 | + "HiJump", |
| 789 | + "SpaceJump", |
| 790 | + {"and": [ |
| 791 | + "canDoubleBombJump", |
| 792 | + {"cycleFrames": 140}, |
| 793 | + {"or": [ |
| 794 | + {"cycleFrames": 140}, |
| 795 | + "h_crouchJumpDownGrab" |
| 796 | + ]} |
| 797 | + ]}, |
| 798 | + {"and": [ |
| 799 | + "canSpringBallJumpMidAir", |
| 800 | + {"cycleFrames": 40}, |
| 801 | + "h_doubleEquipmentScreenCycleFrames", |
| 802 | + {"or": [ |
| 803 | + "h_crouchJumpDownGrab", |
| 804 | + {"and": [ |
| 805 | + {"cycleFrames": 40}, |
| 806 | + "h_doubleEquipmentScreenCycleFrames" |
| 807 | + ]} |
| 808 | + ]} |
| 809 | + ]} |
| 810 | + ]} |
| 811 | + ]} |
| 812 | + ]}, |
| 813 | + {"or": [ |
| 814 | + "Wave", |
| 815 | + "Plasma", |
| 816 | + {"and": [ |
| 817 | + "Spazer", |
| 818 | + {"cycleFrames": 60} |
| 819 | + ]}, |
| 820 | + {"and": [ |
| 821 | + "ScrewAttack", |
| 822 | + {"cycleFrames": 70} |
| 823 | + ]}, |
| 824 | + {"cycleFrames": 130} |
| 825 | + ]} |
| 826 | + ], |
| 827 | + "clearsObstacles": ["B"], |
| 828 | + "resetsObstacles": ["A"], |
| 829 | + "farmCycleDrops": [ |
| 830 | + {"enemy": "Zero", "count": 3} |
| 831 | + ], |
| 832 | + "devNote": [ |
| 833 | + "Resetting at the bottom of the room (node 3) is covered in a separate 3->3 strat." |
| 834 | + ] |
| 835 | + }, |
728 | 836 | { |
729 | 837 | "id": 27, |
730 | 838 | "link": [2, 2], |
|
1358 | 1466 | "link": [3, 3], |
1359 | 1467 | "name": "Zero Farm", |
1360 | 1468 | "requires": [ |
1361 | | - {"resetRoom": { |
1362 | | - "nodes": [2, 3] |
1363 | | - }}, |
1364 | | - {"refill": ["PowerBomb"]} |
| 1469 | + {"resetRoom": {"nodes": [3]}}, |
| 1470 | + {"or": [ |
| 1471 | + {"and": [ |
| 1472 | + "Grapple", |
| 1473 | + {"cycleFrames": 265} |
| 1474 | + ]}, |
| 1475 | + {"and": [ |
| 1476 | + "Wave", |
| 1477 | + {"cycleFrames": 230} |
| 1478 | + ]}, |
| 1479 | + {"and": [ |
| 1480 | + "Plasma", |
| 1481 | + {"cycleFrames": 230} |
| 1482 | + ]}, |
| 1483 | + {"and": [ |
| 1484 | + "Spazer", |
| 1485 | + {"cycleFrames": 260} |
| 1486 | + ]}, |
| 1487 | + {"and": [ |
| 1488 | + "ScrewAttack", |
| 1489 | + {"cycleFrames": 290} |
| 1490 | + ]}, |
| 1491 | + {"cycleFrames": 350} |
| 1492 | + ]} |
1365 | 1493 | ], |
1366 | 1494 | "clearsObstacles": ["B"], |
1367 | 1495 | "resetsObstacles": ["A"], |
1368 | | - "devNote": "FIXME: Other nodes could be used to reset the room, with additional requirements." |
| 1496 | + "farmCycleDrops": [ |
| 1497 | + {"enemy": "Zero", "count": 3} |
| 1498 | + ] |
1369 | 1499 | }, |
1370 | 1500 | { |
1371 | 1501 | "id": 55, |
|
1689 | 1819 | "link": [4, 4], |
1690 | 1820 | "name": "Cacatac Farm", |
1691 | 1821 | "requires": [ |
1692 | | - {"resetRoom": { |
1693 | | - "nodes": [4] |
1694 | | - }}, |
1695 | | - {"refill": ["Energy", "Super"]} |
| 1822 | + {"or": [ |
| 1823 | + {"and": [ |
| 1824 | + {"resetRoom": { |
| 1825 | + "nodes": [4] |
| 1826 | + }}, |
| 1827 | + {"cycleFrames": 210} |
| 1828 | + ]}, |
| 1829 | + {"and": [ |
| 1830 | + {"or": [ |
| 1831 | + {"and": [ |
| 1832 | + {"resetRoom": { |
| 1833 | + "nodes": [1, 2] |
| 1834 | + }}, |
| 1835 | + {"cycleFrames": 400} |
| 1836 | + ]}, |
| 1837 | + {"and": [ |
| 1838 | + {"resetRoom": { |
| 1839 | + "nodes": [3] |
| 1840 | + }}, |
| 1841 | + {"cycleFrames": 860} |
| 1842 | + ]}, |
| 1843 | + {"and": [ |
| 1844 | + {"resetRoom": { |
| 1845 | + "nodes": [6] |
| 1846 | + }}, |
| 1847 | + {"cycleFrames": 1470} |
| 1848 | + ]} |
| 1849 | + ]}, |
| 1850 | + {"or": [ |
| 1851 | + "canWalljump", |
| 1852 | + "HiJump", |
| 1853 | + "SpaceJump", |
| 1854 | + {"and": [ |
| 1855 | + "canDoubleBombJump", |
| 1856 | + {"cycleFrames": 140} |
| 1857 | + ]}, |
| 1858 | + {"and": [ |
| 1859 | + "canSpringBallJumpMidAir", |
| 1860 | + {"cycleFrames": 40}, |
| 1861 | + "h_doubleEquipmentScreenCycleFrames" |
| 1862 | + ]} |
| 1863 | + ]} |
| 1864 | + ]} |
| 1865 | + ]}, |
| 1866 | + {"or": [ |
| 1867 | + "Wave", |
| 1868 | + "Spazer", |
| 1869 | + "Plasma", |
| 1870 | + {"cycleFrames": 40} |
| 1871 | + ]} |
1696 | 1872 | ], |
1697 | 1873 | "resetsObstacles": ["A", "B"], |
1698 | | - "devNote": "FIXME: Other nodes could be used to reset the room, with additional requirements." |
| 1874 | + "farmCycleDrops": [ |
| 1875 | + {"enemy": "Cacatac", "count": 2} |
| 1876 | + ] |
1699 | 1877 | }, |
1700 | 1878 | { |
1701 | 1879 | "id": 74, |
|
1920 | 2098 | "requires": [ |
1921 | 2099 | {"ammo": {"type": "Super", "count": 1}}, |
1922 | 2100 | "Morph", |
| 2101 | + {"resetRoom": { |
| 2102 | + "nodes": [5] |
| 2103 | + }}, |
| 2104 | + {"cycleFrames": 1340}, |
1923 | 2105 | {"or": [ |
1924 | 2106 | "canWalljump", |
1925 | 2107 | "HiJump", |
1926 | | - "SpaceJump" |
| 2108 | + "SpaceJump", |
| 2109 | + {"and": [ |
| 2110 | + "canDoubleBombJump", |
| 2111 | + {"cycleFrames": 140}, |
| 2112 | + {"or": [ |
| 2113 | + {"cycleFrames": 140}, |
| 2114 | + "h_crouchJumpDownGrab" |
| 2115 | + ]} |
| 2116 | + ]}, |
| 2117 | + {"and": [ |
| 2118 | + "canSpringBallJumpMidAir", |
| 2119 | + {"cycleFrames": 40}, |
| 2120 | + "h_doubleEquipmentScreenCycleFrames", |
| 2121 | + {"or": [ |
| 2122 | + "h_crouchJumpDownGrab", |
| 2123 | + {"and": [ |
| 2124 | + {"cycleFrames": 40}, |
| 2125 | + "h_doubleEquipmentScreenCycleFrames" |
| 2126 | + ]} |
| 2127 | + ]} |
| 2128 | + ]} |
1927 | 2129 | ]}, |
1928 | | - {"resetRoom": { |
1929 | | - "nodes": [5] |
1930 | | - }}, |
1931 | | - {"refill": ["Energy", "PowerBomb"]}, |
1932 | | - {"partialRefill": {"type": "Super", "limit": 10}} |
| 2130 | + {"or": [ |
| 2131 | + "Wave", |
| 2132 | + "Spazer", |
| 2133 | + "Plasma", |
| 2134 | + {"cycleFrames": 250} |
| 2135 | + ]} |
1933 | 2136 | ], |
1934 | 2137 | "resetsObstacles": ["A", "B"], |
1935 | | - "devNote": "It is possible to roll off of the platform above to avoid a mid-air morph." |
| 2138 | + "farmCycleDrops": [ |
| 2139 | + {"enemy": "Cacatac", "count": 2}, |
| 2140 | + {"enemy": "Zero", "count": 3} |
| 2141 | + ], |
| 2142 | + "devNote": [ |
| 2143 | + "It is possible to roll off of the platform above to avoid a mid-air morph.", |
| 2144 | + "FIXME: add a Cac-only farm since it can be done with fewer requirements." |
| 2145 | + ] |
1936 | 2146 | }, |
1937 | 2147 | { |
1938 | 2148 | "id": 87, |
|
0 commit comments