Skip to content

Commit ab8860d

Browse files
committed
Pink Brinstar farms
1 parent 3c8f239 commit ab8860d

6 files changed

Lines changed: 265 additions & 32 deletions

region/brinstar/pink/Dachora Room.json

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,59 @@
188188
"link": [1, 1],
189189
"name": "Zeela and Reo Farm",
190190
"requires": [
191-
{"resetRoom": {
192-
"nodes": [1]
193-
}},
194-
{"partialRefill": {"type": "Super", "limit": 8}},
195-
{"refill": ["Energy", "Missile"]}
191+
{"or": [
192+
{"resetRoom": {
193+
"nodes": [1]
194+
}},
195+
{"and": [
196+
{"resetRoom": {
197+
"nodes": [2]
198+
}},
199+
{"or": [
200+
{"and": [
201+
"h_getBlueSpeedMaxRunway",
202+
"canCarefulJump",
203+
{"cycleFrames": 500}
204+
]},
205+
{"and": [
206+
"ScrewAttack",
207+
{"cycleFrames": 620}
208+
]},
209+
{"and": [
210+
"h_useMorphBombs",
211+
{"cycleFrames": 1100}
212+
]}
213+
]}
214+
]}
215+
]},
216+
{"or": [
217+
{"and": [
218+
"Plasma",
219+
{"cycleFrames": 360}
220+
]},
221+
{"and": [
222+
"Wave",
223+
{"cycleFrames": 360}
224+
]},
225+
{"and": [
226+
"Spazer",
227+
{"cycleFrames": 400}
228+
]},
229+
{"and": [
230+
"ScrewAttack",
231+
{"cycleFrames": 490}
232+
]},
233+
{"and": [
234+
"canDodgeWhileShooting",
235+
{"cycleFrames": 540}
236+
]}
237+
]}
196238
],
197-
"resetsObstacles": ["A"]
239+
"resetsObstacles": ["A"],
240+
"farmCycleDrops": [
241+
{"enemy": "Zeela", "count": 2},
242+
{"enemy": "Reo", "count": 3}
243+
]
198244
},
199245
{
200246
"id": 5,

region/brinstar/pink/Mission Impossible Room.json

Lines changed: 75 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,54 @@
300300
"leaveWithTemporaryBlue": {}
301301
}
302302
},
303+
{
304+
"link": [1, 1],
305+
"name": "Sidehopper Farm",
306+
"requires": [
307+
{"resetRoom": {"nodes": [1]}},
308+
{"or": [
309+
{"and": [
310+
"ScrewAttack",
311+
{"cycleFrames": 310}
312+
]},
313+
{"and": [
314+
"Plasma",
315+
{"cycleFrames": 440}
316+
]},
317+
{"and": [
318+
"Wave",
319+
"Spazer",
320+
"canDodgeWhileShooting",
321+
{"cycleFrames": 500}
322+
]},
323+
{"and": [
324+
{"notable": "Doorway Sidehopper Kill"},
325+
{"doorUnlockedAtNode": 1},
326+
"canTrickyDodgeEnemies",
327+
{"or": [
328+
{"and": [
329+
"Wave",
330+
{"cycleFrames": 750}
331+
]},
332+
{"and": [
333+
"Spazer",
334+
{"cycleFrames": 840}
335+
]},
336+
{"and": [
337+
"Ice",
338+
{"cycleFrames": 1000}
339+
]},
340+
{"cycleFrames": 1440}
341+
]}
342+
]}
343+
]}
344+
],
345+
"clearsObstacles": ["A"],
346+
"resetsObstacles": ["B"],
347+
"farmCycleDrops": [
348+
{"enemy": "Sidehopper", "count": 2}
349+
]
350+
},
303351
{
304352
"id": 10,
305353
"link": [1, 1],
@@ -481,26 +529,26 @@
481529
"link": [1, 4],
482530
"name": "Doorway Sidehopper Kill",
483531
"requires": [
532+
{"notable": "Doorway Sidehopper Kill"},
484533
{"doorUnlockedAtNode": 1},
485-
"canDodgeWhileShooting",
486-
{"or": [
487-
"Morph",
488-
"Spazer",
489-
"Wave",
490-
"Plasma",
491-
{"enemyKill": {
492-
"enemies": [["Sidehopper"]],
493-
"explicitWeapons": ["Missile"]
494-
}},
495-
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 2}},
496-
"canTrickyJump"
497-
]}
534+
"canTrickyDodgeEnemies"
498535
],
499536
"clearsObstacles": ["A"],
500537
"note": [
501-
"Open the door and kill the first hopper from inside the doorway. It won't be able to hit Samus for many jumps.",
502-
"It is possible to quickly get back to the right and crouch against the the ledge while aiming upward to safely kill the Sidehopper.",
503-
"Alternatively, morph can help with the second hopper, as it won't be able to hit Samus."
538+
"Open the door, walk a safe distance into the doorway, and turn around.",
539+
"Wait for the Sidehopper to do 4 hops before beginning to shoot it.",
540+
"It can then be safely killed from inside the doorway.",
541+
"It is not recommended to moonwalk into the doorway,",
542+
"as this carries risk of shooting the Sidehopper pre-maturely.",
543+
"After bringing the second Hopper on camera,",
544+
"quickly get back to the right and crouch against the the ledge while aiming upward to safely kill it."
545+
],
546+
"detailNote": [
547+
"Shooting the Sidehopper delays its AI, which affects its RNG on later hops.",
548+
"If the Sidehopper is shot too early, it may do a short hop directly into the doorway.",
549+
"After the Sidehopper initiates its 4th hop (in which it will land on the ground in front of the ledge),",
550+
"it will be stuck in a safe pattern for long enough to kill it,",
551+
"regardless of whether it does large or small hops afterward."
504552
]
505553
},
506554
{
@@ -889,8 +937,18 @@
889937
"Break spin just before you would hit the respawning crumble block, in order to clip up through it.",
890938
"Then perform a crumble jump to make it out."
891939
]
940+
},
941+
{
942+
"id": 5,
943+
"name": "Doorway Sidehopper Kill",
944+
"note": [
945+
"Open the door, walk a safe distance into the doorway, and turn around.",
946+
"Wait for the Sidehopper to do 4 hops before beginning to shoot it.",
947+
"After bringing the second Hopper on camera,",
948+
"quickly get back to the right and crouch against the the ledge while aiming upward to safely kill it."
949+
]
892950
}
893951
],
894952
"nextStratId": 41,
895-
"nextNotableId": 5
953+
"nextNotableId": 6
896954
}

