Skip to content

Commit bac89f5

Browse files
authored
Merge pull request #2399 from kjbranch/r-cf
Add canRModeCrystalFlashInterrupt
2 parents 33b757f + cc1bf7b commit bac89f5

3 files changed

Lines changed: 145 additions & 0 deletions

File tree

helpers.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1605,6 +1605,20 @@
16051605
"h_bombIntoCrystalFlashClipLeniency"
16061606
]
16071607
},
1608+
{
1609+
"name": "h_artificialMorphRModeCrystalFlashInterrupt",
1610+
"requires": [
1611+
{"tech": "canRModeCrystalFlashInterrupt"},
1612+
{"resourceAtMost": [{"type": "RegularEnergy", "count": 50}]},
1613+
{"resourceAtMost": [{"type": "ReserveEnergy", "count": 0}]},
1614+
{"disableEquipment": "ETank"},
1615+
"h_artificialMorphPowerBomb",
1616+
{"resourceAvailable": [{"type": "Missile", "count": 10}]},
1617+
{"resourceAvailable": [{"type": "Super", "count": 10}]},
1618+
{"resourceAvailable": [{"type": "PowerBomb", "count": 10}]},
1619+
{"gainFlashSuit": {}}
1620+
]
1621+
},
16081622
{
16091623
"name": "h_artificialMorphMovement",
16101624
"requires": [

region/wreckedship/main/Spiky Death Room.json

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,53 @@
215215
},
216216
"flashSuitChecked": true
217217
},
218+
{
219+
"link": [1, 1],
220+
"name": "R-Mode Crystal Flash Interrupt",
221+
"entranceCondition": {
222+
"comeInWithRMode": {}
223+
},
224+
"requires": [
225+
"canRModeCrystalFlashInterrupt",
226+
{"ammo": {"type": "Missile", "count": 2}}
227+
],
228+
"flashSuitChecked": true,
229+
"note": [
230+
"With no Energy Tanks, Morph and roll against the Kzan.",
231+
"Once it starts moving up, roll a small number of pixels under it and quickly Crystal Flash."
232+
],
233+
"detailNote": [
234+
"This is significantly easier with a smaller starting Energy.",
235+
"With a larger starting Energy, or on a particularly quick Power Bomb placement, Samus may have 50 or more in reserves;",
236+
"In this case, it is important to quickly land before turning around and jumping out of the Kzan.",
237+
"Turning around before touching the ground will move Samus several more pixels inside of the Kzan, likely resulting in death."
238+
]
239+
},
240+
{
241+
"link": [1, 1],
242+
"name": "Direct G-mode Morph, Crystal Flash Interrupt",
243+
"entranceCondition": {
244+
"comeInWithGMode": {
245+
"mode": "direct",
246+
"morphed": true
247+
}
248+
},
249+
"requires": [
250+
"h_artificialMorphRModeCrystalFlashInterrupt",
251+
{"ammo": {"type": "Missile", "count": 2}}
252+
],
253+
"flashSuitChecked": true,
254+
"note": [
255+
"With no Energy Tanks, roll against the Kzan.",
256+
"Once it starts moving up, roll a small number of pixels under it and quickly Crystal Flash."
257+
],
258+
"detailNote": [
259+
"This is significantly easier with a smaller starting Energy.",
260+
"With a larger starting Energy, or on a particularly quick Power Bomb placement, Samus may have 50 or more in reserves;",
261+
"In this case, it is important to quickly land before turning around and jumping out of the Kzan.",
262+
"Turning around before touching the ground will move Samus several more pixels inside of the Kzan, likely resulting in death."
263+
]
264+
},
218265
{
219266
"id": 13,
220267
"link": [1, 2],
@@ -955,6 +1002,53 @@
9551002
"h_CrystalFlash"
9561003
],
9571004
"flashSuitChecked": true
1005+
},
1006+
{
1007+
"link": [2, 2],
1008+
"name": "R-Mode Crystal Flash Interrupt",
1009+
"entranceCondition": {
1010+
"comeInWithRMode": {}
1011+
},
1012+
"requires": [
1013+
"canRModeCrystalFlashInterrupt",
1014+
{"ammo": {"type": "Missile", "count": 2}}
1015+
],
1016+
"flashSuitChecked": true,
1017+
"note": [
1018+
"With no Energy Tanks, Morph and roll against the Kzan.",
1019+
"Once it starts moving up, roll a small number of pixels under it and quickly Crystal Flash."
1020+
],
1021+
"detailNote": [
1022+
"This is significantly easier with a smaller starting Energy.",
1023+
"With a larger starting Energy, or on a particularly quick Power Bomb placement, Samus may have 50 or more in reserves;",
1024+
"In this case, it is important to quickly land before turning around and jumping out of the Kzan.",
1025+
"Turning around before touching the ground will move Samus several more pixels inside of the Kzan, likely resulting in death."
1026+
]
1027+
},
1028+
{
1029+
"link": [2, 2],
1030+
"name": "Direct G-mode Morph, Crystal Flash Interrupt",
1031+
"entranceCondition": {
1032+
"comeInWithGMode": {
1033+
"mode": "direct",
1034+
"morphed": true
1035+
}
1036+
},
1037+
"requires": [
1038+
"h_artificialMorphRModeCrystalFlashInterrupt",
1039+
{"ammo": {"type": "Missile", "count": 2}}
1040+
],
1041+
"flashSuitChecked": true,
1042+
"note": [
1043+
"With no Energy Tanks, roll against the Kzan.",
1044+
"Once it starts moving up, roll a small number of pixels under it and quickly Crystal Flash."
1045+
],
1046+
"detailNote": [
1047+
"This is significantly easier with a smaller starting Energy.",
1048+
"With a larger starting Energy, or on a particularly quick Power Bomb placement, Samus may have 50 or more in reserves;",
1049+
"In this case, it is important to quickly land before turning around and jumping out of the Kzan.",
1050+
"Turning around before touching the ground will move Samus several more pixels inside of the Kzan, likely resulting in death."
1051+
]
9581052
}
9591053
],
9601054
"notables": [],

tech.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2387,6 +2387,43 @@
23872387
"Holding back and jump for more than 5 frames will cause Samus to spark horizontally. If the direction switch was exactly one frame late, Samus will land on the slope but no spark will occur."
23882388
]
23892389
},
2390+
{
2391+
"name": "canRModeCrystalFlashInterrupt",
2392+
"techRequires": [
2393+
"canRMode",
2394+
{"tech": "canCrystalFlash"},
2395+
"canCarryFlashSuit"
2396+
],
2397+
"otherRequires": [
2398+
{"resourceAtMost": [{"type": "RegularEnergy", "count": 50}]},
2399+
{"resourceAtMost": [{"type": "ReserveEnergy", "count": 0}]},
2400+
{"disableEquipment": "ETank"},
2401+
"Morph",
2402+
{"ammo": {"type": "PowerBomb", "count": 1}},
2403+
{"resourceAvailable": [{"type": "Missile", "count": 10}]},
2404+
{"resourceAvailable": [{"type": "Super", "count": 10}]},
2405+
{"resourceAvailable": [{"type": "PowerBomb", "count": 10}]},
2406+
{"gainFlashSuit": {}}
2407+
],
2408+
"note": [
2409+
"The ability to gain a flash suit by interrupting a Crystal Flash with an R-mode forced standup.",
2410+
"This can be done by taking enough damage to force an auto reserve trigger after the Crystal Flash has at least partially filled the Reserve Energy."
2411+
],
2412+
"detailNote": [
2413+
"It is typically required to have a small number of E-Tanks in order to be able to take enough damage to trigger reserves.",
2414+
"It is also required to use an enemy that can survive a Power Bomb explosion, or one that can respawn near Samus and deal enough damage before dying.",
2415+
"Note that the more Energy in reserves Samus has when they are triggered, the fewer remaining i-frames she will have when regaining mobility,",
2416+
"so a second hit may be difficult to avoid or may trigger automatically, if the enemy stays nearby."
2417+
],
2418+
"devNote": [
2419+
"Strats are primarily tested with zero E-Tanks, unless otherwise documented.",
2420+
"There could also be a no E-Tank option with canRiskPermanentLossOfAccess, instead of being able to disable them, but there is not a good way to represent that yet.",
2421+
"The amount of resources consumed depends upon when during the Crystal Flash the reserves trigger, which will be strat dependent.",
2422+
"The amount of Energy remaining after the strat is complex and depends on the number of Reserve Tanks, when Samus gets hit, and by which enemy;",
2423+
"for simplicity, it is just assumed that Samus retains the small amount of Energy she had before the Crystal Flash (50 or less) and doesn't gain any refill.",
2424+
"For artificial morph setups, the reserve trigger exits G-mode."
2425+
]
2426+
},
23902427
{
23912428
"id": 213,
23922429
"name": "canRModeKnockbackSpark",

0 commit comments

Comments
 (0)