Skip to content

Commit 5109cad

Browse files
authored
Merge branch 'master' into rsi-ln-firefleas
2 parents 08837e1 + fe7d4a3 commit 5109cad

45 files changed

Lines changed: 4092 additions & 118 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

helpers.json

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1662,6 +1662,13 @@
16621662
"h_artificialMorphRModeCrystalFlashInterrupt"
16631663
]
16641664
},
1665+
{
1666+
"name": "h_artificialMorphTrickyRModeCrystalFlashInterrupt",
1667+
"requires": [
1668+
{"tech": "canTrickyRModeCrystalFlashInterrupt"},
1669+
"h_artificialMorphRModeCrystalFlashInterrupt"
1670+
]
1671+
},
16651672
{
16661673
"name": "h_artificialMorphMovement",
16671674
"requires": [
@@ -1792,6 +1799,32 @@
17921799
{"shinespark": {"frames": 4, "excessFrames": 4}}
17931800
]
17941801
},
1802+
{
1803+
"name": "h_heatTriggerRModeSparkInterrupt",
1804+
"requires": [
1805+
{"disableEquipment": "Varia"},
1806+
{"disableEquipment": "Gravity"},
1807+
{"or": [
1808+
{"and": [
1809+
"canReserveTriggerBufferXRay",
1810+
{"autoReserveTrigger": {"implicitHeatFrames": "no"}},
1811+
"canRModeSparkInterrupt",
1812+
{"suitlessHeatFrames": 32}
1813+
]},
1814+
{"and": [
1815+
"h_heatProof",
1816+
{"autoReserveTrigger": {}},
1817+
"canRModePauseAbuseSparkInterrupt"
1818+
]},
1819+
{"and": [
1820+
{"autoReserveTrigger": {"implicitHeatFrames": "suitless"}},
1821+
"canRModeSparkInterrupt",
1822+
{"suitlessHeatFrames": 32}
1823+
]}
1824+
]}
1825+
],
1826+
"note": "Represents triggering an R-Mode Spark Interrupt by using heat damage."
1827+
},
17951828
{
17961829
"name": "h_SpikeXModeSpikeSuit",
17971830
"requires": [
@@ -1841,16 +1874,14 @@
18411874
"name": "h_spikeXModeBlueSuit",
18421875
"requires": [
18431876
"canXModeBlueSuit",
1844-
"h_XModeSpikeHit",
1845-
{"shinespark": {"frames": 4, "excessFrames": 4}}
1877+
"h_XModeSpikeHit"
18461878
]
18471879
},
18481880
{
18491881
"name": "h_thornXModeBlueSuit",
18501882
"requires": [
18511883
"canXModeBlueSuit",
1852-
"h_XModeThornHit",
1853-
{"shinespark": {"frames": 4, "excessFrames": 4}}
1884+
"h_XModeThornHit"
18541885
]
18551886
},
18561887
{

region/brinstar/blue/Morph Ball Room.json

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,74 @@
928928
"flashSuitChecked": true,
929929
"note": "To save a hit, jump over the third Sidehopper as it lunges towards Samus."
930930
},
931+
{
932+
"link": [1, 1],
933+
"name": "R-Mode Crystal Flash Interrupt",
934+
"entranceCondition": {
935+
"comeInWithRMode": {}
936+
},
937+
"requires": [
938+
"h_ZebesIsAwake",
939+
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 1}},
940+
"canComplexRModeCrystalFlashInterrupt",
941+
{"ammo": {"type": "Missile", "count": 10}},
942+
{"or": [
943+
"h_partialEnemyDamageReduction",
944+
{"resourceAtMost": [{"type": "RegularEnergy", "count": 19}]},
945+
{"and": [
946+
{"resourceCapacity": [{"type": "RegularEnergy", "count": 199}]},
947+
{"resourceCapacity": [{"type": "ReserveEnergy", "count": 199}]}
948+
]}
949+
]},
950+
{"obstaclesCleared": ["C"]}
951+
],
952+
"flashSuitChecked": true,
953+
"note": [
954+
"Immediately on room entry, the Sidehopper is going to hit Samus. Afterwards, quickly roll to the right next to the stair.",
955+
"It is required to avoid double hitting the Sidehopper with the Power Bomb or it will die.",
956+
"It can help to place a Power Bomb and roll to the right to reduce the chance that the ceiling hopper gets double hit, and to lure the third hopper.",
957+
"Quickly getting back into position and Crystal Flashing will usually get Samus hit by either the ceiling or right hopper."
958+
],
959+
"devNote": [
960+
"Killing the hoppers after this is easy, as Samus will have i-frames, the Sidehoppers will be injured, and Samus will have some extra ammo just in case.",
961+
"A different setup could also break A, but Samus will end with at least 10 Power Bombs, so this is ignored for simplicity."
962+
]
963+
},
964+
{
965+
"link": [1, 1],
966+
"name": "Direct G-mode Morph, Crystal Flash Interrupt",
967+
"entranceCondition": {
968+
"comeInWithGMode": {
969+
"mode": "direct",
970+
"morphed": true
971+
}
972+
},
973+
"requires": [
974+
"h_ZebesIsAwake",
975+
"h_artificialMorphComplexRModeCrystalFlashInterrupt",
976+
{"ammo": {"type": "Missile", "count": 10}},
977+
{"or": [
978+
"h_partialEnemyDamageReduction",
979+
{"resourceAtMost": [{"type": "RegularEnergy", "count": 19}]},
980+
{"and": [
981+
{"resourceCapacity": [{"type": "RegularEnergy", "count": 199}]},
982+
{"resourceCapacity": [{"type": "ReserveEnergy", "count": 199}]}
983+
]}
984+
]},
985+
{"obstaclesCleared": ["C"]}
986+
],
987+
"flashSuitChecked": true,
988+
"note": [
989+
"On entry, quickly roll to the right next to the stair, while Samus is protected with i-frames.",
990+
"It is required to avoid double hitting the Sidehopper with the Power Bomb or it will die.",
991+
"It can help to place a Power Bomb and roll to the right to reduce the chance that the ceiling hopper gets double hit, and to lure the third hopper.",
992+
"Quickly getting back into position and Crystal Flashing will usually get Samus hit by either the ceiling or right hopper."
993+
],
994+
"devNote": [
995+
"Killing the hoppers after this is easy, as Samus will have i-frames, the Sidehoppers will be injured, and Samus will have some extra ammo just in case.",
996+
"A different setup could also break A, but Samus will end with at least 10 Power Bombs, so this is ignored for simplicity."
997+
]
998+
},
931999
{
9321000
"id": 24,
9331001
"link": [1, 5],
@@ -1257,6 +1325,43 @@
12571325
"requires": [],
12581326
"flashSuitChecked": true
12591327
},
1328+
{
1329+
"link": [3, 1],
1330+
"name": "R-Mode Crystal Flash Interrupt",
1331+
"entranceCondition": {
1332+
"comeInWithRMode": {}
1333+
},
1334+
"requires": [
1335+
"h_ZebesIsAwake",
1336+
"h_usePowerBomb",
1337+
{"or": [
1338+
"h_bombThings",
1339+
{"and": [
1340+
{"getBlueSpeed": {"usedTiles": 21, "openEnd": 1}},
1341+
"canSpeedball"
1342+
]}
1343+
]},
1344+
"canComplexRModeCrystalFlashInterrupt",
1345+
{"ammo": {"type": "Missile", "count": 10}},
1346+
{"or": [
1347+
"h_partialEnemyDamageReduction",
1348+
{"resourceAtMost": [{"type": "RegularEnergy", "count": 19}]},
1349+
{"and": [
1350+
{"resourceCapacity": [{"type": "RegularEnergy", "count": 199}]},
1351+
{"resourceCapacity": [{"type": "ReserveEnergy", "count": 199}]}
1352+
]}
1353+
]},
1354+
{"obstaclesCleared": ["A", "B", "C"]}
1355+
],
1356+
"flashSuitChecked": true,
1357+
"note": [
1358+
"Cross the room then lure and kill the two floor Sidehoppers using the morph tunnel.",
1359+
"With the ceiling Sidehopper in the top right corner, quickly roll to the left next to the stair.",
1360+
"It is required to avoid double hitting the Sidehopper with the Power Bomb or it will die.",
1361+
"Place a Power Bomb, Wait a second, then roll to the right to lure the hopper and quickly return and Crystal Flash.",
1362+
"Waiting briefly will prevent the hopper from coming too soon and getting double hit."
1363+
]
1364+
},
12601365
{
12611366
"id": 77,
12621367
"link": [3, 1],

region/brinstar/green/Etecoon Energy Tank Room.json

Lines changed: 152 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -992,9 +992,7 @@
992992
"link": [3, 2],
993993
"name": "Gain Blue Suit (Double X-Mode Super Jump)",
994994
"requires": [
995-
"h_XModeThornHit",
996-
"h_thornXModeShinecharge",
997-
"h_XModeThornHit",
995+
"h_thornDoubleXModeBlueSuit",
998996
"canSuperJump",
999997
{"shinespark": {"frames": 7}},
1000998
"canXModeBlueSuit"
@@ -1062,6 +1060,68 @@
10621060
"Freezing the lower one may be made easier or damageless by scrolling the camera when the Beetom is in the correct position and freezing it with a hero shot from the right."
10631061
]
10641062
},
1063+
{
1064+
"link": [3, 3],
1065+
"name": "Come in Shinecharged, Gain Flash Suit (Spikesuit)",
1066+
"entranceCondition": {
1067+
"comeInShinecharged": {}
1068+
},
1069+
"requires": [
1070+
{"or": [
1071+
"h_spikeSuitThornHitLeniency",
1072+
{"and": [
1073+
{"resetRoom": {"nodes": [3]}},
1074+
{"or":[
1075+
"ScrewAttack",
1076+
{"ammo": {"type": "Missile", "count": 2}},
1077+
{"ammo": {"type": "Super", "count": 2}},
1078+
{"ammo": {"type": "PowerBomb", "count": 1}}
1079+
]}
1080+
]},
1081+
{"and": [
1082+
"Ice",
1083+
"canTrickyDodgeEnemies"]}
1084+
]},
1085+
{"shineChargeFrames": 80},
1086+
{"thornHits": 1},
1087+
"canSpikeSuit",
1088+
{"shinespark": {"frames": 1, "excessFrames": 1}}
1089+
],
1090+
"resetsObstacles": ["A", "B", "R-Mode"],
1091+
"flashSuitChecked": true
1092+
},
1093+
{
1094+
"link": [3, 3],
1095+
"name": "Come in Shinecharging, Gain Flash Suit (Spikesuit)",
1096+
"entranceCondition": {
1097+
"comeInShinecharging": {
1098+
"length": 6,
1099+
"openEnd": 1
1100+
}
1101+
},
1102+
"requires": [
1103+
{"or": [
1104+
"h_spikeSuitThornHitLeniency",
1105+
{"and": [
1106+
{"resetRoom": {"nodes": [3]}},
1107+
{"or":[
1108+
"ScrewAttack",
1109+
{"ammo": {"type": "Missile", "count": 2}},
1110+
{"ammo": {"type": "Super", "count": 2}},
1111+
{"ammo": {"type": "PowerBomb", "count": 1}}
1112+
]}
1113+
]},
1114+
{"and": [
1115+
"Ice",
1116+
"canTrickyDodgeEnemies"]}
1117+
]},
1118+
{"thornHits": 1},
1119+
"canSpikeSuit",
1120+
{"shinespark": {"frames": 1, "excessFrames": 1}}
1121+
],
1122+
"resetsObstacles": ["A", "B", "R-Mode"],
1123+
"flashSuitChecked": true
1124+
},
10651125
{
10661126
"id": 103,
10671127
"link": [3, 3],
@@ -1081,7 +1141,8 @@
10811141
},
10821142
"requires": [
10831143
{"shineChargeFrames": 135},
1084-
"h_thornXModeBlueSuit"
1144+
"h_thornXModeBlueSuit",
1145+
{"shinespark": {"frames": 0}}
10851146
],
10861147
"flashSuitChecked": true
10871148
},
@@ -1090,7 +1151,8 @@
10901151
"link": [3, 3],
10911152
"name": "Gain Blue Suit (Double X-Mode)",
10921153
"requires": [
1093-
"h_thornDoubleXModeBlueSuit"
1154+
"h_thornDoubleXModeBlueSuit",
1155+
{"shinespark": {"frames": 0}}
10941156
],
10951157
"flashSuitChecked": true
10961158
},
@@ -1672,6 +1734,68 @@
16721734
],
16731735
"devNote": "This does not require canRiskPermanentLossOfAccess if Samus returns through the crumble blocks."
16741736
},
1737+
{
1738+
"link": [4, 4],
1739+
"name": "Come in Shinecharged, Gain Flash Suit (Spikesuit)",
1740+
"entranceCondition": {
1741+
"comeInShinecharged": {}
1742+
},
1743+
"requires": [
1744+
{"or": [
1745+
"h_spikeSuitThornHitLeniency",
1746+
{"and": [
1747+
{"resetRoom": {"nodes": [4]}},
1748+
{"or":[
1749+
"ScrewAttack",
1750+
{"ammo": {"type": "Missile", "count": 2}},
1751+
{"ammo": {"type": "Super", "count": 2}},
1752+
{"ammo": {"type": "PowerBomb", "count": 1}}
1753+
]}
1754+
]},
1755+
{"and": [
1756+
"Ice",
1757+
"canTrickyDodgeEnemies"]}
1758+
]},
1759+
{"shineChargeFrames": 60},
1760+
{"thornHits": 1},
1761+
"canSpikeSuit",
1762+
{"shinespark": {"frames": 1, "excessFrames": 1}}
1763+
],
1764+
"resetsObstacles": ["A", "B", "R-Mode"],
1765+
"flashSuitChecked": true
1766+
},
1767+
{
1768+
"link": [4, 4],
1769+
"name": "Come in Shinecharging, Gain Flash Suit (Spikesuit)",
1770+
"entranceCondition": {
1771+
"comeInShinecharging": {
1772+
"length": 3,
1773+
"openEnd": 0
1774+
}
1775+
},
1776+
"requires": [
1777+
{"or": [
1778+
"h_spikeSuitThornHitLeniency",
1779+
{"and": [
1780+
{"resetRoom": {"nodes": [4]}},
1781+
{"or":[
1782+
"ScrewAttack",
1783+
{"ammo": {"type": "Missile", "count": 2}},
1784+
{"ammo": {"type": "Super", "count": 2}},
1785+
{"ammo": {"type": "PowerBomb", "count": 1}}
1786+
]}
1787+
]},
1788+
{"and": [
1789+
"Ice",
1790+
"canTrickyDodgeEnemies"]}
1791+
]},
1792+
{"thornHits": 1},
1793+
"canSpikeSuit",
1794+
{"shinespark": {"frames": 1, "excessFrames": 1}}
1795+
],
1796+
"resetsObstacles": ["A", "B", "R-Mode"],
1797+
"flashSuitChecked": true
1798+
},
16751799
{
16761800
"id": 48,
16771801
"link": [4, 4],
@@ -1827,7 +1951,8 @@
18271951
},
18281952
"requires": [
18291953
{"shineChargeFrames": 125},
1830-
"h_thornXModeBlueSuit"
1954+
"h_thornXModeBlueSuit",
1955+
{"shinespark": {"frames": 0}}
18311956
],
18321957
"flashSuitChecked": true
18331958
},
@@ -2219,6 +2344,27 @@
22192344
"requires": [],
22202345
"flashSuitChecked": true
22212346
},
2347+
{
2348+
"link": [7, 7],
2349+
"name": "R-Mode Crystal Flash Interrupt",
2350+
"requires": [
2351+
{"obstaclesCleared": ["R-Mode"]},
2352+
"canComplexRModeCrystalFlashInterrupt",
2353+
{"ammo": {"type": "Missile", "count": 10}},
2354+
{"ammo": {"type": "Super", "count": 10}}
2355+
],
2356+
"resetsObstacles": ["R-Mode"],
2357+
"flashSuitChecked": true,
2358+
"note": [
2359+
"Crystal Flashing on one of the Zebbo spawners will usually not deal enough damage to Samus to trigger reserves.",
2360+
"One way to make this fairly reliable is to take a Zebbo hit and then place the Power Bomb such that it explodes and kills a Zebbo shortly after it spawns.",
2361+
"Samus will then pick up the drop and start Crystal Flashing where her refill is in a good rhythm for the Zebbo to be able to trigger reserves."
2362+
],
2363+
"detailNote": "This can only be done suitless and with no E-Tanks.",
2364+
"devNote": [
2365+
"This will not work in G-mode because the Power Bomb will kill the Zebbos and they will not respawn."
2366+
]
2367+
},
22222368
{
22232369
"id": 99,
22242370
"link": [7, 7],

0 commit comments

Comments
 (0)