region/brinstar/pink/Pink Brinstar Wave Gate Room.json

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,30 @@
564564
"flashSuitChecked": true,
565565
"note": "Kill the Sidehoppers with a Power Bomb upon entry."
566566
},
567+
{
568+
"link": [1, 1],
569+
"name": "Sidehopper Farm",
570+
"requires": [
571+
"canPrepareForNextRoom",
572+
{"resetRoom": {"nodes": [1]}},
573+
{"or":[
574+
{"and": [
575+
"ScrewAttack",
576+
{"cycleFrames": 130}
577+
]},
578+
{"and": [
579+
"h_PlasmaHitbox",
580+
{"cycleFrames": 170}
581+
]}
582+
]}
583+
],
584+
"farmCycleDrops": [
585+
{"enemy": "Sidehopper", "count": 1},
586+
{"enemy": "Sm. Sidehopper", "count": 2}
587+
],
588+
"clearsObstacles": ["A"],
589+
"resetsObstacles": ["B", "C"]
590+
},
567591
{
568592
"id": 17,
569593
"link": [1, 1],
@@ -1190,6 +1214,35 @@
11901214
}
11911215
}
11921216
},
1217+
{
1218+
"link": [2, 2],
1219+
"name": "Sidehopper Farm",
1220+
"requires": [
1221+
"canWalljump",
1222+
"canTrickyJump",
1223+
{"resetRoom": {"nodes": [2]}},
1224+
{"or": [
1225+
{"and": [
1226+
"ScrewAttack",
1227+
{"cycleFrames": 600}
1228+
]},
1229+
{"and": [
1230+
"Plasma",
1231+
{"cycleFrames": 690}
1232+
]},
1233+
{"and": [
1234+
"Wave",
1235+
{"cycleFrames": 810}
1236+
]}
1237+
]}
1238+
],
1239+
"farmCycleDrops": [
1240+
{"enemy": "Sidehopper", "count": 1},
1241+
{"enemy": "Sm. Sidehopper", "count": 2}
1242+
],
1243+
"clearsObstacles": ["A", "B"],
1244+
"resetsObstacles": ["C"]
1245+
},
11931246
{
11941247
"id": 43,
11951248
"link": [2, 2],

region/brinstar/pink/Spore Spawn Farming Room.json

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,24 @@
8080
"link": [1, 1],
8181
"name": "Zeb Farm",
8282
"requires": [
83-
{"refill": ["Energy", "Missile", "Super"]}
83+
{"cycleFrames": 105}
84+
],
85+
"farmCycleDrops": [
86+
{"enemy": "Zeb", "count": 1}
87+
]
88+
},
89+
{
90+
"link": [1, 1],
91+
"name": "Double Zeb Farm",
92+
"requires": [
93+
"canDodgeWhileShooting",
94+
{"cycleFrames": 105}
95+
],
96+
"farmCycleDrops": [
97+
{"enemy": "Zeb", "count": 2}
98+
],
99+
"note": [
100+
"Jump back and forth between the left two bug pipes to farm them simultaneously."
84101
]
85102
},
86103
{

region/brinstar/pink/Spore Spawn Super Room.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@
119119
"link": [1, 1],
120120
"name": "Zeb Farm",
121121
"requires": [
122-
{"refill": ["Energy", "Missile", "Super"]}
122+
{"cycleFrames": 105}
123+
],
124+
"farmCycleDrops": [
125+
{"enemy": "Zeb", "count": 1}
123126
]
124127
},
125128
{

region/brinstar/pink/Waterway Energy Tank Room.json

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,19 +167,75 @@
167167
"link": [1, 1],
168168
"name": "Zero Farm",
169169
"requires": [
170-
"h_heatProof",
170+
{"resetRoom": {"nodes": [1]}},
171171
{"or": [
172172
{"and": [
173173
"Gravity",
174-
{"refill": ["PowerBomb"]}
174+
{"or": [
175+
{"and": [
176+
{"or": [
177+
"Wave",
178+
"Spazer",
179+
"Plasma"
180+
]},
181+
{"cycleFrames": 360}
182+
]},
183+
{"and": [
184+
"ScrewAttack",
185+
{"cycleFrames": 385}
186+
]},
187+
{"and": [
188+
"Grapple",
189+
{"cycleFrames": 400}
190+
]},
191+
{"cycleFrames": 530}
192+
]}
175193
]},
176-
{"partialRefill": {"type": "PowerBomb", "limit": 6}}
194+
{"and": [
195+
{"or": [
196+
"Wave",
197+
"Spazer",
198+
"Plasma"
199+
]},
200+
{"cycleFrames": 690}
201+
]},
202+
{"and": [
203+
"Grapple",
204+
{"cycleFrames": 760}
205+
]},
206+
{"cycleFrames": 840}
177207
]}
178208
],
179-
"devNote": [
180-
"FIXME: The h_heatProof requirement is because Zeros only drop small energy, not enough to guarantee progress if the neighboring room is heated",
181-
"Later we should remove this in favor of some way to require that the neighboring room is not heated."
182-
]
209+
"farmCycleDrops": [
210+
{"enemy": "Zero", "count": 2}
211+
],
212+
"resetsObstacles": ["A"]
213+
},
214+
{
215+
"link": [1, 1],
216+
"name": "Zero, Puyo, and Skultera Farm",
217+
"requires": [
218+
{"resetRoom": {"nodes": [1]}},
219+
"Gravity",
220+
"h_getBlueSpeedMaxRunway",
221+
{"or": [
222+
{"and": [
223+
{"or": [
224+
"Plasma",
225+
"Wave",
226+
"Spazer"
227+
]},
228+
{"cycleFrames": 440}
229+
]},
230+
{"cycleFrames": 510}
231+
]}
232+
],
233+
"farmCycleDrops": [
234+
{"enemy": "Zero", "count": 2},
235+
{"enemy": "Puyo", "count": 3},
236+
{"enemy": "Skultera", "count": 2}
237+
],
238+
"resetsObstacles": ["A"]
183239
},
184240
{
185241
"id": 5,

0 commit comments

Comments
 (0)