|
428 | 428 | ], |
429 | 429 | "devNote": "1 Power Bomb leniency per attempt, 8 leniency attempts." |
430 | 430 | }, |
431 | | - { |
432 | | - "name": "h_XModeSpikeHitLeniency", |
433 | | - "requires": [ |
434 | | - {"spikeHits": 1} |
435 | | - ] |
436 | | - }, |
437 | | - { |
438 | | - "name": "h_XModeThornHitLeniency", |
439 | | - "requires": [ |
440 | | - {"thornHits": 1} |
441 | | - ] |
442 | | - }, |
443 | | - { |
444 | | - "name": "h_thornXModeFramePerfectExtraLeniency", |
445 | | - "requires": [ |
446 | | - {"thornHits": 1} |
447 | | - ] |
448 | | - }, |
449 | | - { |
450 | | - "name": "h_thornDoubleXModeFramePerfectExtraLeniency", |
451 | | - "requires":[ |
452 | | - {"thornHits": 4} |
453 | | - ] |
454 | | - }, |
455 | | - { |
456 | | - "name": "h_spikeSuitSpikeHitLeniency", |
457 | | - "requires": [ |
458 | | - {"spikeHits": 2} |
459 | | - ] |
460 | | - }, |
461 | | - { |
462 | | - "name": "h_spikeSuitThornHitLeniency", |
463 | | - "requires": [ |
464 | | - {"thornHits": 2} |
465 | | - ] |
466 | | - }, |
467 | | - { |
468 | | - "name": "h_spikeSuitSamusEaterLeniency", |
469 | | - "requires": [ |
470 | | - {"samusEaterCycles": 2} |
471 | | - ] |
472 | | - }, |
473 | | - { |
474 | | - "name": "h_spikeSuitPowerBombLeniency", |
475 | | - "requires": [ |
476 | | - {"ammo": {"type": "PowerBomb","count": 2}} |
477 | | - ] |
478 | | - }, |
479 | 431 | { |
480 | 432 | "name": "h_extendedMoondanceBeetomLeniency", |
481 | 433 | "requires": [ |
|
1561 | 1513 | ], |
1562 | 1514 | "devNote": "All heat frames before and after the refill are added on the strats that use the helper." |
1563 | 1515 | }, |
1564 | | - { |
1565 | | - "name": "h_XModeSpikeHit", |
1566 | | - "requires": [ |
1567 | | - {"spikeHits": 1}, |
1568 | | - "h_XModeSpikeHitLeniency" |
1569 | | - ], |
1570 | | - "devNote": [ |
1571 | | - "Some strats require multiple spike hits, in which case h_canSpikeXMode will be included multiple times.", |
1572 | | - "In this case, the total leniency is the base leniency h_XModeSpikeHitLeniency multiplied by the number of hits." |
1573 | | - ] |
1574 | | - }, |
1575 | | - { |
1576 | | - "name": "h_XModeThornHit", |
1577 | | - "requires": [ |
1578 | | - {"thornHits": 1}, |
1579 | | - "h_XModeThornHitLeniency" |
1580 | | - ], |
1581 | | - "devNote": [ |
1582 | | - "Some strats require multiple thorn hits, in which case h_canThornXMode will be included multiple times.", |
1583 | | - "In this case, the total leniency is the base leniency h_XModeThornHitLeniency multiplied by the number of hits." |
1584 | | - ] |
1585 | | - }, |
1586 | 1516 | { |
1587 | 1517 | "name": "h_XRayMorphIceClip", |
1588 | 1518 | "requires": [ |
|
1873 | 1803 | { |
1874 | 1804 | "name": "h_spikeXModeSpikeSuit", |
1875 | 1805 | "requires": [ |
1876 | | - "h_XModeSpikeHit", |
1877 | | - "h_XModeSpikeHit", |
1878 | | - "h_spikeSuitSpikeHitLeniency", |
1879 | | - "h_spikeSuitSpikeHitLeniency", |
1880 | | - "h_spikeSuitSpikeHitLeniency", |
| 1806 | + {"spikeHits": {"mul": [ |
| 1807 | + {"add": ["n_spikeXModeAttempts", 2]}, |
| 1808 | + "n_spikeSuitAttempts" |
| 1809 | + ]}}, |
1881 | 1810 | "h_shinechargeMaxRunway", |
1882 | | - "canXModeSpikeSuit", |
1883 | | - {"spikeHits": 1} |
| 1811 | + "canXModeSpikeSuit" |
1884 | 1812 | ], |
1885 | | - "devNote": "This helper is used for an X-Mode shinecharge followed by a spikesuit so the leniency should be multiplactive." |
| 1813 | + "devNote": [ |
| 1814 | + "This covers the most common case of spike X-mode spikesuit, where a minimum of 3 spike hits need to be taken;", |
| 1815 | + "this relies on being able to bounce before entering the spikes." |
| 1816 | + ] |
1886 | 1817 | }, |
1887 | 1818 | { |
1888 | 1819 | "name": "h_thornXModeSpikeSuit", |
1889 | 1820 | "requires": [ |
1890 | | - "h_XModeThornHit", |
1891 | | - "h_XModeThornHit", |
1892 | | - "h_XModeThornHitLeniency", |
1893 | | - "h_XModeThornHitLeniency", |
1894 | | - "h_XModeThornHitLeniency", |
| 1821 | + {"or": [ |
| 1822 | + {"thornHits": {"mul": [ |
| 1823 | + {"add": ["n_thornXModeAttempts", 2]}, |
| 1824 | + "n_spikeSuitAttempts" |
| 1825 | + ]}}, |
| 1826 | + {"and": [ |
| 1827 | + "canXModeMovement", |
| 1828 | + {"thornHits": {"mul": [ |
| 1829 | + {"add": ["n_thornXModeAttempts", 1]}, |
| 1830 | + "n_spikeSuitAttempts" |
| 1831 | + ]}} |
| 1832 | + ]} |
| 1833 | + ]}, |
1895 | 1834 | "h_shinechargeMaxRunway", |
1896 | | - "canXModeSpikeSuit", |
1897 | | - {"thornHits": 1} |
| 1835 | + "canXModeSpikeSuit" |
1898 | 1836 | ], |
1899 | | - "devNote": "This helper is used for an X-Mode shinecharge followed by a spikesuit so the leniency should be multiplactive." |
| 1837 | + "devNote": [ |
| 1838 | + "This covers the most common case of thorn X-mode spikesuit, where a minimum of 2 thorn hits need to be taken;", |
| 1839 | + "this relies on being able to bounce before entering the thorns,", |
| 1840 | + "and with canXModeMovement, it relies on timing Samus' i-frames to avoid an additional thorn hit after X-mode is released." |
| 1841 | + ] |
1900 | 1842 | }, |
1901 | 1843 | { |
1902 | | - "name": "h_spikeXModeShinecharge", |
| 1844 | + "name": "h_thornXModeSpikeSuitWithoutLenience", |
1903 | 1845 | "requires": [ |
1904 | | - "canXMode", |
1905 | | - "h_XModeSpikeHit", |
1906 | | - "h_XModeSpikeHit", |
| 1846 | + {"or": [ |
| 1847 | + {"thornHits": 3}, |
| 1848 | + {"and": [ |
| 1849 | + "canXModeMovement", |
| 1850 | + {"thornHits": 2} |
| 1851 | + ]} |
| 1852 | + ]}, |
1907 | 1853 | "h_shinechargeMaxRunway", |
1908 | | - "canShinechargeMovement" |
| 1854 | + "canXModeSpikeSuit" |
| 1855 | + ], |
| 1856 | + "devNote": [ |
| 1857 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1909 | 1858 | ] |
1910 | 1859 | }, |
1911 | 1860 | { |
1912 | | - "name": "h_thornXModeShinecharge", |
| 1861 | + "name": "h_XModeShinecharge", |
1913 | 1862 | "requires": [ |
1914 | 1863 | "canXMode", |
1915 | | - "h_XModeThornHit", |
1916 | 1864 | "h_shinechargeMaxRunway", |
1917 | 1865 | "canShinechargeMovement" |
| 1866 | + ], |
| 1867 | + "devNote": [ |
| 1868 | + "This helper should be used as a base in combination with spike/thorn hit requirements." |
| 1869 | + ] |
| 1870 | + }, |
| 1871 | + { |
| 1872 | + "name": "h_spikeXModeShinecharge", |
| 1873 | + "requires": [ |
| 1874 | + "h_XModeShinecharge", |
| 1875 | + {"spikeHits": {"add": ["n_spikeXModeAttempts", 1]}} |
| 1876 | + ], |
| 1877 | + "devNote": [ |
| 1878 | + "This covers the most common case of spike X-mode, where a minimum of 2 spike hits need to be taken;", |
| 1879 | + "this relies on being able to bounce before entering the spikes." |
| 1880 | + ] |
| 1881 | + }, |
| 1882 | + { |
| 1883 | + "name": "h_thornXModeShinecharge", |
| 1884 | + "requires": [ |
| 1885 | + "h_XModeShinecharge", |
| 1886 | + {"or": [ |
| 1887 | + {"thornHits": {"add": ["n_thornXModeAttempts", 1]}}, |
| 1888 | + {"and": [ |
| 1889 | + "canXModeMovement", |
| 1890 | + {"thornHits": "n_thornXModeAttempts"} |
| 1891 | + ]} |
| 1892 | + ]} |
| 1893 | + ], |
| 1894 | + "devNote": [ |
| 1895 | + "This covers the most common case of thorn X-mode, where a minimum of 1 thorn hit needs to be taken;", |
| 1896 | + "this relies on being able to bounce before entering the thorns;", |
| 1897 | + "with canXModeMovement, it relies on timing Samus' i-frames to avoid an additional thorn hit after X-mode is released." |
| 1898 | + ] |
| 1899 | + }, |
| 1900 | + { |
| 1901 | + "name": "h_thornXModeShinechargeWithoutLenience", |
| 1902 | + "requires": [ |
| 1903 | + "h_XModeShinecharge", |
| 1904 | + {"or": [ |
| 1905 | + {"thornHits": 2}, |
| 1906 | + {"and": [ |
| 1907 | + "canXModeMovement", |
| 1908 | + {"thornHits": 1} |
| 1909 | + ]} |
| 1910 | + ]} |
| 1911 | + ], |
| 1912 | + "devNote": [ |
| 1913 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1918 | 1914 | ] |
1919 | 1915 | }, |
1920 | 1916 | { |
1921 | 1917 | "name": "h_spikeXModeBlueSuit", |
1922 | 1918 | "requires": [ |
1923 | 1919 | "canXModeBlueSuit", |
1924 | | - "h_XModeSpikeHit" |
| 1920 | + {"spikeHits": "n_spikeXModeAttempts"} |
| 1921 | + ], |
| 1922 | + "devNote": [ |
| 1923 | + "This covers the most common case of spike X-mode bluesuit, where a minimum of 1 spike hit needs to be taken;", |
| 1924 | + "this relies on being able to bounce before entering the spikes." |
1925 | 1925 | ] |
1926 | 1926 | }, |
1927 | 1927 | { |
1928 | 1928 | "name": "h_thornXModeBlueSuit", |
1929 | 1929 | "requires": [ |
1930 | 1930 | "canXModeBlueSuit", |
1931 | | - "h_XModeThornHit" |
| 1931 | + {"thornHits": "n_thornXModeAttempts"} |
| 1932 | + ], |
| 1933 | + "devNote": [ |
| 1934 | + "This covers the most common case of thorn X-mode bluesuit, where a minimum of 1 thorn hit needs to be taken;", |
| 1935 | + "this relies on being able to bounce before entering the thorns." |
| 1936 | + ] |
| 1937 | + }, |
| 1938 | + { |
| 1939 | + "name": "h_thornXModeBlueSuitWithoutLenience", |
| 1940 | + "requires": [ |
| 1941 | + "canXModeBlueSuit", |
| 1942 | + {"thornHits": 1} |
| 1943 | + ], |
| 1944 | + "devNote": [ |
| 1945 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1932 | 1946 | ] |
1933 | 1947 | }, |
1934 | 1948 | { |
1935 | 1949 | "name": "h_spikeDoubleXModeBlueSuit", |
1936 | | - "requires":[ |
| 1950 | + "requires": [ |
1937 | 1951 | "canDoubleXModeBlueSuit", |
1938 | | - "h_spikeXModeShinecharge", |
1939 | | - "h_spikeXModeBlueSuit" |
| 1952 | + {"spikeHits": {"mul": [ |
| 1953 | + {"add": ["n_spikeXModeAttempts", 2]}, |
| 1954 | + "n_spikeXModeAttempts" |
| 1955 | + ]}} |
| 1956 | + ], |
| 1957 | + "devNote": [ |
| 1958 | + "This covers the most common case of spike double X-mode bluesuit, where a minimum of 3 spike hits need to be taken;", |
| 1959 | + "this relies on being able to bounce before entering the spikes for both X-modes,", |
| 1960 | + "or on using i-frames to bounce on the spikes for the second X-mode." |
1940 | 1961 | ] |
1941 | 1962 | }, |
1942 | 1963 | { |
1943 | 1964 | "name": "h_thornDoubleXModeBlueSuit", |
1944 | | - "requires":[ |
| 1965 | + "requires": [ |
1945 | 1966 | "canDoubleXModeBlueSuit", |
1946 | | - "h_thornXModeShinecharge", |
1947 | | - "h_thornXModeBlueSuit" |
| 1967 | + {"or": [ |
| 1968 | + {"thornHits": {"mul": [ |
| 1969 | + {"add": ["n_thornXModeAttempts", 2]}, |
| 1970 | + "n_thornXModeAttempts" |
| 1971 | + ]}}, |
| 1972 | + {"and": [ |
| 1973 | + "canXModeMovement", |
| 1974 | + {"thornHits": {"mul": [ |
| 1975 | + {"add": ["n_thornXModeAttempts", 1]}, |
| 1976 | + "n_thornXModeAttempts" |
| 1977 | + ]}} |
| 1978 | + ]} |
| 1979 | + ]} |
| 1980 | + ], |
| 1981 | + "devNote": [ |
| 1982 | + "This covers the most common case of thorn double X-mode bluesuit, where a minimum of 2 thorn hits need to be taken;", |
| 1983 | + "this relies on being able to bounce before entering the thorns for both X-modes.", |
| 1984 | + "With canXModeMovement, it also relies on timing Samus' i-frames to avoid an additional thorn hit after the first X-mode is released." |
| 1985 | + ] |
| 1986 | + }, |
| 1987 | + { |
| 1988 | + "name": "h_thornDoubleXModeBlueSuitWithoutLenience", |
| 1989 | + "requires": [ |
| 1990 | + {"or": [ |
| 1991 | + {"thornHits": 3}, |
| 1992 | + {"and": [ |
| 1993 | + "canXModeMovement", |
| 1994 | + {"thornHits": 2} |
| 1995 | + ]} |
| 1996 | + ]} |
| 1997 | + ], |
| 1998 | + "devNote": [ |
| 1999 | + "This is applicable in case a farm is available, making lenience unnecessary." |
1948 | 2000 | ] |
1949 | 2001 | }, |
1950 | 2002 | { |
|
1964 | 2016 | ] |
1965 | 2017 | } |
1966 | 2018 | ] |
| 2019 | + }, |
| 2020 | + { |
| 2021 | + "name": "Deprecated", |
| 2022 | + "description": "These helpers are to be removed soon.", |
| 2023 | + "helpers": [ |
| 2024 | + { |
| 2025 | + "name": "h_XModeSpikeHitLeniency", |
| 2026 | + "requires": [ |
| 2027 | + {"spikeHits": "n_spikeXModeLenience"} |
| 2028 | + ] |
| 2029 | + }, |
| 2030 | + { |
| 2031 | + "name": "h_XModeThornHitLeniency", |
| 2032 | + "requires": [ |
| 2033 | + {"thornHits": "n_spikeXModeLenience"} |
| 2034 | + ] |
| 2035 | + }, |
| 2036 | + { |
| 2037 | + "name": "h_thornXModeFramePerfectExtraLeniency", |
| 2038 | + "requires": [ |
| 2039 | + {"thornHits": "n_thornXModeLenience"} |
| 2040 | + ] |
| 2041 | + }, |
| 2042 | + { |
| 2043 | + "name": "h_thornDoubleXModeFramePerfectExtraLeniency", |
| 2044 | + "requires":[ |
| 2045 | + {"thornHits": {"mul": [ |
| 2046 | + {"add": ["n_thornXModeAttempts", 2]}, |
| 2047 | + "n_thornXModeLenience" |
| 2048 | + ]}} |
| 2049 | + ] |
| 2050 | + }, |
| 2051 | + { |
| 2052 | + "name": "h_spikeSuitSpikeHitLeniency", |
| 2053 | + "requires": [ |
| 2054 | + {"spikeHits": "n_spikeSuitLenience"} |
| 2055 | + ] |
| 2056 | + }, |
| 2057 | + { |
| 2058 | + "name": "h_spikeSuitThornHitLeniency", |
| 2059 | + "requires": [ |
| 2060 | + {"thornHits": "n_spikeSuitLenience"} |
| 2061 | + ] |
| 2062 | + }, |
| 2063 | + { |
| 2064 | + "name": "h_spikeSuitSamusEaterLeniency", |
| 2065 | + "requires": [ |
| 2066 | + {"samusEaterCycles": "n_spikeSuitLenience"} |
| 2067 | + ] |
| 2068 | + }, |
| 2069 | + { |
| 2070 | + "name": "h_spikeSuitPowerBombLeniency", |
| 2071 | + "requires": [ |
| 2072 | + {"ammo": {"type": "PowerBomb", "count": "n_spikeSuitLenience"}} |
| 2073 | + ] |
| 2074 | + }, |
| 2075 | + { |
| 2076 | + "name": "h_XModeSpikeHit", |
| 2077 | + "requires": [ |
| 2078 | + {"spikeHits": "n_spikeXModeAttempts"} |
| 2079 | + ] |
| 2080 | + }, |
| 2081 | + { |
| 2082 | + "name": "h_XModeThornHit", |
| 2083 | + "requires": [ |
| 2084 | + {"thornHits": "n_thornXModeAttempts"} |
| 2085 | + ] |
| 2086 | + } |
| 2087 | + ] |
1967 | 2088 | } |
1968 | 2089 | ] |
1969 | 2090 | } |
0 commit comments