Skip to content

Commit 89833af

Browse files
authored
Merge pull request #1833 from blkerby/farm-cycles-2
Some Crateria farms
2 parents a1cd09c + e169094 commit 89833af

5 files changed

Lines changed: 204 additions & 32 deletions

File tree

region/crateria/central/Climb.json

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2130,20 +2130,46 @@
21302130
"name": "Space Pirate Farm",
21312131
"requires": [
21322132
"h_ZebesIsAwake",
2133-
{"resetRoom": {
2134-
"nodes": [1, 5]
2135-
}},
2136-
{"refill": ["Energy", "Missile"]},
21372133
{"or": [
21382134
"h_ClimbWithoutLava",
21392135
"h_lavaProof",
21402136
{"obstaclesNotCleared": ["B"]}
2137+
]},
2138+
{"or": [
2139+
{"and": [
2140+
{"resetRoom": {"nodes": [1]}},
2141+
{"cycleFrames": 2350}
2142+
]},
2143+
{"and": [
2144+
{"resetRoom": {"nodes": [2]}},
2145+
{"or": [
2146+
"h_canUseMorphBombs",
2147+
"ScrewAttack"
2148+
]},
2149+
{"cycleFrames": 2270}
2150+
]},
2151+
{"and": [
2152+
{"resetRoom": {"nodes": [3]}},
2153+
"h_canUseMorphBombs",
2154+
{"cycleFrames": 2695}
2155+
]},
2156+
{"and": [
2157+
{"resetRoom": {"nodes": [4]}},
2158+
"h_canUseMorphBombs",
2159+
{"cycleFrames": 2480}
2160+
]},
2161+
{"and": [
2162+
{"resetRoom": {"nodes": [5]}},
2163+
{"cycleFrames": 1905}
2164+
]}
21412165
]}
21422166
],
2167+
"farmCycleDrops": [
2168+
{"enemy": "Grey Space Pirate (wall)", "count": 11}
2169+
],
21432170
"resetsObstacles": ["A", "B"],
21442171
"devNote": [
2145-
"The Space Pirates (wall) drop Supers and Power Bombs each at a 0.4% rate, too low to put into logic.",
2146-
"FIXME: Other nodes could be used to reset the room, with additional requirements."
2172+
"FIXME: Shinesparking can also be a viable option, in case it is patched to not cost energy."
21472173
]
21482174
},
21492175
{

region/crateria/central/Crateria Power Bomb Room.json

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -86,24 +86,40 @@
8686
"link": [1, 1],
8787
"name": "Alcoon Farm",
8888
"requires": [
89-
{"or": [
90-
"canDodgeWhileShooting",
91-
"ScrewAttack",
92-
"Wave",
93-
"Ice",
94-
"Spazer",
95-
"Plasma"
96-
]},
9789
{"resetRoom": {
9890
"nodes": [1]
9991
}},
100-
{"refill": ["PowerBomb"]}
92+
{"or": [
93+
{"and": [
94+
{"or": [
95+
"ScrewAttack",
96+
{"ammo": {"type": "Missile", "count": 3}}
97+
]},
98+
{"cycleFrames": 575}
99+
]},
100+
{"and": [
101+
"Plasma",
102+
{"cycleFrames": 650}
103+
]},
104+
{"and": [
105+
{"or": [
106+
"Wave",
107+
"Spazer"
108+
]},
109+
{"cycleFrames": 1000}
110+
]},
111+
{"and": [
112+
{"or": [
113+
"canDodgeWhileShooting",
114+
"Ice"
115+
]},
116+
{"cycleFrames": 1210}
117+
]}
118+
]}
101119
],
120+
"farmCycleDrops": [{"enemy": "Alcoon", "count": 3}],
102121
"note": [
103122
"The Alcoons have a 99.5% Power Bomb drop rate, after which they only drop small energy."
104-
],
105-
"devNote": [
106-
"The energy dropped is too low even for a very patient strat, considering worst-case scenarios such as a neighboring heated room, no beams, and the possible need to refill several tanks worth of energy."
107123
]
108124
},
109125
{

region/crateria/central/Flyway.json

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,41 @@
180180
"link": [1, 1],
181181
"name": "Mellow Farm",
182182
"requires": [
183-
{"resetRoom": {
184-
"nodes": [1, 2]
185-
}},
186-
{"refill": ["Energy", "Missile"]}
183+
{"or": [
184+
{"resetRoom": {
185+
"nodes": [1]
186+
}},
187+
{"and": [
188+
{"resetRoom": {
189+
"nodes": [2]
190+
}},
191+
{"cycleFrames": 50}
192+
]}
193+
]},
194+
{"or": [
195+
{"and": [
196+
{"or": [
197+
"ScrewAttack",
198+
"Plasma"
199+
]},
200+
{"cycleFrames": 420}
201+
]},
202+
{"and": [
203+
{"or": [
204+
"canDodgeWhileShooting",
205+
"Spazer",
206+
"Wave"
207+
]},
208+
{"cycleFrames": 610}
209+
]},
210+
{"and": [
211+
{"cycleFrames": 800},
212+
{"enemyDamage": {"enemy": "Mellow", "type": "contact", "hits": 2}}
213+
]}
214+
]}
215+
],
216+
"farmCycleDrops": [
217+
{"enemy": "Mellow", "count": 12}
187218
]
188219
},
189220
{

region/crateria/central/Pit Room.json

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -416,17 +416,39 @@
416416
{
417417
"id": 19,
418418
"link": [2, 2],
419-
"name": "Space Pirate Farm",
419+
"name": "Space Pirate Farm (Both Doors)",
420420
"requires": [
421421
"Morph",
422422
"Missile",
423-
{"resetRoom": {
424-
"nodes": [1, 2]
425-
}},
426-
{"refill": ["Energy", "Missile"]}
423+
{"resetRoom": {"nodes": [1]}},
424+
{"resetRoom": {"nodes": [2]}},
425+
{"cycleFrames": 930}
426+
],
427+
"farmCycleDrops": [
428+
{"enemy": "Grey Space Pirate (standing)", "count": 8},
429+
{"enemy": "Grey Space Pirate (wall)", "count": 2}
427430
],
428431
"resetsObstacles": ["A"]
429432
},
433+
{
434+
"link": [2, 2],
435+
"name": "Space Pirate Farm (Single Door)",
436+
"requires": [
437+
"Morph",
438+
"Missile",
439+
{"or": [
440+
{"resetRoom": {"nodes": [1]}},
441+
{"resetRoom": {"nodes": [2]}}
442+
]},
443+
{"cycleFrames": 930}
444+
],
445+
"farmCycleDrops": [
446+
{"enemy": "Grey Space Pirate (standing)", "count": 4},
447+
{"enemy": "Grey Space Pirate (wall)", "count": 1}
448+
],
449+
"resetsObstacles": ["A"],
450+
"note": "This strat is slower but only requires one of the two doors to be unlocked."
451+
},
430452
{
431453
"id": 20,
432454
"link": [2, 2],

region/crateria/east/Bowling Alley Path.json

Lines changed: 82 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,89 @@
228228
{
229229
"id": 9,
230230
"link": [1, 1],
231-
"name": "Waver and Choot Farm",
231+
"name": "Waver and Choot Farm (Both Doors)",
232232
"requires": [
233-
{"resetRoom": {
234-
"nodes": [1, 2]
235-
}},
236-
{"refill": ["Energy", "Missile", "Super"]}
233+
{"resetRoom": {"nodes": [1]}},
234+
{"resetRoom": {"nodes": [2]}},
235+
{"or": [
236+
{"and": [
237+
"ScrewAttack",
238+
{"cycleFrames": 990}
239+
]},
240+
{"and": [
241+
"Plasma",
242+
{"cycleFrames": 620}
243+
]},
244+
{"and": [
245+
"Wave",
246+
{"cycleFrames": 920}
247+
]},
248+
{"and": [
249+
"Spazer",
250+
{"cycleFrames": 1010}
251+
]},
252+
{"and": [
253+
{"or": [
254+
"canDodgeWhileShooting",
255+
"Ice"
256+
]},
257+
{"cycleFrames": 1740}
258+
]},
259+
{"and": [
260+
"canUseGrapple",
261+
{"cycleFrames": 740}
262+
]}
263+
]}
264+
],
265+
"farmCycleDrops": [
266+
{"enemy": "Waver", "count": 6},
267+
{"enemy": "Choot", "count": 6}
268+
]
269+
},
270+
{
271+
"link": [1, 1],
272+
"name": "Waver and Choot Farm (Single Door)",
273+
"requires": [
274+
{"resetRoom": {"nodes": [1, 2]}},
275+
{"cycleFrames": 100},
276+
{"or": [
277+
{"and": [
278+
"ScrewAttack",
279+
{"cycleFrames": 495}
280+
]},
281+
{"and": [
282+
"Plasma",
283+
{"cycleFrames": 310}
284+
]},
285+
{"and": [
286+
"Wave",
287+
{"cycleFrames": 460}
288+
]},
289+
{"and": [
290+
"Spazer",
291+
{"cycleFrames": 505}
292+
]},
293+
{"and": [
294+
{"or": [
295+
"canDodgeWhileShooting",
296+
"Ice"
297+
]},
298+
{"cycleFrames": 870}
299+
]},
300+
{"and": [
301+
"canUseGrapple",
302+
{"cycleFrames": 370}
303+
]}
304+
]}
305+
],
306+
"farmCycleDrops": [
307+
{"enemy": "Waver", "count": 3},
308+
{"enemy": "Choot", "count": 3}
309+
],
310+
"devNote": [
311+
"The 100 extra cycleFrames is an average extra time needed to return back to the entry door rather than continuing to the opposite door.",
312+
"For simplicity, the weapon-specific cycleFrames are exactly half those in the 'Both Doors' variant,",
313+
"even though technically some weapons may be affected slightly more than others by having to use a specific door."
237314
]
238315
},
239316
{

0 commit comments

Comments
 (0)