|
414 | 414 | ], |
415 | 415 | "devNote": "1 Power Bomb leniency per attempt, 8 leniency attempts." |
416 | 416 | }, |
417 | | - { |
418 | | - "name": "h_XModeSpikeHitLeniency", |
419 | | - "requires": [ |
420 | | - {"spikeHits": 1} |
421 | | - ] |
422 | | - }, |
423 | | - { |
424 | | - "name": "h_XModeThornHitLeniency", |
425 | | - "requires": [ |
426 | | - {"thornHits": 1} |
427 | | - ] |
428 | | - }, |
429 | | - { |
430 | | - "name": "h_thornXModeFramePerfectExtraLeniency", |
431 | | - "requires": [ |
432 | | - {"thornHits": 1} |
433 | | - ] |
434 | | - }, |
435 | | - { |
436 | | - "name": "h_thornDoubleXModeFramePerfectExtraLeniency", |
437 | | - "requires":[ |
438 | | - {"thornHits": 4} |
439 | | - ] |
440 | | - }, |
441 | | - { |
442 | | - "name": "h_spikeSuitSpikeHitLeniency", |
443 | | - "requires": [ |
444 | | - {"spikeHits": 2} |
445 | | - ] |
446 | | - }, |
447 | | - { |
448 | | - "name": "h_spikeSuitThornHitLeniency", |
449 | | - "requires": [ |
450 | | - {"thornHits": 2} |
451 | | - ] |
452 | | - }, |
453 | | - { |
454 | | - "name": "h_spikeSuitSamusEaterLeniency", |
455 | | - "requires": [ |
456 | | - {"samusEaterCycles": 2} |
457 | | - ] |
458 | | - }, |
459 | | - { |
460 | | - "name": "h_spikeSuitPowerBombLeniency", |
461 | | - "requires": [ |
462 | | - {"ammo": {"type": "PowerBomb","count": 2}} |
463 | | - ] |
464 | | - }, |
465 | 417 | { |
466 | 418 | "name": "h_extendedMoondanceBeetomLeniency", |
467 | 419 | "requires": [ |
|
1547 | 1499 | ], |
1548 | 1500 | "devNote": "All heat frames before and after the refill are added on the strats that use the helper." |
1549 | 1501 | }, |
1550 | | - { |
1551 | | - "name": "h_XModeSpikeHit", |
1552 | | - "requires": [ |
1553 | | - {"spikeHits": 1}, |
1554 | | - "h_XModeSpikeHitLeniency" |
1555 | | - ], |
1556 | | - "devNote": [ |
1557 | | - "Some strats require multiple spike hits, in which case h_canSpikeXMode will be included multiple times.", |
1558 | | - "In this case, the total leniency is the base leniency h_XModeSpikeHitLeniency multiplied by the number of hits." |
1559 | | - ] |
1560 | | - }, |
1561 | | - { |
1562 | | - "name": "h_XModeThornHit", |
1563 | | - "requires": [ |
1564 | | - {"thornHits": 1}, |
1565 | | - "h_XModeThornHitLeniency" |
1566 | | - ], |
1567 | | - "devNote": [ |
1568 | | - "Some strats require multiple thorn hits, in which case h_canThornXMode will be included multiple times.", |
1569 | | - "In this case, the total leniency is the base leniency h_XModeThornHitLeniency multiplied by the number of hits." |
1570 | | - ] |
1571 | | - }, |
1572 | 1502 | { |
1573 | 1503 | "name": "h_XRayMorphIceClip", |
1574 | 1504 | "requires": [ |
|
1859 | 1789 | { |
1860 | 1790 | "name": "h_spikeXModeSpikeSuit", |
1861 | 1791 | "requires": [ |
1862 | | - "h_XModeSpikeHit", |
1863 | | - "h_XModeSpikeHit", |
1864 | | - "h_spikeSuitSpikeHitLeniency", |
1865 | | - "h_spikeSuitSpikeHitLeniency", |
1866 | | - "h_spikeSuitSpikeHitLeniency", |
| 1792 | + {"spikeHits": {"mul": [ |
| 1793 | + {"add": ["n_spikeXModeAttempts", 2]}, |
| 1794 | + "n_spikeSuitAttempts" |
| 1795 | + ]}}, |
1867 | 1796 | "h_shinechargeMaxRunway", |
1868 | | - "canXModeSpikeSuit", |
1869 | | - {"spikeHits": 1} |
| 1797 | + "canXModeSpikeSuit" |
1870 | 1798 | ], |
1871 | | - "devNote": "This helper is used for an X-Mode shinecharge followed by a spikesuit so the leniency should be multiplactive." |
| 1799 | + "devNote": [ |
| 1800 | + "This covers the most common case of spike X-mode spikesuit, where a minimum of 3 spike hits need to be taken;", |
| 1801 | + "this relies on being able to bounce before entering the spikes." |
| 1802 | + ] |
1872 | 1803 | }, |
1873 | 1804 | { |
1874 | 1805 | "name": "h_thornXModeSpikeSuit", |
1875 | 1806 | "requires": [ |
1876 | | - "h_XModeThornHit", |
1877 | | - "h_XModeThornHit", |
1878 | | - "h_XModeThornHitLeniency", |
1879 | | - "h_XModeThornHitLeniency", |
1880 | | - "h_XModeThornHitLeniency", |
| 1807 | + {"or": [ |
| 1808 | + {"thornHits": {"mul": [ |
| 1809 | + {"add": ["n_thornXModeAttempts", 2]}, |
| 1810 | + "n_spikeSuitAttempts" |
| 1811 | + ]}}, |
| 1812 | + {"and": [ |
| 1813 | + "canXModeMovement", |
| 1814 | + {"thornHits": {"mul": [ |
| 1815 | + {"add": ["n_thornXModeAttempts", 1]}, |
| 1816 | + "n_spikeSuitAttempts" |
| 1817 | + ]}} |
| 1818 | + ]} |
| 1819 | + ]}, |
1881 | 1820 | "h_shinechargeMaxRunway", |
1882 | | - "canXModeSpikeSuit", |
1883 | | - {"thornHits": 1} |
| 1821 | + "canXModeSpikeSuit" |
1884 | 1822 | ], |
1885 | | - "devNote": "This helper is used for an X-Mode shinecharge followed by a spikesuit so the leniency should be multiplactive." |
| 1823 | + "devNote": [ |
| 1824 | + "This covers the most common case of thorn X-mode spikesuit, where a minimum of 2 thorn hits need to be taken;", |
| 1825 | + "this relies on being able to bounce before entering the thorns,", |
| 1826 | + "and with canXModeMovement, it relies on timing Samus' i-frames to avoid an additional thorn hit after X-mode is released." |
| 1827 | + ] |
1886 | 1828 | }, |
1887 | 1829 | { |
1888 | | - "name": "h_spikeXModeShinecharge", |
| 1830 | + "name": "h_thornXModeSpikeSuitWithoutLenience", |
1889 | 1831 | "requires": [ |
1890 | | - "canXMode", |
1891 | | - "h_XModeSpikeHit", |
1892 | | - "h_XModeSpikeHit", |
| 1832 | + {"or": [ |
| 1833 | + {"thornHits": 3}, |
| 1834 | + {"and": [ |
| 1835 | + "canXModeMovement", |
| 1836 | + {"thornHits": 2} |
| 1837 | + ]} |
| 1838 | + ]}, |
1893 | 1839 | "h_shinechargeMaxRunway", |
1894 | | - "canShinechargeMovement" |
| 1840 | + "canXModeSpikeSuit" |
| 1841 | + ], |
| 1842 | + "devNote": [ |
| 1843 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1895 | 1844 | ] |
1896 | 1845 | }, |
1897 | 1846 | { |
1898 | | - "name": "h_thornXModeShinecharge", |
| 1847 | + "name": "h_XModeShinecharge", |
1899 | 1848 | "requires": [ |
1900 | 1849 | "canXMode", |
1901 | | - "h_XModeThornHit", |
1902 | 1850 | "h_shinechargeMaxRunway", |
1903 | 1851 | "canShinechargeMovement" |
| 1852 | + ], |
| 1853 | + "devNote": [ |
| 1854 | + "This helper should be used as a base in combination with spike/thorn hit requirements." |
| 1855 | + ] |
| 1856 | + }, |
| 1857 | + { |
| 1858 | + "name": "h_spikeXModeShinecharge", |
| 1859 | + "requires": [ |
| 1860 | + "h_XModeShinecharge", |
| 1861 | + {"spikeHits": {"add": ["n_spikeXModeAttempts", 1]}} |
| 1862 | + ], |
| 1863 | + "devNote": [ |
| 1864 | + "This covers the most common case of spike X-mode, where a minimum of 2 spike hits need to be taken;", |
| 1865 | + "this relies on being able to bounce before entering the spikes." |
| 1866 | + ] |
| 1867 | + }, |
| 1868 | + { |
| 1869 | + "name": "h_thornXModeShinecharge", |
| 1870 | + "requires": [ |
| 1871 | + "h_XModeShinecharge", |
| 1872 | + {"or": [ |
| 1873 | + {"thornHits": {"add": ["n_thornXModeAttempts", 1]}}, |
| 1874 | + {"and": [ |
| 1875 | + "canXModeMovement", |
| 1876 | + {"thornHits": "n_thornXModeAttempts"} |
| 1877 | + ]} |
| 1878 | + ]} |
| 1879 | + ], |
| 1880 | + "devNote": [ |
| 1881 | + "This covers the most common case of thorn X-mode, where a minimum of 1 thorn hit needs to be taken;", |
| 1882 | + "this relies on being able to bounce before entering the thorns;", |
| 1883 | + "with canXModeMovement, it relies on timing Samus' i-frames to avoid an additional thorn hit after X-mode is released." |
| 1884 | + ] |
| 1885 | + }, |
| 1886 | + { |
| 1887 | + "name": "h_thornXModeShinechargeWithoutLenience", |
| 1888 | + "requires": [ |
| 1889 | + "h_XModeShinecharge", |
| 1890 | + {"or": [ |
| 1891 | + {"thornHits": 2}, |
| 1892 | + {"and": [ |
| 1893 | + "canXModeMovement", |
| 1894 | + {"thornHits": 1} |
| 1895 | + ]} |
| 1896 | + ]} |
| 1897 | + ], |
| 1898 | + "devNote": [ |
| 1899 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1904 | 1900 | ] |
1905 | 1901 | }, |
1906 | 1902 | { |
1907 | 1903 | "name": "h_spikeXModeBlueSuit", |
1908 | 1904 | "requires": [ |
1909 | 1905 | "canXModeBlueSuit", |
1910 | | - "h_XModeSpikeHit" |
| 1906 | + {"spikeHits": "n_spikeXModeAttempts"} |
| 1907 | + ], |
| 1908 | + "devNote": [ |
| 1909 | + "This covers the most common case of spike X-mode bluesuit, where a minimum of 1 spike hit needs to be taken;", |
| 1910 | + "this relies on being able to bounce before entering the spikes." |
1911 | 1911 | ] |
1912 | 1912 | }, |
1913 | 1913 | { |
1914 | 1914 | "name": "h_thornXModeBlueSuit", |
1915 | 1915 | "requires": [ |
1916 | 1916 | "canXModeBlueSuit", |
1917 | | - "h_XModeThornHit" |
| 1917 | + {"thornHits": "n_thornXModeAttempts"} |
| 1918 | + ], |
| 1919 | + "devNote": [ |
| 1920 | + "This covers the most common case of thorn X-mode bluesuit, where a minimum of 1 thorn hit needs to be taken;", |
| 1921 | + "this relies on being able to bounce before entering the thorns." |
| 1922 | + ] |
| 1923 | + }, |
| 1924 | + { |
| 1925 | + "name": "h_thornXModeBlueSuitWithoutLenience", |
| 1926 | + "requires": [ |
| 1927 | + "canXModeBlueSuit", |
| 1928 | + {"thornHits": 1} |
| 1929 | + ], |
| 1930 | + "devNote": [ |
| 1931 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1918 | 1932 | ] |
1919 | 1933 | }, |
1920 | 1934 | { |
1921 | 1935 | "name": "h_spikeDoubleXModeBlueSuit", |
1922 | | - "requires":[ |
| 1936 | + "requires": [ |
1923 | 1937 | "canDoubleXModeBlueSuit", |
1924 | | - "h_spikeXModeShinecharge", |
1925 | | - "h_spikeXModeBlueSuit" |
| 1938 | + {"spikeHits": {"mul": [ |
| 1939 | + {"add": ["n_spikeXModeAttempts", 2]}, |
| 1940 | + "n_spikeXModeAttempts" |
| 1941 | + ]}} |
| 1942 | + ], |
| 1943 | + "devNote": [ |
| 1944 | + "This covers the most common case of spike double X-mode bluesuit, where a minimum of 3 spike hits need to be taken;", |
| 1945 | + "this relies on being able to bounce before entering the spikes for both X-modes,", |
| 1946 | + "or on using i-frames to bounce on the spikes for the second X-mode." |
1926 | 1947 | ] |
1927 | 1948 | }, |
1928 | 1949 | { |
1929 | 1950 | "name": "h_thornDoubleXModeBlueSuit", |
1930 | | - "requires":[ |
| 1951 | + "requires": [ |
1931 | 1952 | "canDoubleXModeBlueSuit", |
1932 | | - "h_thornXModeShinecharge", |
1933 | | - "h_thornXModeBlueSuit" |
| 1953 | + {"or": [ |
| 1954 | + {"thornHits": {"mul": [ |
| 1955 | + {"add": ["n_thornXModeAttempts", 2]}, |
| 1956 | + "n_thornXModeAttempts" |
| 1957 | + ]}}, |
| 1958 | + {"and": [ |
| 1959 | + "canXModeMovement", |
| 1960 | + {"thornHits": {"mul": [ |
| 1961 | + {"add": ["n_thornXModeAttempts", 1]}, |
| 1962 | + "n_thornXModeAttempts" |
| 1963 | + ]}} |
| 1964 | + ]} |
| 1965 | + ]} |
| 1966 | + ], |
| 1967 | + "devNote": [ |
| 1968 | + "This covers the most common case of thorn double X-mode bluesuit, where a minimum of 2 thorn hits need to be taken;", |
| 1969 | + "this relies on being able to bounce before entering the thorns for both X-modes.", |
| 1970 | + "With canXModeMovement, it also relies on timing Samus' i-frames to avoid an additional thorn hit after the first X-mode is released." |
| 1971 | + ] |
| 1972 | + }, |
| 1973 | + { |
| 1974 | + "name": "h_thornDoubleXModeBlueSuitWithoutLenience", |
| 1975 | + "requires": [ |
| 1976 | + {"or": [ |
| 1977 | + {"thornHits": 3}, |
| 1978 | + {"and": [ |
| 1979 | + "canXModeMovement", |
| 1980 | + {"thornHits": 2} |
| 1981 | + ]} |
| 1982 | + ]} |
| 1983 | + ], |
| 1984 | + "devNote": [ |
| 1985 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1934 | 1986 | ] |
1935 | 1987 | }, |
1936 | 1988 | { |
|
1950 | 2002 | ] |
1951 | 2003 | } |
1952 | 2004 | ] |
| 2005 | + }, |
| 2006 | + { |
| 2007 | + "name": "Deprecated", |
| 2008 | + "description": "These helpers are to be removed soon.", |
| 2009 | + "helpers": [ |
| 2010 | + { |
| 2011 | + "name": "h_XModeSpikeHitLeniency", |
| 2012 | + "requires": [ |
| 2013 | + {"spikeHits": "n_spikeXModeLenience"} |
| 2014 | + ] |
| 2015 | + }, |
| 2016 | + { |
| 2017 | + "name": "h_XModeThornHitLeniency", |
| 2018 | + "requires": [ |
| 2019 | + {"thornHits": "n_spikeXModeLenience"} |
| 2020 | + ] |
| 2021 | + }, |
| 2022 | + { |
| 2023 | + "name": "h_thornXModeFramePerfectExtraLeniency", |
| 2024 | + "requires": [ |
| 2025 | + {"thornHits": "n_thornXModeLenience"} |
| 2026 | + ] |
| 2027 | + }, |
| 2028 | + { |
| 2029 | + "name": "h_thornDoubleXModeFramePerfectExtraLeniency", |
| 2030 | + "requires":[ |
| 2031 | + {"thornHits": {"mul": [ |
| 2032 | + {"add": ["n_thornXModeAttempts", 2]}, |
| 2033 | + "n_thornXModeLenience" |
| 2034 | + ]}} |
| 2035 | + ] |
| 2036 | + }, |
| 2037 | + { |
| 2038 | + "name": "h_spikeSuitSpikeHitLeniency", |
| 2039 | + "requires": [ |
| 2040 | + {"spikeHits": "n_spikeSuitLenience"} |
| 2041 | + ] |
| 2042 | + }, |
| 2043 | + { |
| 2044 | + "name": "h_spikeSuitThornHitLeniency", |
| 2045 | + "requires": [ |
| 2046 | + {"thornHits": "n_spikeSuitLenience"} |
| 2047 | + ] |
| 2048 | + }, |
| 2049 | + { |
| 2050 | + "name": "h_spikeSuitSamusEaterLeniency", |
| 2051 | + "requires": [ |
| 2052 | + {"samusEaterCycles": "n_spikeSuitLenience"} |
| 2053 | + ] |
| 2054 | + }, |
| 2055 | + { |
| 2056 | + "name": "h_spikeSuitPowerBombLeniency", |
| 2057 | + "requires": [ |
| 2058 | + {"ammo": {"type": "PowerBomb", "count": "n_spikeSuitLenience"}} |
| 2059 | + ] |
| 2060 | + }, |
| 2061 | + { |
| 2062 | + "name": "h_XModeSpikeHit", |
| 2063 | + "requires": [ |
| 2064 | + {"spikeHits": "n_spikeXModeAttempts"} |
| 2065 | + ] |
| 2066 | + }, |
| 2067 | + { |
| 2068 | + "name": "h_XModeThornHit", |
| 2069 | + "requires": [ |
| 2070 | + {"thornHits": "n_thornXModeAttempts"} |
| 2071 | + ] |
| 2072 | + } |
| 2073 | + ] |
1953 | 2074 | } |
1954 | 2075 | ] |
1955 | 2076 | } |
0 commit comments