From dfb2f5597afa899dc9e2abf6830738e0fdf66039 Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Fri, 1 Aug 2025 17:15:28 -0600 Subject: [PATCH 1/4] Pink Maridia farms part 2: Botwoon Hallway, etc. --- .../maridia/inner-pink/Botwoon Hallway.json | 170 ++++++++++++++-- region/maridia/inner-pink/Colosseum.json | 182 +++++++++++++++++- region/maridia/inner-pink/Crab Shaft.json | 146 ++++++++++++-- 3 files changed, 461 insertions(+), 37 deletions(-) diff --git a/region/maridia/inner-pink/Botwoon Hallway.json b/region/maridia/inner-pink/Botwoon Hallway.json index c9b6b1155a..727c0edaaf 100644 --- a/region/maridia/inner-pink/Botwoon Hallway.json +++ b/region/maridia/inner-pink/Botwoon Hallway.json @@ -108,19 +108,95 @@ "requires": [ {"resetRoom": {"nodes": [1]}}, {"or": [ - "canDodgeWhileShooting", - "Wave", - "Spazer", - "Plasma", - "canUseGrapple", {"and": [ - "ScrewAttack", - "Gravity" + "Gravity", + {"or": [ + {"and": [ + {"or": [ + "Grapple", + "Plasma", + "Wave", + "Spazer", + "ScrewAttack" + ]}, + {"cycleFrames": 160} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 210} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 300} + ]} + ]} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 180} + ]}, + {"and": [ + {"or":[ + "Plasma", + "Wave", + "Spazer" + ]}, + {"cycleFrames": 240} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 360} ]} - ]}, - {"partialRefill": {"type": "Super", "limit": 4}}, - {"partialRefill": {"type": "Energy", "limit": 200}}, - {"partialRefill": {"type": "Missile", "limit": 10}} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 2} + ] + }, + { + "link": [1, 1], + "name": "Puyo Farm", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + {"or": [ + "Plasma", + "Wave", + "Spazer" + ]}, + {"cycleFrames": 720} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 770} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 770} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1020} + ]} + ]} + ]}, + {"and": [ + "HiJump", + {"cycleFrames": 1650} + ]}, + {"and": [ + "canTrickyJump", + "h_crouchJumpDownGrab", + {"cycleFrames": 2280} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Puyo", "count": 2} ] }, { @@ -790,6 +866,78 @@ } } }, + { + "link": [2, 2], + "name": "Mochtroid and Puyo Farm", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 720} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 760} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 785} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 800} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 820} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1060} + ]} + ]}, + {"or": [ + "canWalljump", + "h_crouchJumpDownGrab", + {"cycleFrames": 150} + ]} + ]}, + {"and": [ + {"or": [ + {"and": [ + {"or": [ + "Plasma", + "Wave", + "Spazer", + "Grapple" + ]}, + {"cycleFrames": 1710} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 2010} + ]} + ]}, + {"or": [ + "HiJump", + {"and": [ + "canTrickyJump", + "h_crouchJumpDownGrab", + {"cycleFrames": 315} + ]} + ]} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1}, + {"enemy": "Puyo", "count": 2} + ] + }, { "id": 31, "link": [2, 2], diff --git a/region/maridia/inner-pink/Colosseum.json b/region/maridia/inner-pink/Colosseum.json index 08317152dc..67a8dee388 100644 --- a/region/maridia/inner-pink/Colosseum.json +++ b/region/maridia/inner-pink/Colosseum.json @@ -138,14 +138,75 @@ { "id": 3, "link": [1, 1], - "name": "Mochtroid Farm", + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 70} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 70} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 75} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 80} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 90} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 120} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1} + ] + }, + { + "link": [1, 1], + "name": "Mochtroid Farm (4 Mochtroids)", "requires": [ {"resetRoom": {"nodes": [1]}}, "SpaceJump", - "ScrewAttack", - {"partialRefill": {"type": "Super", "limit": 4}}, - {"partialRefill": {"type": "Energy", "limit": 200}}, - {"partialRefill": {"type": "Missile", "limit": 10}} + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 1035} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 1050} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 1080} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 1090} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 1150} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1260} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 4} ] }, { @@ -950,6 +1011,43 @@ "Maintain a half-tile gap between the Mochtroid and the runway in order to extend it as much as possible." ] }, + { + "link": [2, 2], + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 95} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 95} + ]}, + {"and": [ + "Gravity", + "ScrewAttack", + {"cycleFrames": 95} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 105} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 115} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 145} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1} + ] + }, { "id": 38, "link": [2, 2], @@ -2549,6 +2647,80 @@ "then roll from right to down-right to enter the transition (at horizontal positon 1771)." ] }, + { + "link": [3, 3], + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 70} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 70} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 75} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 80} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 90} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 120} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1} + ] + }, + { + "link": [3, 3], + "name": "Mochtroid Farm (3 Mochtroids)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + "SpaceJump", + {"or": [ + {"and": [ + "ScrewAttack", + {"cycleFrames": 710} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 730} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 770} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 810} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 855} + ]}, + {"and": [ + "canDodgeWhileShooting", + "canTrickyJump", + {"cycleFrames": 1140} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 3} + ] + }, { "id": 83, "link": [3, 3], diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index 1e936fcebf..f92b6dc076 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -403,19 +403,13 @@ { "id": 3, "link": [1, 1], - "name": "Sciser Farm", + "name": "Sciser Farm (1 Sciser)", "requires": [ {"resetRoom": {"nodes": [1]}}, - {"partialRefill": {"type": "Energy", "limit": 240}}, - {"partialRefill": {"type": "PowerBomb", "limit": 6}}, - {"or": [ - "Gravity", - "Spazer", - "Wave", - "Plasma", - "canUseGrapple", - "canBePatient" - ]} + {"cycleFrames": 490} + ], + "farmCycleDrops": [ + {"enemy": "Sciser", "count": 1} ] }, { @@ -1358,23 +1352,94 @@ "link": [2, 2], "name": "Sciser Farm", "requires": [ - {"resetRoom": {"nodes": [2]}}, {"or": [ + {"resetRoom": {"nodes": [2]}}, {"and": [ - {"partialRefill": {"type": "Energy", "limit": 240}}, - {"partialRefill": {"type": "PowerBomb", "limit": 6}} + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Gravity", + {"cycleFrames": 180} + ]}, + {"and": [ + "HiJump", + "h_crouchJumpDownGrab", + {"cycleFrames": 540} + ]} + ]} ]}, {"and": [ - {"refill": ["Energy", "PowerBomb"]}, + {"resetRoom": {"nodes": [3]}}, + "Gravity", {"or": [ - "Gravity", - "Spazer", - "Wave", - "Plasma", - "canUseGrapple" - ]} + "canWalljump", + "HiJump", + "SpaceJump" + ]}, + {"cycleFrames": 460} ]} + ]}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 300} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 360} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 370} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 400} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 430} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 460} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 690} + ]}, + {"cycleFrames": 800} + ]} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 640} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 670} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 720} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 750} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 1050} + ]}, + {"cycleFrames": 1120} ]} + ], + "farmCycleDrops": [{"enemy": "Sciser", "count": 3}], + "devNote": [ + "Other, slower methods are possible for resetting the room using the upper doors." ] }, { @@ -1918,6 +1983,45 @@ "Knocking the crab off while it is on the the door or ceiling will not work." ] }, + { + "link": [4, 4], + "name": "Sciser Farm (1 Sciser, Fast Cycle)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + {"or": [ + "canCrouchJump", + "h_underwaterCrouchJumpWithFlashSuit" + ]}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 150} + ]}, + {"and": [ + "Wave", + "Spazer", + {"cycleFrames": 160} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 160} + ]} + ]}, + {"or": [ + "Grapple", + "HiJump", + "Gravity", + {"and": [ + "canSpringBallJumpMidAir", + "h_doubleEquipmentScreenCycleFrames", + {"cycleFrames": 55} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Sciser", "count": 1} + ] + }, { "id": 59, "link": [4, 4], From 6d36026f0dcce349da51584d508f8cea7a9b258f Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Sun, 3 Aug 2025 16:45:58 -0600 Subject: [PATCH 2/4] feedback updates --- region/maridia/inner-pink/Crab Shaft.json | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index f92b6dc076..491af8fd7b 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -403,13 +403,14 @@ { "id": 3, "link": [1, 1], - "name": "Sciser Farm (1 Sciser)", + "name": "Sciser Farm (2 Scisers)", "requires": [ {"resetRoom": {"nodes": [1]}}, - {"cycleFrames": 490} + {"cycleFrames": 860}, + "canDodgeWhileShooting" ], "farmCycleDrops": [ - {"enemy": "Sciser", "count": 1} + {"enemy": "Sciser", "count": 2} ] }, { @@ -1350,7 +1351,7 @@ { "id": 43, "link": [2, 2], - "name": "Sciser Farm", + "name": "Sciser Farm (3 Scisers)", "requires": [ {"or": [ {"resetRoom": {"nodes": [2]}}, @@ -1992,12 +1993,14 @@ "canCrouchJump", "h_underwaterCrouchJumpWithFlashSuit" ]}, + "canTrickyJump", {"or": [ {"and": [ "Plasma", {"cycleFrames": 150} ]}, {"and": [ + "canFarmWhileShooting", "Wave", "Spazer", {"cycleFrames": 160} @@ -2008,7 +2011,15 @@ ]} ]}, {"or": [ - "Grapple", + {"and": [ + "Grapple", + "canPrepareForNextRoom", + {"or": [ + "canResetFallSpeed", + "canPreciseWalljump" + ]}, + "canFarmWhileShooting" + ]}, "HiJump", "Gravity", {"and": [ From f0937826c9db7624be24d4256e5f9746c757c5cc Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Sun, 3 Aug 2025 16:48:21 -0600 Subject: [PATCH 3/4] add FIXME about water entry --- region/maridia/inner-pink/Crab Shaft.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index 491af8fd7b..26c3b1184f 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -2031,7 +2031,8 @@ ], "farmCycleDrops": [ {"enemy": "Sciser", "count": 1} - ] + ], + "devNote": "FIXME: for the Grapple case, a water entry above can work as an alternative to wall jump or unmorph." }, { "id": 59, From dc95eb2908f66a94e3f961d3aaf3c00739c39248 Mon Sep 17 00:00:00 2001 From: Brent Kerby Date: Mon, 4 Aug 2025 09:16:35 -0600 Subject: [PATCH 4/4] feedback update: Grapple/beam variants --- region/maridia/inner-pink/Crab Shaft.json | 24 +++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index 26c3b1184f..c2a77871e4 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -406,8 +406,28 @@ "name": "Sciser Farm (2 Scisers)", "requires": [ {"resetRoom": {"nodes": [1]}}, - {"cycleFrames": 860}, - "canDodgeWhileShooting" + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 560} + ]}, + {"and": [ + {"or": [ + "Plasma", + "Wave", + "Spazer" + ]}, + {"cycleFrames": 620} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 780} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 860} + ]} + ]} ], "farmCycleDrops": [ {"enemy": "Sciser", "count": 2}