Skip to content

Commit f50374e

Browse files
authored
Add Draygon Turret Logic and Dodge Requirements (#2699)
1 parent 42853e1 commit f50374e

1 file changed

Lines changed: 106 additions & 13 deletions

File tree

region/maridia/inner-pink/Draygon's Room.json

Lines changed: 106 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -279,18 +279,59 @@
279279
"requires": [
280280
{"notable": "Grapple Kill"},
281281
"h_navigateUnderwater",
282+
{"or": [
283+
{"and": [
284+
"h_breakThreeDraygonTurrets",
285+
{"or": [
286+
"Gravity",
287+
"canTrickyJump",
288+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 1}}
289+
]},
290+
{"or": [
291+
"Gravity",
292+
"Morph",
293+
"canTrickyJump",
294+
{"enemyDamage": {"enemy": "Draygon", "type": "contact", "hits": 1}}
295+
]}
296+
]},
297+
{"and": [
298+
"canDodgeWhileShooting",
299+
{"or": [
300+
"Gravity",
301+
"canTrickyJump",
302+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 3}}
303+
]},
304+
{"or": [
305+
"Gravity",
306+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 2}}
307+
]},
308+
{"or": [
309+
"Morph",
310+
{"enemyDamage": {"enemy": "Draygon", "type": "contact", "hits": 2}}
311+
]},
312+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 2}}
313+
]},
314+
{"and": [
315+
"canTrickyDodgeEnemies",
316+
"canBeLucky",
317+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 1}}
318+
]}
319+
]},
282320
"canUseGrapple",
283321
{"draygonElectricityFrames": 240},
284-
{"enemyDamage": {"enemy": "Draygon", "type": "contact", "hits": 5}}
322+
{"or": [
323+
{"enemyDamage": {"enemy": "Draygon", "type": "contact", "hits": 4}},
324+
{"and": [
325+
"canBeLucky",
326+
{"enemyDamage": {"enemy": "Draygon", "type": "contact", "hits": 2}}
327+
]}
328+
]}
285329
],
286330
"setsFlags": ["f_DefeatedDraygon"],
287331
"flashSuitChecked": true,
288332
"note": [
289333
"Kill Draygon by grappling to the top left turret.",
290-
"Number of Draygon hits varies; 5 hits are assumed, which is close to a worst-case scenario."
291-
],
292-
"devNote": [
293-
"FIXME: Should this include requirements for breaking the turrets or dodging their shots?"
334+
"Number of Draygon and turret hits varies; Close to a worst-case scenario is assumed."
294335
]
295336
},
296337
{
@@ -301,15 +342,50 @@
301342
{"notable": "Grapple Quick Kill"},
302343
"h_navigateUnderwater",
303344
"canPreciseGrapple",
304-
"h_breakOneDraygonTurret",
345+
{"or": [
346+
"Gravity",
347+
"Morph",
348+
"canTrickyDodgeEnemies",
349+
{"enemyDamage": {"enemy": "Draygon", "type": "contact", "hits": 2}}
350+
]},
351+
{"or": [
352+
"Gravity",
353+
"canTrickyJump",
354+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 1}}
355+
]},
356+
{"or": [
357+
"h_breakThreeDraygonTurrets",
358+
{"and": [
359+
{"or": [
360+
"canTrickyDodgeEnemies",
361+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 2}}
362+
]},
363+
"h_breakOneDraygonTurret"
364+
]},
365+
{"and": [
366+
"Gravity",
367+
"canTrickyDodgeEnemies",
368+
{"or": [
369+
"canBeLucky",
370+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 1}}
371+
]},
372+
{"or": [
373+
"canWalljump",
374+
"canGravityJump"
375+
]}
376+
]}
377+
]},
305378
{"draygonElectricityFrames": 240},
306379
"h_complexToCarryFlashSuit"
307380
],
308381
"setsFlags": ["f_DefeatedDraygon"],
309382
"flashSuitChecked": true,
310383
"note": [
311-
"Kill Draygon by grappling to a bottom turret as you get grabbed.",
312-
"Avoids taking all the hits from Draygon."
384+
"Kill Draygon by grappling to an exposed turret as you get grabbed.",
385+
"This avoids taking damage from Draygon once grabbed."
386+
],
387+
"devNote": [
388+
"FIXME: HiJump + canDoubleSpringBallJumpMidAir can work but needs to be looked into more."
313389
]
314390
},
315391
{
@@ -322,7 +398,14 @@
322398
"canMidairShinespark",
323399
"canShinechargeMovementComplex",
324400
{"or": [
325-
"canShinechargeMovementTricky",
401+
{"and": [
402+
"canShinechargeMovementTricky",
403+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 3}}
404+
]},
405+
{"and": [
406+
"canShinechargeMovementTricky",
407+
"canBeLucky"
408+
]},
326409
"h_breakThreeDraygonTurrets"
327410
]},
328411
{"canShineCharge": {"usedTiles": 22, "openEnd": 0}},
@@ -361,17 +444,18 @@
361444
"name": "Gravity Draygon",
362445
"requires": [
363446
"Gravity",
447+
{"or": [
448+
"canInsaneJump",
449+
"h_breakOneDraygonTurret"
450+
]},
364451
{"enemyKill": {
365452
"enemies": [["Draygon"]],
366453
"farmableAmmo": ["Missile", "Super"]
367454
}},
368455
"h_complexToCarryFlashSuit"
369456
],
370457
"setsFlags": ["f_DefeatedDraygon"],
371-
"flashSuitChecked": true,
372-
"devNote": [
373-
"FIXME: Should this include requirements for breaking the turrets or dodging their shots?"
374-
]
458+
"flashSuitChecked": true
375459
},
376460
{
377461
"id": 49,
@@ -381,6 +465,10 @@
381465
{"notable": "Suitless Fight"},
382466
"canSuitlessMaridia",
383467
"Morph",
468+
{"or": [
469+
"canTrickyJump",
470+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 1}}
471+
]},
384472
"h_breakThreeDraygonTurrets",
385473
{"enemyKill": {
386474
"enemies": [["Draygon"]],
@@ -399,6 +487,11 @@
399487
"name": "Microwave Fight",
400488
"requires": [
401489
"h_navigateUnderwater",
490+
{"or": [
491+
"Gravity",
492+
"canTrickyJump",
493+
{"enemyDamage": {"enemy": "Draygon", "type": "turretProjectile", "hits": 1}}
494+
]},
402495
{"or": [
403496
{"and": [
404497
"canTrickyDodgeEnemies",

0 commit comments

Comments
 (0)