From 23331e2616cc4154b15b0111b4613a4b295b4c1d Mon Sep 17 00:00:00 2001 From: Michael McKenzie Date: Fri, 15 Aug 2025 06:45:14 -0230 Subject: [PATCH 1/3] Attic Farms --- region/wreckedship/main/Attic.json | 334 +++++++++++++++++++++++++++-- 1 file changed, 313 insertions(+), 21 deletions(-) diff --git a/region/wreckedship/main/Attic.json b/region/wreckedship/main/Attic.json index 67eb5086c1..b3258ec898 100644 --- a/region/wreckedship/main/Attic.json +++ b/region/wreckedship/main/Attic.json @@ -515,41 +515,157 @@ "name": "Kihunters and Atomics Farm (Power On)", "requires": [ "f_DefeatedPhantoon", + {"resetRoom": {"nodes": [1]}}, {"or": [ - "ScrewAttack", - "Plasma", - "Wave" - ]}, - {"resetRoom": {"nodes": [1, 2, 3]}}, - {"refill": ["Energy", "Missile", "Super"]} + {"and": [ + "ScrewAttack", + {"cycleFrames": 420} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 440} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"or": [ + "Wave", + "Spazer" + ]}, + {"cycleFrames": 840} + ]}, + {"and": [ + "canTrickyDodgeEnemies", + "Ice", + {"cycleFrames": 1200} + ]}, + {"and": [ + "canTrickyDodgeEnemies", + {"cycleFrames": 1740} + ]} + ]} ], - "clearsObstacles": ["A"] + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Kihunter", "count": 1}, + {"enemy": "Atomic", "count": 2} + ] }, { "id": 19, "link": [1, 1], - "name": "Atomics and Coverns Farm (Power Off)", + "name": "Raised Atomics Farm (Power Off)", "requires": [ {"not": "f_DefeatedPhantoon"}, + {"resetRoom": {"nodes": [1]}}, {"or": [ - "Plasma", - "Wave", {"and": [ - "canRiskPermanentLossOfAccess", + "Plasma", + {"cycleFrames": 930} + ]}, + {"and": [ {"or": [ - "Spazer", - "Ice", - "h_useMorphBombs", - "canUseSpeedEchoes" - ]} + "canDodgeWhileShooting", + "canRiskPermanentLossOfAccess" + ]}, + "Wave", + {"cycleFrames": 1010} + ]}, + {"and": [ + {"or": [ + "canDodgeWhileShooting", + "canRiskPermanentLossOfAccess" + ]}, + "Spazer", + {"cycleFrames": 1140} + ]}, + {"and": [ + {"or": [ + "canFarmWhileShooting", + "canRiskPermanentLossOfAccess" + ]}, + "Ice", + {"cycleFrames": 1300} + ]}, + {"and": [ + "canFarmWhileShooting", + {"cycleFrames": 1980} ]} - ]}, + ]} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Trapped Atomic", "count": 3} + ] + }, + { + "link": [1, 1], + "name": "Atomics Farm (Power Off, Morph Bombs)", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", {"resetRoom": {"nodes": [1, 2, 3]}}, - {"refill": ["Energy", "Missile"]} + "h_useMorphBombs", + {"cycleFrames": 2300} ], - "clearsObstacles": ["A"], - "devNote": [ - "With Plasma or Wave, there is no canRiskPermanentLossOfAccess, because a comparable farm is also available with power on." + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Trapped Atomic", "count": 4} + ] + }, + { + "link": [1, 1], + "name": "Atomics Farm (Power Off, Speed Booster)", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"resetRoom": {"nodes": [1, 2, 3]}}, + "canShinechargeMovementComplex", + "canUseSpeedEchoes", + {"canShineCharge": {"usedTiles": 20, "openEnd": 0}}, + {"shinespark": {"frames": 4, "excessFrames": 4}}, + {"cycleFrames": 2600} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Trapped Atomic", "count": 8} + ] + }, + { + "link": [1, 1], + "name": "Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 120} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 150} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 240} + ]}, + {"and": [ + "canPseudoScrew", + "canFarmWhileShooting", + {"cycleFrames": 120} + ]}, + {"cycleFrames": 540} + ]}, + {"cycleFrames": 480} + ], + "farmCycleDrops": [ + {"enemy": "Covern", "count": 1} ] }, { @@ -822,6 +938,104 @@ } } }, + { + "link": [2, 2], + "name": "Kihunters and Atomics Farm (Power On)", + "requires": [ + "f_DefeatedPhantoon", + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "ScrewAttack", + {"cycleFrames": 520} + ]}, + {"and": [ + "canDodgeWhileShooting", + "Plasma", + {"cycleFrames": 800} + ]}, + {"and": [ + "canDodgeWhileShooting", + "Wave", + "Spazer", + "Ice", + {"cycleFrames": 930} + ]}, + {"and": [ + "canTrickyDodgeEnemies", + {"or": [ + "Wave", + "Spazer", + "Ice" + ]}, + {"cycleFrames": 1400} + ]}, + {"and": [ + "canInsaneJump", + {"cycleFrames": 2600} + ]} + ]} + ], + "clearsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Kihunter", "count": 3}, + {"enemy": "Atomic", "count": 2} + ] + }, + { + "link": [2, 2], + "name": "Raised Atomics Farm (Power Off)", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + {"or": [ + "canDodgeWhileShooting", + "canRiskPermanentLossOfAccess" + ]}, + "Plasma", + {"cycleFrames": 930} + ]}, + {"and": [ + {"or": [ + "canTrickyDodgeEnemies", + "canRiskPermanentLossOfAccess" + ]}, + "Wave", + {"cycleFrames": 1010} + ]}, + {"and": [ + {"or": [ + "canTrickyDodgeEnemies", + "canRiskPermanentLossOfAccess" + ]}, + "Spazer", + {"cycleFrames": 1140} + ]}, + {"and": [ + {"or": [ + "canTrickyDodgeEnemies", + "canRiskPermanentLossOfAccess" + ]}, + "Ice", + {"cycleFrames": 1300} + ]}, + {"and": [ + {"or": [ + "canInsaneJump", + "canRiskPermanentLossOfAccess" + ]}, + "canFarmWhileShooting", + {"cycleFrames": 1980} + ]} + ]} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Trapped Atomic", "count": 3} + ] + }, { "id": 39, "link": [2, 2], @@ -1064,6 +1278,84 @@ } } }, + { + "link": [3, 3], + "name": "Kihunters and Atomics Farm (Power On)", + "requires": [ + "f_DefeatedPhantoon", + {"resetRoom": {"nodes": [3]}}, + {"or": [ + {"and": [ + "ScrewAttack", + {"cycleFrames": 400} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 520} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"or": [ + "Wave", + "Spazer" + ]}, + {"cycleFrames": 840} + ]}, + {"and": [ + "canTrickyDodgeEnemies", + "Ice", + {"cycleFrames": 1500} + ]} + ]} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Kihunter", "count": 3}, + {"enemy": "Atomic", "count": 1} + ] + }, + { + "link": [3, 3], + "name": "Raised Atomics Farm (Power Off)", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + {"resetRoom": {"nodes": [3]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 930} + ]}, + {"and": [ + {"or": [ + "canDodgeWhileShooting", + "canRiskPermanentLossOfAccess" + ]}, + "Wave", + {"cycleFrames": 1010} + ]}, + {"and": [ + {"or": [ + "canDodgeWhileShooting", + "canRiskPermanentLossOfAccess" + ]}, + "Spazer", + {"cycleFrames": 1140} + ]}, + {"and": [ + {"or": [ + "canInsaneJump", + "canRiskPermanentLossOfAccess" + ]}, + "Ice", + {"cycleFrames": 1300} + ]} + ]} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Trapped Atomic", "count": 3} + ] + }, { "id": 53, "link": [3, 3], From 339f1b2e6537b96a0acdd0aa5542b0d9dd817a5f Mon Sep 17 00:00:00 2001 From: Michael McKenzie Date: Fri, 15 Aug 2025 10:56:53 -0230 Subject: [PATCH 2/3] WS farms --- enemies/main.json | 75 ++++ region/wreckedship/main/Basement.json | 37 +- region/wreckedship/main/Sponge Bath.json | 29 +- .../main/Wrecked Ship East Super Room.json | 152 +++++++- .../main/Wrecked Ship Energy Tank Room.json | 90 +++++ .../main/Wrecked Ship Main Shaft.json | 350 ++++++++++++++++-- .../main/Wrecked Ship Map Room.json | 38 ++ .../main/Wrecked Ship Save Room.json | 38 ++ 8 files changed, 748 insertions(+), 61 deletions(-) diff --git a/enemies/main.json b/enemies/main.json index c3a73a91a2..ed2da7593c 100644 --- a/enemies/main.json +++ b/enemies/main.json @@ -3041,6 +3041,81 @@ "wreckedship" ] }, + { + "id": 116, + "name": "Custom Covern (Bull)", + "attacks": [ + { + "name": "contact", + "baseDamage": 50 + } + ], + "hp": 300, + "note": [ + "This represents a Covern that has a reduced drop chance so as to have an applicable farm in the powered off and powered on states of Wrecked ship.", + "This enemy is the intersection of a Covern and a Bull.", + "Respawns after being destroyed. 300 frames is an estimate, time seems variable." + ], + "amountOfDrops": 1, + "drops": { + "noDrop": 56, + "smallEnergy": 0, + "bigEnergy": 38, + "missile": 0, + "super": 0, + "powerBomb": 8 + }, + "dims": { + "w": 16, + "h": 16 + }, + "freezable": true, + "grapplable": false, + "invul": [ + "Grapple", + "UnchargedBeamNoPlasma" + ], + "damageMultipliers": [], + "areas": [ + "wreckedship" + ] + }, + { + "id": 117, + "name": "Custom Covern (Atomic)", + "attacks": [ + { + "name": "contact", + "baseDamage": 50 + } + ], + "hp": 300, + "note": [ + "This represents a Covern that has a reduced drop chance so as to have an applicable farm in the powered off and powered on states of Wrecked ship.", + "This enemy is the intersection of a Covern and an Atomic.", + "Respawns after being destroyed. 300 frames is an estimate, time seems variable." + ], + "amountOfDrops": 1, + "drops": { + "noDrop": 0, + "smallEnergy": 30, + "bigEnergy": 38, + "missile": 28, + "super": 2, + "powerBomb": 2 + }, + "dims": { + "w": 16, + "h": 16 + }, + "freezable": true, + "grapplable": false, + "invul": ["Grapple"], + "damageMultipliers": [], + "areas": [ + "wreckedship" + ] + }, { "id": 120, "name": "Kzan", diff --git a/region/wreckedship/main/Basement.json b/region/wreckedship/main/Basement.json index 2cea9204d4..2375b474c2 100644 --- a/region/wreckedship/main/Basement.json +++ b/region/wreckedship/main/Basement.json @@ -548,16 +548,37 @@ "requires": [ "f_DefeatedPhantoon", {"or": [ - "ScrewAttack", - "Wave", - "Spazer", - "Plasma" + {"and": [ + {"resetRoom": {"nodes": [1]}}, + {"cycleFrames": 510} + ]}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 555} + ]}, + {"and": [ + "h_useMorphBombs", + {"resetRoom": {"nodes": [3]}}, + {"cycleFrames": 800} + ]} ]}, - {"resetRoom": {"nodes": [1, 2]}}, - {"partialRefill": {"type": "Energy", "limit": 400}}, - {"partialRefill": {"type": "Missile", "limit": 10}} + {"or": [ + "ScrewAttack", + "Plasma", + {"and": [ + {"or": [ + "Spazer", + "Wave" + ]}, + {"cycleFrames": 240} + ]}, + {"cycleFrames": 515} + ]} ], - "resetsObstacles": ["A"] + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Atomic", "count": 3} + ] }, { "id": 22, diff --git a/region/wreckedship/main/Sponge Bath.json b/region/wreckedship/main/Sponge Bath.json index f5843a0762..77b2f3c2eb 100644 --- a/region/wreckedship/main/Sponge Bath.json +++ b/region/wreckedship/main/Sponge Bath.json @@ -187,11 +187,18 @@ "ScrewAttack", "canPseudoScrew", "Plasma", - "Grapple" + "Grapple", + {"and": [ + "h_useMorphBombs", + "canFarmWhileShooting", + {"cycleFrames": 200} + ]} ]}, {"resetRoom": {"nodes": [1]}}, - {"refill": ["PowerBomb"]}, - {"partialRefill": {"type": "Energy", "limit": 100}} + {"cycleFrames": 150} + ], + "farmCycleDrops": [ + {"enemy": "Bull", "count": 1} ] }, { @@ -1233,12 +1240,20 @@ "ScrewAttack", "canPseudoScrew", "Plasma", - "Grapple" + "Grapple", + {"and": [ + "h_useMorphBombs", + "canInsaneJump", + {"cycleFrames": 510} + ]} ]}, {"resetRoom": {"nodes": [2]}}, - {"refill": ["PowerBomb"]}, - {"partialRefill": {"type": "Energy", "limit": 100}} - ] + {"cycleFrames": 155} + ], + "farmCycleDrops": [ + {"enemy": "Bull", "count": 1} + ], + "flashSuitChecked": true }, { "id": 58, diff --git a/region/wreckedship/main/Wrecked Ship East Super Room.json b/region/wreckedship/main/Wrecked Ship East Super Room.json index 8d64897bcf..b7ad9c8968 100644 --- a/region/wreckedship/main/Wrecked Ship East Super Room.json +++ b/region/wreckedship/main/Wrecked Ship East Super Room.json @@ -92,6 +92,15 @@ "quantity": 4, "homeNodes": [1], "stopSpawn": ["f_DefeatedPhantoon"] + }, + { + "id": "e5", + "groupName": "Wrecked Ship East Supers Custom Covern", + "enemyName": "Custom Covern (Bull)", + "quantity": 1, + "homeNodes": [1], + "stopSpawn": ["f_DefeatedPhantoon"], + "note": "This represents a Covern that has a reduced drop chance that would be logically possible in the powered on state of Wrecked ship." } ], "links": [ @@ -406,29 +415,146 @@ "flashSuitChecked": true }, { - "id": 17, "link": [1, 1], - "name": "Coverns and Atomics Farm (Power Off)", + "name": "Bull Farm", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + "ScrewAttack", + "canPseudoScrew", + "Plasma", + "Grapple", + {"and": [ + "h_useMorphBombs", + {"or": [ + "canInsaneJump", + {"enemyDamage": {"enemy": "Bull", "type": "contact", "hits": 2}} + ]}, + {"cycleFrames": 300} + ]} + ]}, + {"cycleFrames": 300} + ], + "farmCycleDrops": [ + {"enemy": "Bull", "count": 2} + ], + "resetsObstacles": ["A"], + "flashSuitChecked": true + }, + { + "link": [1, 1], + "name": "Conservative Covern Farm (Power Off)", "requires": [ {"not": "f_DefeatedPhantoon"}, - "canRiskPermanentLossOfAccess", + {"resetRoom": {"nodes": [1]}}, {"or": [ - "Ice", - "Wave", - "Spazer", - "Plasma" + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Grapple", + {"or": [ + "Wave", + "Spazer" + ]}, + {"cycleFrames": 150} + ]}, + {"and": [ + "canPseudoScrew", + {"or": [ + "canFarmWhileShooting", + {"cycleFrames": 300} + ]}, + {"cycleFrames": 120} + ]} ]}, + {"cycleFrames": 480} + ], + "clearsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Custom Covern (Bull)", "count": 2} + ], + "flashSuitChecked": true, + "note": "There are additional requirements for killing the Bull enemy who appears when Phantoon is defeated.", + "devNote": [ + "This is Covern farm with a reduced drop chance so as to be applicable while powered off without breaking the powered on state.", + "The weaponry must be able to kill a Bull and follow the dissapearing cycle of a Covern.", + "Resetting the room is slower than waiting for the Covern to respawn, so it is counted as 2 drops.", + "These Coverns have no Super or Missile drop chance." + ] + }, + { + "id": 17, + "link": [1, 1], + "name": "Atomics Farm (Power Off)", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", {"resetRoom": {"nodes": [1]}}, - {"refill": ["Energy", "Missile", "Super"]} + "canDodgeWhileShooting", + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 1020} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 960} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 1400} + ]} + ]} ], "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Trapped Atomic", "count": 4} + ], "note": [ - "It is possible to kill the trapped Atomics with any beam upgrade besides charge.", - "Kill the atomics while waiting for the Coverns to respawn." + "Any beam can kill the Atomics by aiming for the seam in the glass.", + "The drop may be hard to collect; try spin jumping along the side of the glass." ], - "devNote": [ - "Killing the Coverns with any of these options can be done on a single cycle. Screw Attack can kill the Coverns quickly, but can't kill the Atomics.", - "FIXME: Should this require another tech? canRiskPermanentLossOfAccess is a pretty high-level requirement." + "devNote": "Other options should just farm the Covern." + }, + { + "link": [1, 1], + "name": "Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 120} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 150} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 240} + ]}, + {"and": [ + "canPseudoScrew", + "canFarmWhileShooting", + {"cycleFrames": 120} + ]}, + {"cycleFrames": 540} + ]}, + {"cycleFrames": 480} + ], + "farmCycleDrops": [ + {"enemy": "Covern", "count": 1} ] }, { diff --git a/region/wreckedship/main/Wrecked Ship Energy Tank Room.json b/region/wreckedship/main/Wrecked Ship Energy Tank Room.json index b615a4c089..d9d7da1c60 100644 --- a/region/wreckedship/main/Wrecked Ship Energy Tank Room.json +++ b/region/wreckedship/main/Wrecked Ship Energy Tank Room.json @@ -165,6 +165,96 @@ "FIXME: There is likely a fast wall jump climb strat with more spark frames." ] }, + { + "link": [1, 1], + "name": "Skultera Farm", + "requires": [ + "f_DefeatedPhantoon", + {"resetRoom": {"nodes": [1]}}, + "canDodgeWhileShooting", + {"or": [ + "Gravity", + {"and": [ + "canSuitlessMaridia", + {"cycleFrames": 150} + ]} + ]}, + {"or": [ + {"and": [ + "Plasma", + {"or": [ + "canTrickyJump", + "Grapple" + ]} + ]}, + {"and": [ + "Spazer", + "Wave", + {"or": [ + "canTrickyJump", + "canInsaneJump", + "Grapple" + ]}, + {"cycleFrames": 80} + ]}, + {"and": [ + "canTrickyJump", + "Wave", + {"or": [ + "canInsaneJump", + "Grapple", + {"cycleFrames": 150} + ]}, + {"cycleFrames": 180} + ]} + ]}, + {"cycleFrames": 220} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Skultera", "count": 1} + ], + "flashSuitChecked": true, + "note": [ + "The sinking platforms can be used to collect drops if the fish gets away.", + "Without movement items, hold down while jumping to ascend while on the platform." + ] + }, + { + "link": [1, 1], + "name": "Skultera Farm (Space Jump)", + "requires": [ + "f_DefeatedPhantoon", + {"resetRoom": {"nodes": [1]}}, + "Gravity", + "SpaceJump", + {"or": [ + "ScrewAttack", + {"and": [ + "canDodgeWhileShooting", + {"or": [ + "Plasma", + {"and": [ + "Spazer", + "canFarmWhileShooting", + {"cycleFrames": 200} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 130} + ]}, + {"cycleFrames": 1000} + ]} + ]} + ]}, + {"cycleFrames": 230} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Skultera", "count": 1} + ], + "flashSuitChecked": true + }, { "id": 4, "link": [1, 1], diff --git a/region/wreckedship/main/Wrecked Ship Main Shaft.json b/region/wreckedship/main/Wrecked Ship Main Shaft.json index db2672fa23..0fb2e6c9ac 100644 --- a/region/wreckedship/main/Wrecked Ship Main Shaft.json +++ b/region/wreckedship/main/Wrecked Ship Main Shaft.json @@ -256,6 +256,14 @@ "enemyName": "Kzan", "quantity": 4, "homeNodes": [8] + }, + { + "id": "e6", + "groupName": "Wrecked Ship Main Shaft Custom Covern", + "enemyName": "Custom Covern (Atomic)", + "quantity": 1, + "homeNodes": [1, 3, 4, 7], + "stopSpawn": ["f_DefeatedPhantoon"] } ], "links": [ @@ -726,24 +734,6 @@ }, "devNote": "It is technically possible to reset at 7 and keep the top layer of obstacle B intact by clipping through the blocks" }, - { - "id": 23, - "link": [3, 3], - "name": "Atomic Farm", - "requires": [ - "f_DefeatedPhantoon", - {"or": [ - "ScrewAttack", - "Wave", - "Spazer", - "Plasma" - ]}, - {"resetRoom": {"nodes": [3]}}, - {"partialRefill": {"type": "Energy", "limit": 400}}, - {"partialRefill": {"type": "Missile", "limit": 10}} - ], - "resetsObstacles": ["A", "B", "C"] - }, { "id": 24, "link": [3, 3], @@ -1328,17 +1318,219 @@ "name": "Atomic Farm", "requires": [ "f_DefeatedPhantoon", + {"or": [ + {"and": [ + {"resetRoom": {"nodes": [1]}}, + {"cycleFrames": 1740} + ]}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 1200} + ]}, + {"and": [ + {"resetRoom": {"nodes": [3]}}, + {"cycleFrames": 1400} + ]}, + {"and": [ + {"resetRoom": {"nodes": [4]}}, + {"cycleFrames": 1050} + ]}, + {"and": [ + {"resetRoom": {"nodes": [5]}}, + {"cycleFrames": 1050} + ]}, + {"and": [ + {"resetRoom": {"nodes": [6]}}, + {"cycleFrames": 1830}, + "h_useMorphBombs" + ]}, + {"and": [ + {"resetRoom": {"nodes": [7]}}, + {"cycleFrames": 2000}, + "Morph", + {"or": [ + "Wave", + "Bombs", + "Spazer" + ]}, + {"or": [ + "Bombs", + "SpringBall", + {"and": [ + "canMidAirMorph", + "canCrouchJump" + ]} + ]} + ]} + ]}, {"or": [ "ScrewAttack", - "Wave", - "Spazer", - "Plasma" + "Plasma", + {"and": [ + "Wave", + {"cycleFrames": 60} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 330} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 900} + ]} + ]}, + {"or": [ + "canWalljump", + "h_crouchJumpDownGrab", + "HiJump", + "SpaceJump", + {"and": [ + "canIBJ", + {"cycleFrames": 750} + ]}, + {"and": [ + "canSpringBallJumpMidAir", + {"cycleFrames": 30}, + "h_doubleEquipmentScreenCycleFrames" + ]} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [ + {"enemy": "Atomic", "count": 4} + ] + }, + { + "link": [4, 4], + "name": "Conservative Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + {"or": [ + {"and": [ + {"resetRoom": {"nodes": [1]}}, + {"cycleFrames": 1740} + ]}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 2400} + ]}, + {"and": [ + {"resetRoom": {"nodes": [3]}}, + {"cycleFrames": 2800} + ]}, + {"and": [ + {"resetRoom": {"nodes": [4]}}, + {"cycleFrames": 2100} + ]}, + {"and": [ + {"resetRoom": {"nodes": [5]}}, + {"cycleFrames": 2100} + ]}, + {"and": [ + {"resetRoom": {"nodes": [6]}}, + {"cycleFrames": 1830}, + "h_useMorphBombs" + ]}, + {"and": [ + {"resetRoom": {"nodes": [7]}}, + {"cycleFrames": 2000}, + "Morph", + {"or": [ + "Wave", + "Bombs", + "Spazer" + ]}, + {"or": [ + "Bombs", + "SpringBall", + {"and": [ + "canMidAirMorph", + "canCrouchJump" + ]} + ]} + ]} + ]}, + {"or": [ + "ScrewAttack", + "Plasma", + {"and": [ + "Wave", + {"cycleFrames": 60} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 330} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 900} + ]} + ]}, + {"or": [ + "canWalljump", + "h_crouchJumpDownGrab", + "HiJump", + "SpaceJump", + {"and": [ + "canIBJ", + {"cycleFrames": 750} + ]}, + {"and": [ + "canSpringBallJumpMidAir", + {"cycleFrames": 30}, + "h_doubleEquipmentScreenCycleFrames" + ]} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [ + {"enemy": "Custom Covern (Atomic)", "count": 4} + ], + "note": "There is additional movement expected to represent the reaching Atomics who appear when the power is on.", + "devNote": [ + "This is Covern farm with a reduced drop chance so as to be applicable while powered off without breaking the powered on state.", + "Cycle frames represent the slower of killing 4 atomics or killing 4 coverns.", + "These Coverns have reduced Power Bomb and Super drop chance." + ] + }, + { + "link": [4, 4], + "name": "Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 120} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 150} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 240} + ]}, + {"and": [ + "canPseudoScrew", + "canFarmWhileShooting", + {"cycleFrames": 120} + ]}, + {"cycleFrames": 540} ]}, - {"resetRoom": {"nodes": [1, 2, 4, 5]}}, - {"partialRefill": {"type": "Energy", "limit": 400}}, - {"partialRefill": {"type": "Missile", "limit": 10}} + {"cycleFrames": 480} ], - "resetsObstacles": ["A", "B", "C"] + "farmCycleDrops": [ + {"enemy": "Covern", "count": 1} + ] }, { "id": 54, @@ -1838,6 +2030,44 @@ } } }, + { + "link": [6, 6], + "name": "Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 120} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 150} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 240} + ]}, + {"and": [ + "canPseudoScrew", + "canFarmWhileShooting", + {"cycleFrames": 120} + ]}, + {"cycleFrames": 540} + ]}, + {"cycleFrames": 480} + ], + "farmCycleDrops": [ + {"enemy": "Covern", "count": 1} + ] + }, { "id": 83, "link": [6, 6], @@ -2004,24 +2234,40 @@ { "id": 92, "link": [7, 7], - "name": "Coverns and Atomics Farm (Power Off)", + "name": "Atomics Farm (Power Off)", "requires": [ {"not": "f_DefeatedPhantoon"}, "canRiskPermanentLossOfAccess", {"or": [ - "Ice", - "Wave", - "Spazer", - "Plasma", + {"and": [ + "Plasma", + "canDodgeWhileShooting", + {"cycleFrames": 360} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 330} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 450} + ]}, {"and": [ "h_useMorphBombs", - "ScrewAttack" + {"cycleFrames": 840} + ]}, + {"and": [ + "Ice", + "canFarmWhileShooting", + {"cycleFrames": 840} ]} ]}, - {"resetRoom": {"nodes": [7]}}, - {"refill": ["Energy", "Missile", "Super"]} + {"resetRoom": {"nodes": [7]}} ], "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [ + {"enemy": "Trapped Atomic", "count": 2} + ], "note": [ "To shoot the Atomics with Ice or Plasma, crouch near the edge of the glass and shoot forward;", "angled shots downwards also work but from a tile further back." @@ -2032,6 +2278,44 @@ "FIXME: Should this require another tech? canRiskPermanentLossOfAccess is a pretty high-level requirement." ] }, + { + "link": [7, 7], + "name": "Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 120} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 150} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 240} + ]}, + {"and": [ + "canPseudoScrew", + "canFarmWhileShooting", + {"cycleFrames": 120} + ]}, + {"cycleFrames": 540} + ]}, + {"cycleFrames": 480} + ], + "farmCycleDrops": [ + {"enemy": "Covern", "count": 1} + ] + }, { "id": 93, "link": [7, 7], diff --git a/region/wreckedship/main/Wrecked Ship Map Room.json b/region/wreckedship/main/Wrecked Ship Map Room.json index 9c3a9cc6fe..83a982124d 100644 --- a/region/wreckedship/main/Wrecked Ship Map Room.json +++ b/region/wreckedship/main/Wrecked Ship Map Room.json @@ -102,6 +102,44 @@ }, "note": "Stand a few pixels away from the bottom of the stairs to easily position the Covern and extend the runway as far as possible." }, + { + "link": [1, 1], + "name": "Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 120} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 150} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 240} + ]}, + {"and": [ + "canPseudoScrew", + "canFarmWhileShooting", + {"cycleFrames": 120} + ]}, + {"cycleFrames": 540} + ]}, + {"cycleFrames": 480} + ], + "farmCycleDrops": [ + {"enemy": "Covern", "count": 1} + ] + }, { "id": 3, "link": [1, 1], diff --git a/region/wreckedship/main/Wrecked Ship Save Room.json b/region/wreckedship/main/Wrecked Ship Save Room.json index c3e29e206f..e00170f6ca 100644 --- a/region/wreckedship/main/Wrecked Ship Save Room.json +++ b/region/wreckedship/main/Wrecked Ship Save Room.json @@ -102,6 +102,44 @@ }, "note": "Stand half way between the ledge and the save station to position the Covern and extend the runway as far as possible." }, + { + "link": [1, 1], + "name": "Covern Farm", + "requires": [ + {"not": "f_DefeatedPhantoon"}, + "canRiskPermanentLossOfAccess", + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 60} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 120} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 150} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 240} + ]}, + {"and": [ + "canPseudoScrew", + "canFarmWhileShooting", + {"cycleFrames": 120} + ]}, + {"cycleFrames": 540} + ]}, + {"cycleFrames": 480} + ], + "farmCycleDrops": [ + {"enemy": "Covern", "count": 1} + ] + }, { "id": 3, "link": [1, 1], From 6d8881970ab94f4f382a28ce7b80e6bad33f86da Mon Sep 17 00:00:00 2001 From: Michael McKenzie Date: Sat, 16 Aug 2025 06:33:46 -0230 Subject: [PATCH 3/3] Retime Ghost Atomic --- enemies/main.json | 2 +- .../main/Wrecked Ship East Super Room.json | 3 +- .../main/Wrecked Ship Main Shaft.json | 28 ++++--------------- 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/enemies/main.json b/enemies/main.json index ed2da7593c..2527cb1cee 100644 --- a/enemies/main.json +++ b/enemies/main.json @@ -3098,7 +3098,7 @@ "amountOfDrops": 1, "drops": { "noDrop": 0, - "smallEnergy": 30, + "smallEnergy": 32, "bigEnergy": 38, "missile": 28, "super": 2, diff --git a/region/wreckedship/main/Wrecked Ship East Super Room.json b/region/wreckedship/main/Wrecked Ship East Super Room.json index b7ad9c8968..92c8c0cb8e 100644 --- a/region/wreckedship/main/Wrecked Ship East Super Room.json +++ b/region/wreckedship/main/Wrecked Ship East Super Room.json @@ -418,6 +418,7 @@ "link": [1, 1], "name": "Bull Farm", "requires": [ + "f_DefeatedPhantoon", {"resetRoom": {"nodes": [1]}}, {"or": [ "ScrewAttack", @@ -480,7 +481,7 @@ "note": "There are additional requirements for killing the Bull enemy who appears when Phantoon is defeated.", "devNote": [ "This is Covern farm with a reduced drop chance so as to be applicable while powered off without breaking the powered on state.", - "The weaponry must be able to kill a Bull and follow the dissapearing cycle of a Covern.", + "The weaponry must be able to kill a Bull and follow the dissappearing cycle of a Covern.", "Resetting the room is slower than waiting for the Covern to respawn, so it is counted as 2 drops.", "These Coverns have no Super or Missile drop chance." ] diff --git a/region/wreckedship/main/Wrecked Ship Main Shaft.json b/region/wreckedship/main/Wrecked Ship Main Shaft.json index 0fb2e6c9ac..0dbf6e0abb 100644 --- a/region/wreckedship/main/Wrecked Ship Main Shaft.json +++ b/region/wreckedship/main/Wrecked Ship Main Shaft.json @@ -1407,28 +1407,12 @@ {"not": "f_DefeatedPhantoon"}, {"or": [ {"and": [ - {"resetRoom": {"nodes": [1]}}, - {"cycleFrames": 1740} - ]}, - {"and": [ - {"resetRoom": {"nodes": [2]}}, - {"cycleFrames": 2400} - ]}, - {"and": [ - {"resetRoom": {"nodes": [3]}}, - {"cycleFrames": 2800} - ]}, - {"and": [ - {"resetRoom": {"nodes": [4]}}, - {"cycleFrames": 2100} - ]}, - {"and": [ - {"resetRoom": {"nodes": [5]}}, - {"cycleFrames": 2100} + {"resetRoom": {"nodes": [1, 2, 3, 4, 5]}}, + {"cycleFrames": 2000} ]}, {"and": [ {"resetRoom": {"nodes": [6]}}, - {"cycleFrames": 1830}, + {"cycleFrames": 2000}, "h_useMorphBombs" ]}, {"and": [ @@ -1459,12 +1443,12 @@ ]}, {"and": [ "Spazer", - {"cycleFrames": 330} + {"cycleFrames": 150} ]}, {"and": [ "Ice", "canDodgeWhileShooting", - {"cycleFrames": 900} + {"cycleFrames": 240} ]} ]}, {"or": [ @@ -1487,7 +1471,7 @@ "farmCycleDrops": [ {"enemy": "Custom Covern (Atomic)", "count": 4} ], - "note": "There is additional movement expected to represent the reaching Atomics who appear when the power is on.", + "note": "There is additional movement expected to represent reaching the Atomics who appear when the power is on.", "devNote": [ "This is Covern farm with a reduced drop chance so as to be applicable while powered off without breaking the powered on state.", "Cycle frames represent the slower of killing 4 atomics or killing 4 coverns.",