mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
[Feature] Countdown Actions (#1302)
* Added countdown actions * Added a CountdownAutomation setting to enable/disable countdown automation * Added Looping * Added characterSpotlight automation * Countdown max as formula to enable random countdowns * Updated compendiums with countdowns * . * Fixed lightmode colouration * Raised system version * Added automation for ActionRolls on countdowns * Added automation on fear to countdowns * Corrected attackAction countdown automation * Added initial countdown upon creating a CountdownAction * Improved ActionCountdown initial name to be 'Start Countdown'
This commit is contained in:
parent
0233979a9f
commit
207220ff7b
54 changed files with 1742 additions and 635 deletions
22
templates/actionTypes/countdown.hbs
Normal file
22
templates/actionTypes/countdown.hbs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<fieldset class="one-column" data-key="countdown">
|
||||
<legend>
|
||||
{{localize "DAGGERHEART.ACTIONS.TYPES.countdown.name"}}
|
||||
<a><i class="fa-solid fa-plus icon-button" data-action="addElement"></i></a>
|
||||
</legend>
|
||||
{{#each source as |countdown index|}}
|
||||
<div class="nest-inputs">
|
||||
{{formField ../fields.name value=countdown.name name=(concat "countdown." index ".name") localize=true}}
|
||||
<a class="btn" data-tooltip="{{localize "CONTROLS.CommonDelete"}}" data-action="removeElement" data-index="{{index}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
<div class="nest-inputs">
|
||||
{{formField ../fields.type value=countdown.type name=(concat "countdown." index ".type") localize=true}}
|
||||
{{formField ../fields.defaultOwnership value=countdown.defaultOwnership name=(concat "countdown." index ".defaultOwnership") localize=true}}
|
||||
</div>
|
||||
{{formField ../fields.img value=countdown.img name=(concat "countdown." index ".img") label="DAGGERHEART.GENERAL.imagePath" localize=true}}
|
||||
<div class="nest-inputs">
|
||||
{{formField ../fields.progress.fields.looping value=countdown.progress.looping name=(concat "countdown." index ".progress.looping") localize=true}}
|
||||
{{formField ../fields.progress.fields.type value=countdown.progress.type name=(concat "countdown." index ".progress.type") localize=true}}
|
||||
{{formField ../fields.progress.fields.max value=countdown.progress.max name=(concat "countdown." index ".progress.max") localize=true}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
{{formGroup settingFields.schema.fields.summaryMessages.fields.damage value=settingFields._source.summaryMessages.damage localize=true}}
|
||||
{{formGroup settingFields.schema.fields.summaryMessages.fields.effects value=settingFields._source.summaryMessages.effects localize=true}}
|
||||
</div>
|
||||
{{formGroup settingFields.schema.fields.countdownAutomation value=settingFields._source.countdownAutomation localize=true}}
|
||||
{{formGroup settingFields.schema.fields.actionPoints value=settingFields._source.actionPoints localize=true}}
|
||||
{{formGroup settingFields.schema.fields.hordeDamage value=settingFields._source.hordeDamage localize=true}}
|
||||
{{formGroup settingFields.schema.fields.effects.fields.rangeDependent value=settingFields._source.effects.rangeDependent localize=true}}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<section
|
||||
<section
|
||||
class="tab {{this.tabs.effect.cssClass}}"
|
||||
data-group="primary"
|
||||
data-tab="effect"
|
||||
|
|
@ -9,4 +9,5 @@
|
|||
{{#if fields.macro}}{{> 'systems/daggerheart/templates/actionTypes/macro.hbs' fields=fields.macro source=source.macro}}{{/if}}
|
||||
{{#if fields.effects}}{{> 'systems/daggerheart/templates/actionTypes/effect.hbs' fields=fields.effects.element.fields source=source.effects}}{{/if}}
|
||||
{{#if fields.beastform}}{{> 'systems/daggerheart/templates/actionTypes/beastform.hbs' fields=fields.beastform.fields source=source.beastform}}{{/if}}
|
||||
{{#if fields.countdown}}{{> 'systems/daggerheart/templates/actionTypes/countdown.hbs' fields=fields.countdown.element.fields source=source.countdown}}{{/if}}
|
||||
</section>
|
||||
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
<div class="edit-content">
|
||||
{{#each countdowns as | countdown id | }}
|
||||
<fieldset class="countdown-edit-outer-container">
|
||||
<div class="countdown-edit-container {{#unless countdown.editing}}viewing{{/unless}}" data-id="{{id}}">
|
||||
<a data-action="editCountdownImage" id="{{id}}"><img src="{{countdown.img}}" /></a>
|
||||
{{#unless countdown.editing}}
|
||||
|
|
@ -32,6 +33,17 @@
|
|||
<div class="countdown-edit-sub-tag">{{localize "DAGGERHEART.APPLICATIONS.CountdownEdit.currentCountdownMax" value=countdown.progress.max}}</div>
|
||||
<div class="countdown-edit-sub-tag">{{countdown.typeName}}</div>
|
||||
<div class="countdown-edit-sub-tag">{{countdown.progress.typeName}}</div>
|
||||
|
||||
{{#unless (eq countdown.progress.looping "noLooping")}}
|
||||
<div class="countdown-edit-loop" data-tooltip="{{countdown.loopTooltip}}">
|
||||
<i class="fa-solid fa-repeat"></i>
|
||||
{{#if (eq countdown.progress.looping "increasing")}}
|
||||
<i class="loop-marker fa-solid fa-angles-up"></i>
|
||||
{{else if (eq countdown.progress.looping "decreasing")}}
|
||||
<i class="loop-marker fa-solid fa-angles-down"></i>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
|
|
@ -56,20 +68,27 @@
|
|||
<label>{{localize "DAGGERHEART.APPLICATIONS.CountdownEdit.max"}}</label>
|
||||
<input type="number" name="{{concat "countdowns." id ".progress.max"}}" value="{{countdown.progress.max}}" />
|
||||
</div>
|
||||
<div class="countdown-edit-input">
|
||||
<div class="countdown-edit-input tiny type-input">
|
||||
<label>{{localize "DAGGERHEART.APPLICATIONS.CountdownEdit.category"}}</label>
|
||||
<select name="{{concat "countdowns." id ".type"}}">
|
||||
{{selectOptions ../countdownBaseTypes selected=countdown.type valueAttr="id" labelAttr="name" localize=true}}
|
||||
{{selectOptions ../countdownBaseTypes selected=countdown.type localize=true}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="countdown-edit-input">
|
||||
<label>{{localize "DAGGERHEART.APPLICATIONS.CountdownEdit.type"}}</label>
|
||||
<label>{{localize "DAGGERHEART.APPLICATIONS.CountdownEdit.progressionType"}}</label>
|
||||
<select name="{{concat "countdowns." id ".progress.type"}}">
|
||||
{{selectOptions ../countdownTypes selected=countdown.progress.type valueAttr="id" labelAttr="label" localize=true}}
|
||||
{{selectOptions ../countdownProgressionTypes selected=countdown.progress.type localize=true}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="countdown-edit-input looping-input tiny">
|
||||
<label>{{localize "DAGGERHEART.APPLICATIONS.CountdownEdit.looping"}}</label>
|
||||
<select name="{{concat "countdowns." id ".progress.looping"}}">
|
||||
{{selectOptions ../countdownLoopingTypes selected=countdown.progress.looping localize=true}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,26 +7,35 @@
|
|||
<div class="countdown-content">
|
||||
{{#unless ../iconOnly}}<label>{{countdown.name}}</label>{{/unless}}
|
||||
<div class="countdown-tools">
|
||||
{{#if countdown.editable}}<a data-action="decreaseCountdown" id="{{id}}"><i class="fa-solid fa-minus"></i></a>{{/if}}
|
||||
<div class="progress-tag">
|
||||
{{countdown.progress.current}}/{{countdown.progress.max}}
|
||||
<div class="countdown-tool-controls">
|
||||
{{#if countdown.editable}}<a data-action="decreaseCountdown" id="{{id}}"><i class="fa-solid fa-minus"></i></a>{{/if}}
|
||||
<div class="progress-tag">
|
||||
{{countdown.progress.current}}/{{countdown.progress.max}}
|
||||
</div>
|
||||
{{#if countdown.editable}}<a data-action="increaseCountdown" id="{{id}}"><i class="fa-solid fa-plus"></i></a>{{/if}}
|
||||
</div>
|
||||
<div class="countdown-tool-icons">
|
||||
{{#if (not ../iconOnly)}}
|
||||
{{#if (and countdown.noPlayerAccess @root.isGM)}}
|
||||
<i class="fa-solid fa-eye-slash" data-tooltip="{{localize "DAGGERHEART.UI.Countdowns.noPlayerAccess"}}"></i>
|
||||
{{/if}}
|
||||
{{#unless (eq countdown.progress.looping "noLooping")}}
|
||||
<span data-tooltip="{{countdown.loopTooltip}}">
|
||||
<a class="looping-container {{#if countdown.shouldLoop}}should-loop{{/if}}" {{#if countdown.loopDisabled}}disabled{{/if}} data-action="loopCountdown" id="{{id}}">
|
||||
<i class="loop-marker fa-solid fa-repeat"></i>
|
||||
{{#if (eq countdown.progress.looping "increasing")}}
|
||||
<i class="direction-marker fa-solid fa-angles-up" data-tooltip="{{localize "DAGGERHEART.UI.Countdowns.increasingLoop"}}"></i>
|
||||
{{else if (eq countdown.progress.looping "decreasing")}}
|
||||
<i class="direction-marker fa-solid fa-angles-down" data-tooltip="{{localize "DAGGERHEART.UI.Countdowns.decreasingLoop"}}"></i>
|
||||
{{/if}}
|
||||
</a>
|
||||
</span>
|
||||
{{/unless}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#if countdown.editable}}<a data-action="increaseCountdown" id="{{id}}"><i class="fa-solid fa-plus"></i></a>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{#if (and @root.isGM (not ../iconOnly))}}
|
||||
{{#if (gt countdown.playerAccess.length 0)}}
|
||||
<div class="countdown-access-container">
|
||||
{{#each countdown.playerAccess as |player|}}
|
||||
<div class="countdown-access" style="{{concat "background: " player.color.css ";"}}" data-tooltip="{{player.name}}"></div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if countdown.noPlayerAccess}}
|
||||
<div class="countdown-no-access-container"><i class="fa-solid fa-eye-slash" data-tooltip="{{localize "DAGGERHEART.UI.Countdowns.noPlayerAccess"}}"></i></div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue