Skip to content

Commit f52807f

Browse files
committed
refine G-mode Ridley, accounting for both top and bottom stuck options
1 parent 1552233 commit f52807f

3 files changed

Lines changed: 70 additions & 21 deletions

File tree

logicalRequirements.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -670,8 +670,9 @@ Heat frame requirements should be included for the period before the fight begin
670670
If neither Morph nor Screw Attack are available, then at the highest skill level it can be assumed that the player takes unavoidable enemy damage at a rate of 10 energy per second. If Morph or Screw Attack is available, then it is possible to avoid all enemy damage, but for leniency normally some damage should still be assumed.
671671

672672
A `ridleyKill` requirement has the following optional properties which modify the assumptions of the fight:
673-
* _gMode_: A boolean indicating if the fight happens in G-mode. If true, then Samus will be protected from heat damage, but Ridley's fireballs become invisible and immobile while still being dangerous to Samus.
674-
- _stuck_: A boolean indicating that the fight happens with Ridley stuck in a corner, where Samus can freely avoid damage from Ridley while inflicting damage to Ridley at a higher rate:
673+
- _powerBombs_: A boolean indicating if Power Bombs can be used during the fight (default: true).
674+
- _gMode_: A boolean indicating if the fight happens in G-mode. If true, then Samus will be protected from heat damage, but Ridley's fireballs become invisible and immobile while still being dangerous to Samus.
675+
- _stuck_: An enum with possible values "top" or "bottom", indicating the part of the room where Ridley gets stuck, allowing Samus can freely avoid damage from Ridley while inflicting damage to Ridley. If Ridley is stuck at the bottom of the room, then damage can be inflicted at a higher rate (not taking into account lag, which may be increased by using a Crystal Flash in G-mode):
675676
- Supers can be used once every 0.34 seconds.
676677
- Missiles can be used once every 0.17 seconds.
677678
- Power Bombs can be used once every 2.65 seconds.

region/lowernorfair/east/Ridley's Room.json

