[Feature] Phase Transform (#1710)

* Added transform action to handle phased adversaries

* Added support for keeping currently marked hitPoints/stress when transforming

* Minor fixes

* Compendium update

* Added consideration for an active combatant
This commit is contained in:
WBHarry 2026-03-08 14:34:22 +01:00 committed by GitHub
parent f1f5102af1
commit a42d708f15
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 406 additions and 43 deletions

View file

@ -1,19 +1,19 @@
<fieldset class="one-column" id="summon-drop-zone" data-key="summon">
<fieldset class="one-column" id="summon-drop-zone" data-is-drop-zone="true" data-key="summon">
<legend>
{{localize "DAGGERHEART.ACTIONS.TYPES.summon.name"}}
</legend>
<ul class="actor-summon-items">
{{#each @root.summons as |summon index|}}
<li class="actor-summon-line">
<div class="actor-summon-name">
<li class="actor-drop-line">
<div class="actor-drop-name">
<img class="image" src="{{summon.actor.img}}" />
<h4 class="h4">
{{summon.actor.name}}
</h4>
</div>
<div class="actor-summon-controls">
<div class="actor-drop-controls">
<div class="form-group summon-count-wrapper" data-index="{{index}}">
<div class="form-fields">
<input type="text" value="{{summon.count}}" />
@ -43,7 +43,7 @@
</div>
</li>
{{/each}}
<div class="summon-dragger">
<div class="drop-dragger">
<span>{{localize "DAGGERHEART.ACTIONS.Settings.summon.dropSummonsHere"}}</span>
</div>
</ul>

View file

@ -0,0 +1,62 @@
<fieldset class="one-column" id="transform-drop-zone" data-is-drop-zone="true" data-key="transform">
<legend>
{{localize "DAGGERHEART.ACTIONS.TYPES.transform.name"}}
</legend>
<div class="transform-container">
{{#if transform.actor}}
<div class="actor-drop-line">
{{#if transform.actor.error}}
<div class="hint actor-drop-hint">{{transform.actor.error}}</div>
{{else}}
<div class="actor-drop-name">
<img class="image" src="{{transform.actor.img}}" />
<h4 class="h4">
{{transform.actor.name}}
</h4>
</div>
{{/if}}
<div class="actor-drop-controls transform">
<div class="controls">
{{#unless transform.actor.error}}
<a
class='effect-control'
data-action='editDoc'
data-item-uuid="{{transform.actor.uuid}}"
data-tooltip='{{localize "DAGGERHEART.UI.Tooltip.openItemWorld"}}'
>
<i class="fa-solid fa-globe"></i>
</a>
{{/unless}}
<a
class='effect-control'
data-action='removeTransformActor'
data-tooltip='{{localize "CONTROLS.CommonDelete"}}'
>
<i class='fas fa-trash'></i>
</a>
</div>
</div>
</div>
<line-div></line-div>
{{/if}}
{{#unless transform.actor}}
<div class="drop-dragger">
<span>{{localize "DAGGERHEART.ACTIONS.Settings.transform.dropTransformHere"}}</span>
</div>
{{/unless}}
<div class="transform-resources">
<div class="transform-resource">
<input type="checkbox" data-resource="hitPoints" {{checked transform.resourceRefresh.hitPoints}}/>
<span class="resource-title">{{localize "DAGGERHEART.ACTIONS.Settings.transform.clearHitPoints"}}</span>
</div>
<div class="transform-resource">
<input type="checkbox" data-resource="stress" {{checked transform.resourceRefresh.stress}}/>
<span class="resource-title">{{localize "DAGGERHEART.ACTIONS.Settings.transform.clearStress"}}</span>
</div>
</div>
</div>
</fieldset>