From abf47d6334a8015abe8ffdc024dcf9c422ce382e Mon Sep 17 00:00:00 2001 From: kjbranch Date: Tue, 12 Aug 2025 00:43:49 -0600 Subject: [PATCH 1/2] Add canComplexGMode to LN --- region/lowernorfair/east/Amphitheatre.json | 2 +- .../east/Fast Pillars Setup Room.json | 6 +++++- .../east/Lower Norfair Spring Ball Maze.json | 1 + region/lowernorfair/east/Main Hall.json | 1 + region/lowernorfair/east/Plowerhouse Room.json | 6 +++--- region/lowernorfair/east/Ridley's Room.json | 6 +++++- region/lowernorfair/east/The Jail.json | 2 ++ .../east/The Worst Room In The Game.json | 4 +++- .../east/Three Musketeers' Room.json | 2 +- region/lowernorfair/east/Wasteland.json | 2 +- .../lowernorfair/west/Golden Torizo's Room.json | 16 +++++++++------- region/lowernorfair/west/Screw Attack Room.json | 1 + 12 files changed, 33 insertions(+), 16 deletions(-) diff --git a/region/lowernorfair/east/Amphitheatre.json b/region/lowernorfair/east/Amphitheatre.json index 789633b051..6f4877e2d5 100644 --- a/region/lowernorfair/east/Amphitheatre.json +++ b/region/lowernorfair/east/Amphitheatre.json @@ -358,7 +358,7 @@ "HiJump", "SpaceJump", "canSpringBallJumpMidAir", - "canInsaneJump", + "canComplexGMode", {"and": [ "Charge", "canTrickyUseFrozenEnemies", diff --git a/region/lowernorfair/east/Fast Pillars Setup Room.json b/region/lowernorfair/east/Fast Pillars Setup Room.json index 72d91d0baa..5f562c1cd1 100644 --- a/region/lowernorfair/east/Fast Pillars Setup Room.json +++ b/region/lowernorfair/east/Fast Pillars Setup Room.json @@ -1013,7 +1013,7 @@ {"ammo": {"type": "PowerBomb", "count": 3}}, "h_artificialMorphIBJ", {"or": [ - "canInsaneJump", + "canComplexGMode", {"ammo": {"type": "PowerBomb", "count": 3}} ]}, {"heatFrames": 70} @@ -1166,6 +1166,7 @@ } }, "requires": [ + "canComplexGMode", "canXRayClimb", {"heatFrames": 1600} ], @@ -1200,6 +1201,7 @@ } }, "requires": [ + "canComplexGMode", "h_heatProof", "canXRayClimb" ], @@ -1410,6 +1412,7 @@ } }, "requires": [ + "canComplexGMode", "canXRayClimb", {"heatFrames": 1650} ], @@ -1682,6 +1685,7 @@ } }, "requires": [ + "canComplexGMode", "h_heatProof", "canLongXRayClimb" ], diff --git a/region/lowernorfair/east/Lower Norfair Spring Ball Maze.json b/region/lowernorfair/east/Lower Norfair Spring Ball Maze.json index 2948af8322..e98d81929b 100644 --- a/region/lowernorfair/east/Lower Norfair Spring Ball Maze.json +++ b/region/lowernorfair/east/Lower Norfair Spring Ball Maze.json @@ -240,6 +240,7 @@ } }, "requires": [ + "canComplexGMode", "h_heatedDirectGModeLeaveSameDoor" ], "collectsItems": [4], diff --git a/region/lowernorfair/east/Main Hall.json b/region/lowernorfair/east/Main Hall.json index 31805c713b..c1ec86fe1f 100644 --- a/region/lowernorfair/east/Main Hall.json +++ b/region/lowernorfair/east/Main Hall.json @@ -523,6 +523,7 @@ } }, "requires": [ + "canComplexGMode", "SpaceJump", "h_heatedGModeOffCameraDoor" ], diff --git a/region/lowernorfair/east/Plowerhouse Room.json b/region/lowernorfair/east/Plowerhouse Room.json index 9a346fdfe0..2a28751882 100644 --- a/region/lowernorfair/east/Plowerhouse Room.json +++ b/region/lowernorfair/east/Plowerhouse Room.json @@ -372,12 +372,12 @@ ]} ]}, {"and": [ - "canInsaneJump", + "canComplexGMode", "Plasma" ]}, {"enemyDamage": {"enemy": "Holtz", "type": "contact", "hits": 1}}, {"and": [ - "canInsaneJump", + "canComplexGMode", {"enemyDamage": {"enemy": "Zebbo", "type": "contact", "hits": 1}} ]} ]}, @@ -684,7 +684,7 @@ ]} ]}, "Plasma", - "canInsaneJump", + "canComplexGMode", {"enemyDamage": {"enemy": "Zebbo", "type": "contact", "hits": 1}} ]}, "h_heatedGModePauseAbuse" diff --git a/region/lowernorfair/east/Ridley's Room.json b/region/lowernorfair/east/Ridley's Room.json index e245dbfc8d..48d8435e52 100644 --- a/region/lowernorfair/east/Ridley's Room.json +++ b/region/lowernorfair/east/Ridley's Room.json @@ -423,6 +423,7 @@ }, "requires": [ {"notable": "G-Mode Crystal Flash Stuck Ridley"}, + "canTrickyGMode", "h_heatedGMode", "h_CrystalFlash", "h_usePowerBomb", @@ -467,6 +468,7 @@ }, "requires": [ {"notable": "G-Mode Ridley with 30 Supers"}, + "canTrickyGMode", "h_heatedGMode", {"heatFrames": 0}, {"ammo": {"type": "Super", "count": 30}}, @@ -580,7 +582,7 @@ "canTrickyGMode", {"heatFrames": 180} ]}, - "canInsaneJump", + "canComplexGMode", {"or": [ "SpaceJump", "canWalljump", @@ -726,6 +728,7 @@ }, "requires": [ {"notable": "G-Mode Crystal Flash Stuck Ridley"}, + "canTrickyGMode", "h_heatedGMode", "h_CrystalFlash", "h_usePowerBomb", @@ -774,6 +777,7 @@ }, "requires": [ {"notable": "G-Mode Ridley with 30 Supers"}, + "canTrickyGMode", "h_heatedGMode", {"heatFrames": 0}, {"ammo": {"type": "Super", "count": 30}}, diff --git a/region/lowernorfair/east/The Jail.json b/region/lowernorfair/east/The Jail.json index f3f7833eb5..8d4fefc9f1 100644 --- a/region/lowernorfair/east/The Jail.json +++ b/region/lowernorfair/east/The Jail.json @@ -106,6 +106,7 @@ } }, "requires": [ + "canComplexGMode", "h_heatedGMode", "canPowerBombItemOverloadPLMs", {"ammo": {"type": "PowerBomb", "count": 18}}, @@ -291,6 +292,7 @@ "comesThroughToilet": "any" }, "requires": [ + "canComplexGMode", "h_heatedGMode", "canPowerBombItemOverloadPLMs", {"itemNotCollectedAtNode": 3}, diff --git a/region/lowernorfair/east/The Worst Room In The Game.json b/region/lowernorfair/east/The Worst Room In The Game.json index bf63171474..51769cb039 100644 --- a/region/lowernorfair/east/The Worst Room In The Game.json +++ b/region/lowernorfair/east/The Worst Room In The Game.json @@ -443,6 +443,7 @@ } }, "requires": [ + "canComplexGMode", "h_heatProof", "canLongXRayClimb", "canBeVeryPatient" @@ -578,7 +579,8 @@ "h_heatedGModeOpenDifferentDoor", {"and": [ "h_heatedGModePauseAbuse", - "canInsaneJump" + "canInsaneJump", + "canComplexGMode" ]} ]} ], diff --git a/region/lowernorfair/east/Three Musketeers' Room.json b/region/lowernorfair/east/Three Musketeers' Room.json index 83de0e61e2..c9d94ff062 100644 --- a/region/lowernorfair/east/Three Musketeers' Room.json +++ b/region/lowernorfair/east/Three Musketeers' Room.json @@ -530,7 +530,7 @@ "requires": [ {"or": [ {"and": [ - "canInsaneJump", + "canComplexGMode", "h_artificialMorphJumpIntoIBJ" ]}, {"and": [ diff --git a/region/lowernorfair/east/Wasteland.json b/region/lowernorfair/east/Wasteland.json index 3c06041ed7..830ff27396 100644 --- a/region/lowernorfair/east/Wasteland.json +++ b/region/lowernorfair/east/Wasteland.json @@ -563,7 +563,7 @@ "Morph", "canTrickyJump", {"or": [ - "canInsaneJump", + "canComplexGMode", {"ammo": {"type": "Super", "count": 1}}, {"ammo": {"type": "Missile", "count": 1}}, "Charge", diff --git a/region/lowernorfair/west/Golden Torizo's Room.json b/region/lowernorfair/west/Golden Torizo's Room.json index 374643c88a..37d9c6c274 100644 --- a/region/lowernorfair/west/Golden Torizo's Room.json +++ b/region/lowernorfair/west/Golden Torizo's Room.json @@ -268,6 +268,7 @@ } }, "requires": [ + "canComplexGMode", "h_heatedDirectGModeLeaveSameDoor" ], "collectsItems": [3], @@ -284,6 +285,7 @@ } }, "requires": [ + "canComplexGMode", "Charge", "h_useMorphBombs", "h_heatedGModeOffCameraDoor" @@ -324,6 +326,7 @@ } }, "requires": [ + "canComplexGMode", {"or": [ {"and": [ {"itemNotCollectedAtNode": 3}, @@ -644,7 +647,7 @@ {"or": [ "h_artificialMorphJumpIntoIBJ", "h_artificialMorphDoubleBombJump", - "canInsaneJump" + "canComplexGMode" ]} ]} ]}, @@ -736,7 +739,7 @@ {"notable": "Safe Spot Kill"}, {"or": [ {"resourceAtMost": [{"type": "Missile", "count": 31}]}, - "canInsaneJump" + "canComplexGMode" ]}, {"or": [ {"ammo": {"type": "Super", "count": 30}}, @@ -836,7 +839,7 @@ }, "requires": [ {"notable": "Safe Spot Kill"}, - "canInsaneJump", + "canComplexGMode", {"or": [ {"ammo": {"type": "Super", "count": 30}}, {"and": [ @@ -888,7 +891,7 @@ {"or": [ "h_artificialMorphJumpIntoIBJ", "h_artificialMorphDoubleBombJump", - "canInsaneJump" + "canComplexGMode" ]} ]} ]}, @@ -1017,7 +1020,7 @@ {"or": [ "f_DefeatedGoldenTorizo", {"and": [ - "canInsaneJump", + "canComplexGMode", "h_artificialMorphJumpIntoIBJ" ]}, {"and": [ @@ -1046,7 +1049,6 @@ "Starting from a jump or with a double bomb jump can help speed this up and make it much easier,", "but Samus needs to bomb slowly near the top to prevent hitting the crumble blocks before PLMs are overloaded.", "Get GT to jump away then again jump into IBJ and climb to the right item.", - "With a speedy jump, it is possible to overload PLMs with one jump, then wait for it to get close and run under it and jump to the top right.", "Note that Samus can roll under GT, but when it attacks, it places stationary invisible projectiles, which may block Samus' path.", "Place a Power Bomb then quickly exit G-mode to quickly clear all of the bomb blocks, otherwise it is possible to get out with a few Bombs or Screw Attack." ] @@ -1090,7 +1092,7 @@ {"notable": "Safe Spot Kill"}, {"or": [ {"resourceAtMost": [{"type": "Missile", "count": 31}]}, - "canInsaneJump" + "canComplexGMode" ]}, {"or": [ {"ammo": {"type": "Super", "count": 30}}, diff --git a/region/lowernorfair/west/Screw Attack Room.json b/region/lowernorfair/west/Screw Attack Room.json index 7239fa135f..bbf6370e58 100644 --- a/region/lowernorfair/west/Screw Attack Room.json +++ b/region/lowernorfair/west/Screw Attack Room.json @@ -1668,6 +1668,7 @@ } }, "requires": [ + "canComplexGMode", "h_heatProof", {"or": [ "canWalljump", From 0af09cc444cbe6489a979c28e12fae5c6d16fe62 Mon Sep 17 00:00:00 2001 From: kjbranch Date: Wed, 13 Aug 2025 11:57:30 -0600 Subject: [PATCH 2/2] feedback update --- helpers.json | 11 ++++++++-- region/lowernorfair/east/Amphitheatre.json | 2 +- .../east/Fast Pillars Setup Room.json | 2 +- .../lowernorfair/east/Plowerhouse Room.json | 21 +++++-------------- region/lowernorfair/east/Ridley's Room.json | 4 ++-- .../east/Three Musketeers' Room.json | 6 ++---- region/lowernorfair/east/Wasteland.json | 5 ++++- .../west/Golden Torizo's Room.json | 6 +++--- 8 files changed, 27 insertions(+), 30 deletions(-) diff --git a/helpers.json b/helpers.json index cf6e3a7088..24504dc6b7 100644 --- a/helpers.json +++ b/helpers.json @@ -1138,8 +1138,15 @@ { "name": "h_heatedGModePauseAbuse", "requires": [ - "h_heatedGMode", - "canPauseAbuse" + "canEnterGMode", + "canPauseAbuse", + {"or": [ + "h_heatProof", + {"and": [ + "canComplexGMode", + "canHeatedGMode" + ]} + ]} ] }, { diff --git a/region/lowernorfair/east/Amphitheatre.json b/region/lowernorfair/east/Amphitheatre.json index 6f4877e2d5..789633b051 100644 --- a/region/lowernorfair/east/Amphitheatre.json +++ b/region/lowernorfair/east/Amphitheatre.json @@ -358,7 +358,7 @@ "HiJump", "SpaceJump", "canSpringBallJumpMidAir", - "canComplexGMode", + "canInsaneJump", {"and": [ "Charge", "canTrickyUseFrozenEnemies", diff --git a/region/lowernorfair/east/Fast Pillars Setup Room.json b/region/lowernorfair/east/Fast Pillars Setup Room.json index 5f562c1cd1..a734de3b49 100644 --- a/region/lowernorfair/east/Fast Pillars Setup Room.json +++ b/region/lowernorfair/east/Fast Pillars Setup Room.json @@ -1013,7 +1013,7 @@ {"ammo": {"type": "PowerBomb", "count": 3}}, "h_artificialMorphIBJ", {"or": [ - "canComplexGMode", + "canInsaneJump", {"ammo": {"type": "PowerBomb", "count": 3}} ]}, {"heatFrames": 70} diff --git a/region/lowernorfair/east/Plowerhouse Room.json b/region/lowernorfair/east/Plowerhouse Room.json index 2a28751882..5c72149abe 100644 --- a/region/lowernorfair/east/Plowerhouse Room.json +++ b/region/lowernorfair/east/Plowerhouse Room.json @@ -362,24 +362,12 @@ "requires": [ {"or": [ "ScrewAttack", - "canTrickyGMode", + "canInsaneJump", {"and": [ "canTrickyDodgeEnemies", - "Plasma", - {"or": [ - "Wave", - "Ice" - ]} - ]}, - {"and": [ - "canComplexGMode", "Plasma" ]}, - {"enemyDamage": {"enemy": "Holtz", "type": "contact", "hits": 1}}, - {"and": [ - "canComplexGMode", - {"enemyDamage": {"enemy": "Zebbo", "type": "contact", "hits": 1}} - ]} + {"enemyDamage": {"enemy": "Holtz", "type": "contact", "hits": 1}} ]}, {"or": [ "h_heatedGModePauseAbuse", @@ -389,7 +377,8 @@ "flashSuitChecked": true, "note": [ "Kill or dodge the Holtz while crossing the room. With Plasma and Wave or Ice, it is possible to quickly kill the Holtz while at the left door.", - "Otherwise, jump immediately on entry while Samus still has i-frames to get to the left of the first Zebbo and kill it.", + "Otherwise, in direct G-mode, jump immediately on entry while Samus still has i-frames to get to the left of the first Zebbo and kill it,", + "and in indirect G-mode, move to the left then run under the Holtzes.", "Carefully cross the room while killing the Holtz without luring them, or dodge them.", "It is possible to kill a Zebbo by the door and pause abuse to grab its Energy drop on G-mode exit, which requires not killing the right Zebbo until it is in location." ] @@ -684,7 +673,7 @@ ]} ]}, "Plasma", - "canComplexGMode", + "canInsaneJump", {"enemyDamage": {"enemy": "Zebbo", "type": "contact", "hits": 1}} ]}, "h_heatedGModePauseAbuse" diff --git a/region/lowernorfair/east/Ridley's Room.json b/region/lowernorfair/east/Ridley's Room.json index 48d8435e52..83c2c29634 100644 --- a/region/lowernorfair/east/Ridley's Room.json +++ b/region/lowernorfair/east/Ridley's Room.json @@ -423,7 +423,7 @@ }, "requires": [ {"notable": "G-Mode Crystal Flash Stuck Ridley"}, - "canTrickyGMode", + "canComplexGMode", "h_heatedGMode", "h_CrystalFlash", "h_usePowerBomb", @@ -728,7 +728,7 @@ }, "requires": [ {"notable": "G-Mode Crystal Flash Stuck Ridley"}, - "canTrickyGMode", + "canComplexGMode", "h_heatedGMode", "h_CrystalFlash", "h_usePowerBomb", diff --git a/region/lowernorfair/east/Three Musketeers' Room.json b/region/lowernorfair/east/Three Musketeers' Room.json index c9d94ff062..f6d7cd4305 100644 --- a/region/lowernorfair/east/Three Musketeers' Room.json +++ b/region/lowernorfair/east/Three Musketeers' Room.json @@ -528,11 +528,9 @@ } }, "requires": [ + "canInsaneJump", {"or": [ - {"and": [ - "canComplexGMode", - "h_artificialMorphJumpIntoIBJ" - ]}, + "h_artificialMorphJumpIntoIBJ", {"and": [ "canTrickyGMode", "h_artificialMorphSpringFling" diff --git a/region/lowernorfair/east/Wasteland.json b/region/lowernorfair/east/Wasteland.json index 830ff27396..5086571572 100644 --- a/region/lowernorfair/east/Wasteland.json +++ b/region/lowernorfair/east/Wasteland.json @@ -561,9 +561,12 @@ }, "requires": [ "Morph", - "canTrickyJump", {"or": [ "canComplexGMode", + "Wave" + ]}, + {"or": [ + "canInsaneJump", {"ammo": {"type": "Super", "count": 1}}, {"ammo": {"type": "Missile", "count": 1}}, "Charge", diff --git a/region/lowernorfair/west/Golden Torizo's Room.json b/region/lowernorfair/west/Golden Torizo's Room.json index 37d9c6c274..fb47cb461c 100644 --- a/region/lowernorfair/west/Golden Torizo's Room.json +++ b/region/lowernorfair/west/Golden Torizo's Room.json @@ -647,7 +647,7 @@ {"or": [ "h_artificialMorphJumpIntoIBJ", "h_artificialMorphDoubleBombJump", - "canComplexGMode" + "canInsaneJump" ]} ]} ]}, @@ -891,7 +891,7 @@ {"or": [ "h_artificialMorphJumpIntoIBJ", "h_artificialMorphDoubleBombJump", - "canComplexGMode" + "canInsaneJump" ]} ]} ]}, @@ -1020,7 +1020,7 @@ {"or": [ "f_DefeatedGoldenTorizo", {"and": [ - "canComplexGMode", + "canInsaneJump", "h_artificialMorphJumpIntoIBJ" ]}, {"and": [