Skip to content

Commit 60d4f28

Browse files
authored
Merge pull request #1836 from kjbranch/pink-hoppers
Pink Hoppers, Add Hit as Entrance Condition
2 parents e8a3a35 + d7b1c51 commit 60d4f28

1 file changed

Lines changed: 77 additions & 44 deletions

File tree

region/brinstar/pink/Pink Brinstar Hopper Room.json

Lines changed: 77 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
"nodeAddress": "0x0018fb2",
1616
"doorOrientation": "left",
1717
"doorEnvironments": [{"physics": "air"}],
18+
"useImplicitComeInNormally": false,
19+
"useImplicitComeInWithMockball": false,
1820
"locks": [
1921
{
2022
"name": "Pink Brinstar Hoppers Left Gray Lock (to Big Pink)",
@@ -154,17 +156,40 @@
154156
}
155157
}
156158
},
159+
{
160+
"link": [1, 1],
161+
"name": "Leave With Runway, Use I-Frames",
162+
"requires": [
163+
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 1}},
164+
"canUseIFrames"
165+
],
166+
"exitCondition": {
167+
"leaveWithRunway": {
168+
"length": 1,
169+
"openEnd": 1
170+
}
171+
},
172+
"devNote": "This is worst-case scenario. A strat that comes in and leaves with a single hit could be added."
173+
},
174+
{
175+
"link": [1, 1],
176+
"name": "Base, Sidehopper Hit on Entry",
177+
"entranceCondition": {
178+
"comeInNormally": {}
179+
},
180+
"requires": [
181+
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}}
182+
]
183+
},
157184
{
158185
"id": 2,
159186
"link": [1, 1],
160187
"name": "Power Beam Kill",
161188
"requires": [
162-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}},
163189
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 3}}
164190
],
165191
"clearsObstacles": ["A"],
166-
"note": [
167-
"This assumes you don't know you're entering this room, and take a Small Sidehopper hit quickly.",
192+
"devNote": [
168193
"The Small Sidehoppers may deliver more of the hits, but this is an assumed worst case scenario"
169194
]
170195
},
@@ -173,29 +198,25 @@
173198
"link": [1, 1],
174199
"name": "Intermediate Weapon Kill",
175200
"requires": [
176-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}},
177201
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 1}},
178202
{"or": [
179203
"Spazer",
180204
"Wave"
181205
]}
182206
],
183-
"clearsObstacles": ["A"],
184-
"note": "This assumes you don't know you're entering this room, and take a Small Sidehopper hit quickly."
207+
"clearsObstacles": ["A"]
185208
},
186209
{
187210
"id": 4,
188211
"link": [1, 1],
189212
"name": "Fast Weapon Kill",
190213
"requires": [
191-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}},
192214
{"enemyKill": {
193215
"enemies": [["Sidehopper", "Sm. Sidehopper", "Sm. Sidehopper"]],
194216
"explicitWeapons": ["Missile", "Super", "PowerBomb", "ScrewAttack", "Plasma"]
195217
}}
196218
],
197-
"clearsObstacles": ["A"],
198-
"note": "This assumes you don't know you're entering this room, and take a Small Sidehopper hit quickly."
219+
"clearsObstacles": ["A"]
199220
},
200221
{
201222
"id": 5,
@@ -216,12 +237,29 @@
216237
"id": 6,
217238
"link": [1, 1],
218239
"name": "Kill on Entry (Screw Attack)",
240+
"entranceCondition": {
241+
"comeInNormally": {}
242+
},
219243
"requires": [
220244
"canPrepareForNextRoom",
221245
"ScrewAttack"
222246
],
223247
"clearsObstacles": ["A"]
224248
},
249+
{
250+
"link": [1, 1],
251+
"name": "Kill on Entry (Charged Plasma)",
252+
"entranceCondition": {
253+
"comeInNormally": {}
254+
},
255+
"requires": [
256+
"canPrepareForNextRoom",
257+
"Charge",
258+
"Plasma"
259+
],
260+
"clearsObstacles": ["A"],
261+
"note": "On entry, shoot diagonally downwards to kill the first two hoppers, then shoot the third."
262+
},
225263
{
226264
"id": 7,
227265
"link": [1, 1],
@@ -327,9 +365,11 @@
327365
"name": "Reverse Gate Glitch (HiJump, Hoppers Alive)",
328366
"requires": [
329367
{"notable": "Reverse Gate Glitch"},
330-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}},
368+
{"obstaclesNotCleared": ["A"]},
331369
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 1}},
370+
"canTrickyJump",
332371
"canNeutralDamageBoost",
372+
"canUseIFrames",
333373
"HiJump",
334374
"canOffScreenSuperShot"
335375
],
@@ -448,13 +488,27 @@
448488
],
449489
"flashSuitChecked": true
450490
},
491+
{
492+
"link": [1, 1],
493+
"name": "Mockball Entry, Tank Hit",
494+
"entranceCondition": {
495+
"comeInWithMockball": {
496+
"adjacentMinTiles": 0,
497+
"remoteAndLandingMinTiles": [[0, 0]],
498+
"speedBooster": "any"
499+
}
500+
},
501+
"requires": [
502+
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}}
503+
]
504+
},
451505
{
452506
"id": 18,
453507
"link": [1, 1],
454508
"name": "G-Mode Setup - Get Hit By Hopper (Jump Entry)",
455509
"entranceCondition": {
456510
"comeInJumping": {
457-
"minTiles": 1,
511+
"minTiles": 0.4375,
458512
"speedBooster": "any"
459513
}
460514
},
@@ -474,8 +528,7 @@
474528
"link": [1, 1],
475529
"name": "G-Mode Setup - Get Hit By Hopper",
476530
"requires": [
477-
{"obstaclesNotCleared": ["A"]},
478-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}}
531+
{"obstaclesNotCleared": ["A"]}
479532
],
480533
"exitCondition": {
481534
"leaveWithGModeSetup": {}
@@ -851,7 +904,7 @@
851904
"requires": [
852905
{"obstaclesNotCleared": ["A"]},
853906
"canTrickyUseFrozenEnemies",
854-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}},
907+
"canTrickyJump",
855908
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 1}},
856909
{"or": [
857910
{"and": [
@@ -1437,13 +1490,10 @@
14371490
"requires": [
14381491
{"obstaclesNotCleared": ["A"]},
14391492
"canTrickyUseFrozenEnemies",
1493+
"canTrickyJump",
14401494
{"or": [
14411495
"HiJump",
14421496
"canSpringBallJumpMidAir"
1443-
]},
1444-
{"or": [
1445-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}},
1446-
"canTrickyJump"
14471497
]}
14481498
],
14491499
"note": [
@@ -1455,14 +1505,20 @@
14551505
{
14561506
"id": 76,
14571507
"link": [4, 4],
1458-
"name": "Reverse Gate Glitch (Ice)",
1508+
"name": "Reverse Gate Glitch (Frozen Hopper Platform)",
14591509
"requires": [
14601510
{"notable": "Reverse Gate Glitch"},
14611511
{"obstaclesNotCleared": ["A"]},
14621512
"canTrickyUseFrozenEnemies",
1463-
"h_canBackIntoCorner",
1513+
"canTrickyJump",
14641514
"canOffScreenSuperShot",
1465-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}}
1515+
{"or": [
1516+
"h_canBackIntoCorner",
1517+
{"and": [
1518+
{"enemyDamage": {"enemy": "Sidehopper", "type": "contact", "hits": 1}},
1519+
"canNeutralDamageBoost"
1520+
]}
1521+
]}
14661522
],
14671523
"clearsObstacles": ["B"],
14681524
"note": [
@@ -1474,29 +1530,6 @@
14741530
"This strat involves shooting a Super diagonally from the correct height while flush against the left wall.",
14751531
"Its acceleration will cause it to clip into the blue gate off-screen."
14761532
]
1477-
},
1478-
{
1479-
"id": 77,
1480-
"link": [4, 4],
1481-
"name": "Reverse Gate Glitch (HiJump, Ice)",
1482-
"requires": [
1483-
{"notable": "Reverse Gate Glitch"},
1484-
{"obstaclesNotCleared": ["A"]},
1485-
{"or": [
1486-
"h_canBackIntoCorner",
1487-
{"enemyDamage": {"enemy": "Sm. Sidehopper", "type": "contact", "hits": 1}},
1488-
"canTrickyJump"
1489-
]},
1490-
"HiJump",
1491-
"canOffScreenSuperShot"
1492-
],
1493-
"clearsObstacles": ["B"],
1494-
"note": [
1495-
"This strat involves shooting a Super diagonally from the correct height while flush against the left wall.",
1496-
"Its acceleration will cause it to clip into the blue gate off-screen.",
1497-
"Jump straight up and shoot with the correct timing.",
1498-
"Taking damage can be used to align against the wall."
1499-
]
15001533
}
15011534
],
15021535
"nextStratId": 78,

0 commit comments

Comments
 (0)