Lines changed: 58 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -407,21 +407,40 @@
407407
"requires": [
408408
{"notable": "G-Mode Crystal Flash Stuck Ridley"},
409409
"h_CrystalFlash",
410+
"h_usePowerBomb",
410411
{"or": [
411-
"canArtificialMorph",
412-
"canWalljump"
412+
{"and": [
413+
{"or": [
414+
"canWalljump",
415+
"HiJump",
416+
"canSpringBallJumpMidAir",
417+
"SpaceJump"
418+
]},
419+
{"ridleyKill": {
420+
"powerBombs": false,
421+
"gMode": true,
422+
"stuck": "bottom"}
423+
}
424+
]},
425+
{"ridleyKill": {
426+
"powerBombs": false,
427+
"gMode": true,
428+
"stuck": "top"
429+
}}
413430
]},
414-
"h_usePowerBomb",
415-
{"ridleyKill": {"gMode": true, "stuck": true}},
416431
{"autoReserveTrigger": {}},
417-
{"heatFrames": 600},
432+
{"heatFrames": 720},
418433
{"partialRefill": {"type": "Energy", "limit": 100}}
419434
],
420435
"setsFlags": ["f_DefeatedRidley"],
421436
"note": [
422-
"Enter the room in G-mode, perform a Crystal Flash, then lay a Power Bomb in the top-right.",
423-
"The Power Bomb will not explode but will continually force Ridley into the lower-left of the room.",
424-
"After reducing Ridley's health to zero, take damage from Ridley to trigger auto-reserves and exit G-mode.",
437+
"Enter the room in G-mode, perform a Crystal Flash, then lay an additional Power Bomb, preferably at the top of the room.",
438+
"The Power Bomb will not explode but will continually force Ridley into a corner of the room.",
439+
"If the Power Bomb is laid near the top of the room, then Ridley will be forced into the bottom of the room,",
440+
"making it easy to damage Ridley at the highest possible rate;",
441+
"if the Power Bomb is laid lower, Ridley will be forced to the top of room, and Samus will have to jump repeatedly to bring it on camera.",
442+
"in which case Ridley can still be damaged but more slowly and with some caution needed to avoid invisible fireballs.",
443+
"After reducing Ridley's health to zero, take damage from Ridley or an invisible fireball to trigger auto-reserves and exit G-mode.",
425444
"Then get grabbed by Ridley to finish the fight."
426445
]
427446
},
@@ -648,22 +667,45 @@
648667
"requires": [
649668
{"notable": "G-Mode Crystal Flash Stuck Ridley"},
650669
"h_CrystalFlash",
670+
"h_usePowerBomb",
651671
{"or": [
652-
"canArtificialMorph",
653-
"canWalljump"
672+
{"and": [
673+
{"or": [
674+
"canWalljump",
675+
"HiJump",
676+
"canSpringBallJumpMidAir",
677+
"SpaceJump"
678+
]},
679+
{"ridleyKill": {
680+
"powerBombs": false,
681+
"gMode": true,
682+
"stuck": "bottom"}
683+
}
684+
]},
685+
{"ridleyKill": {
686+
"powerBombs": false,
687+
"gMode": true,
688+
"stuck": "top"
689+
}}
654690
]},
655-
"h_usePowerBomb",
656-
{"ridleyKill": {"gMode": true, "stuck": true}},
657691
{"autoReserveTrigger": {}},
658-
{"heatFrames": 600},
692+
{"heatFrames": 720},
659693
{"partialRefill": {"type": "Energy", "limit": 100}}
660694
],
661695
"setsFlags": ["f_DefeatedRidley"],
662696
"note": [
663-
"Enter the room in G-mode, perform a Crystal Flash, then lay a Power Bomb in the top-right.",
664-
"The Power Bomb will not explode but will continually force Ridley into the lower-left of the room.",
665-
"After reducing Ridley's health to zero, take damage from Ridley to trigger auto-reserves and exit G-mode.",
697+
"Enter the room in G-mode, perform a Crystal Flash, then lay an additional Power Bomb, preferably at the top of the room.",
698+
"The Power Bomb will not explode but will continually force Ridley into a corner of the room.",
699+
"If the Power Bomb is laid near the top of the room, then Ridley will be forced into the bottom of the room,",
700+
"making it easy to damage Ridley at the highest possible rate;",
701+
"if the Power Bomb is laid lower, Ridley will be forced to the top of room, and Samus will have to jump repeatedly to bring it on camera.",
702+
"in which case Ridley can still be damaged but more slowly and with some caution needed to avoid invisible fireballs.",
703+
"After reducing Ridley's health to zero, take damage from Ridley or an invisible fireball to trigger auto-reserves and exit G-mode.",
666704
"Then get grabbed by Ridley to finish the fight."
705+
],
706+
"devNote": [
707+
"FIXME: artificial morph with direct G-mode is another option for laying a Power Bomb at the top of the room,",
708+
"by landing on the door ledge on entry."
667709
]
668710
},
669711
{

schema/m3-requirements.schema.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -850,15 +850,21 @@
850850
"description": "Fulfilled by killing Ridley, including ammo, energy, and skill requirements.",
851851
"additionalProperties": false,
852852
"properties": {
853+
"powerBombs": {
854+
"type": "boolean",
855+
"default": true,
856+
"description": "Whether Power Bombs can be used during the fight."
857+
},
853858
"gMode": {
854859
"type": "boolean",
855860
"default": false,
856861
"description": "Whether the Ridley kill happens while in G-mode, preventing heat damage while making Ridley's fireballs immobile."
857862
},
858863
"stuck": {
859-
"type": "boolean",
860-
"default": false,
861-
"description": "Whether the Ridley kill happens with Ridley stuck in a corner, preventing body damage."
864+
"type": "string",
865+
"enum": [null, "top", "bottom"],
866+
"default": null,
867+
"description": "If applicable, the part of the room where Ridley is stuck."
862868
}
863869
}
864870
}

0 commit comments

Comments
 (0)