[Feature] Action Areas (#1815)
Some checks are pending
Project CI / build (24.x) (push) Waiting to run

* Functioning setup

* .

* Fixes

* Completed

* Apply suggestions from code review

Co-authored-by: Carlos Fernandez <CarlosFdez@users.noreply.github.com>

* using function.call instead of function.bind

* Run lint fix on action areas PR (#1820)

* .

* .

* Restructured getTemplateShape to be a lot more readable

* .

* .

* Changed from 'area' to 'areas'

* .

* Moved the areas button to the left

* Fix regression with actions list

* Updated all SRD adversaries

---------

Co-authored-by: Carlos Fernandez <CarlosFdez@users.noreply.github.com>
Co-authored-by: Carlos Fernandez <cfern1990@gmail.com>
This commit is contained in:
WBHarry 2026-04-21 22:27:52 +02:00 committed by GitHub
parent 646e0debbd
commit 3eda3c4c05
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
89 changed files with 1871 additions and 686 deletions

View file

@ -132,12 +132,9 @@
"src": "systems/daggerheart/assets/icons/documents/actors/dragon-head.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,
"offsetY": 0,
"fit": "contain",
"scaleX": 1,
"scaleY": 1,
"rotation": 0,
"tint": "#ffffff",
"alphaThreshold": 0.75
},
@ -188,7 +185,7 @@
"saturation": 0,
"contrast": 0
},
"detectionModes": [],
"detectionModes": {},
"occludable": {
"radius": 0
},
@ -214,7 +211,8 @@
"flags": {},
"randomImg": false,
"appendNumber": false,
"prependAdjective": false
"prependAdjective": false,
"depth": 1
},
"items": [
{
@ -376,7 +374,7 @@
"name": "Whirlwind",
"type": "feature",
"system": {
"description": "<p><strong>Spend a Fear</strong> to whirl, making an attack against all targets within Very Close range. Targets the @Lookup[@name] succeeds against take <strong>3d8</strong> direct physical damage.</p><p>@Template[type:emanation|range:vc]</p>",
"description": "<p><strong>Spend a Fear</strong> to whirl, making an attack against all targets within Very Close range. Targets the @Lookup[@name] succeeds against take <strong>3d8</strong> direct physical damage.</p>",
"resource": null,
"actions": {
"RV1wKufKrMPN6MOo": {
@ -429,7 +427,8 @@
}
},
"includeBase": false,
"direct": true
"direct": true,
"groupAttack": ""
},
"target": {
"type": "any",
@ -458,7 +457,16 @@
},
"name": "Attack",
"img": "icons/skills/melee/strike-slashes-orange.webp",
"range": "veryClose"
"range": "veryClose",
"areas": [
{
"name": "Whirlwind",
"type": "placed",
"shape": "emanation",
"size": "veryClose",
"effects": []
}
]
}
},
"originItemType": null,
@ -484,7 +492,7 @@
"name": "Mind Dance",
"type": "feature",
"system": {
"description": "<p><strong>Mark a Stress</strong> to create a magically dazzling display that grapples the minds of nearby foes. All targets within Close range must make an Instinct Reaction Roll. For each target who failed, you gain a Fear and the @Lookup[@name] learns one of the targets fears.</p><p>@Template[type:emanation|range:c]</p>",
"description": "<p><strong>Mark a Stress</strong> to create a magically dazzling display that grapples the minds of nearby foes. All targets within Close range must make an Instinct Reaction Roll. For each target who failed, you gain a Fear and the @Lookup[@name] learns one of the targets fears.</p>",
"resource": null,
"actions": {
"GNwsDlCabx3fiG4g": {
@ -509,7 +517,8 @@
},
"damage": {
"parts": {},
"includeBase": false
"includeBase": false,
"groupAttack": ""
},
"target": {
"type": "any",
@ -538,7 +547,16 @@
},
"name": "Roll Save",
"img": "icons/magic/light/explosion-glow-spiral-yellow.webp",
"range": "close"
"range": "close",
"areas": [
{
"name": "Mind Dance",
"type": "placed",
"shape": "emanation",
"size": "close",
"effects": []
}
]
}
},
"originItemType": null,
@ -564,14 +582,14 @@
"name": "Hallucinatory Breath",
"type": "feature",
"system": {
"description": "<p><em>Countdown (Loop 1d6)</em>. When the @Lookup[@name] takes damage for the first time, activate the countdown. When it triggers, the @Lookup[@name] breathes hallucinatory gas on all targets in front of them up to Far range. Targets must make an Instinct Reaction Roll or be tormented by fearful hallucinations. Targets whose fears are known to the @Lookup[@name] have disadvantage on this roll. Targets who fail lose 2 Hope and take <strong>3d8+3</strong> direct magic damage.</p><p>@Template[type:inFront|range:f]</p>",
"description": "<p><em>Countdown (Loop 1d6)</em>. When the @Lookup[@name] takes damage for the first time, activate the countdown. When it triggers, the @Lookup[@name] breathes hallucinatory gas on all targets in front of them up to Far range. Targets must make an Instinct Reaction Roll or be tormented by fearful hallucinations. Targets whose fears are known to the @Lookup[@name] have disadvantage on this roll. Targets who fail lose 2 Hope and take <strong>3d8+3</strong> direct magic damage.</p>",
"resource": null,
"actions": {
"YOyKyKGTUEWkMmJe": {
"type": "attack",
"_id": "YOyKyKGTUEWkMmJe",
"systemPath": "actions",
"description": "<p>The @Lookup[@name] breathes hallucinatory gas on all targets in front of them up to Far range. Targets must make an Instinct Reaction Roll or be tormented by fearful hallucinations. Targets whose fears are known to the @Lookup[@name] have disadvantage on this roll. Targets who fail lose 2 Hope and take <strong>3d8+3</strong> direct magic damage.</p><p>@Template[type:inFront|range:f]</p>",
"description": "",
"chatDisplay": true,
"actionType": "action",
"cost": [],
@ -634,7 +652,8 @@
"type": []
}
},
"includeBase": false
"includeBase": false,
"groupAttack": ""
},
"target": {
"type": "any",
@ -663,7 +682,16 @@
},
"name": "Roll Save",
"img": "icons/magic/air/fog-gas-smoke-purple.webp",
"range": "far"
"range": "far",
"areas": [
{
"name": "Hallucinatory Breath",
"type": "placed",
"shape": "inFront",
"size": "far",
"effects": []
}
]
},
"lBhmLc33pcXzJHT3": {
"type": "countdown",