Merged with main

This commit is contained in:
WBHarry 2026-02-26 16:20:24 +01:00
commit 2123ae1965
177 changed files with 2677 additions and 657 deletions

View file

@ -0,0 +1,3 @@
<footer>
<button data-action="finish">{{localize "Save Settings"}}</button>
</footer>

View file

@ -0,0 +1,36 @@
<div>
<div class="types-container">
{{#each typePackCollections as |type|}}
<div class="type-container">
<label>{{type.label}}</label>
<div class="sources-container">
{{#each type.sources as |source|}}
<div class="source-container">
<div class="source-inner-container">
<div class="source-inner-label-container">
<a
data-action="toggleSource" data-source="{{@key}}" data-type="{{@../key}}"
data-tooltip="{{#if source.checked}}{{localize "DAGGERHEART.APPLICATIONS.CompendiumBrowserSettings.disableSource"}}{{else}}{{localize "DAGGERHEART.APPLICATIONS.CompendiumBrowserSettings.enableSource"}}{{/if}}"
>
<i class="fa-solid {{#if source.checked}}fa-toggle-on{{else}}fa-toggle-off{{/if}}"></i>
</a>
<label>{{source.label}}</label>
</div>
</div>
<div class="checks-container {{#unless source.checked}}collapsed{{/unless}}">
{{#each source.packs as |pack|}}
<div class="check-container">
<input type="checkbox" class="pack-checkbox" data-type="{{pack.type}}" data-pack="{{pack.pack}}" {{checked pack.checked}} />
<label>{{pack.label}}</label>
</div>
{{/each}}
</div>
</div>
{{/each}}
</div>
</div>
{{/each}}
</div>
</div>

View file

@ -1,17 +1,12 @@
<header class="dialog-header">
<div class="dialog-header-inner">
<h1>
{{#if reactionOverride}}
{{localize "DAGGERHEART.CONFIG.FeatureForm.reaction"}}
{{else}}
{{ifThen rollConfig.headerTitle rollConfig.headerTitle rollConfig.title}}
{{/if}}
{{#if showReaction}}
<button class="reaction-roll-controller {{#if reactionOverride}}active{{/if}}" data-action="toggleReaction" data-tooltip-text="{{localize "DAGGERHEART.GENERAL.reactionRoll"}}">
<i class="fa-solid fa-reply"></i>
</button>
{{/if}}
</h1>
<h1>{{ifThen rollConfig.headerTitle rollConfig.headerTitle rollConfig.title}}</h1>
{{#if showReaction}}
<div class="reaction-chip {{#if reactionOverride}}selected{{/if}}" data-action="toggleReaction">
<span><i class="{{ifThen reactionOverride "fa-solid" "fa-regular"}} fa-circle"></i></span>
<span class="label">{{localize "DAGGERHEART.GENERAL.reactionRoll"}}</span>
</div>
{{/if}}
</div>
{{#if (and @root.hasRoll @root.activeTagTeamRoll)}}
<div class="tag-team-controller {{#if @root.tagTeamSelected}}selected{{/if}}" data-action="toggleTagTeamRoll">

View file

@ -118,14 +118,13 @@
{{#if name}}
<div class="experience-chip {{#if (includes ../selectedExperiences id)}}selected{{/if}}" data-action="selectExperience" data-key="{{id}}" data-tooltip="{{this.description}}">
<span><i class="{{ifThen (includes ../selectedExperiences id) "fa-solid" "fa-regular"}} fa-circle"></i></span>
<span class="label">{{name}} +{{value}}</span>
<span class="label">{{name}} {{numberFormat value sign=true}}</span>
</div>
{{/if}}
{{/each}}
</fieldset>
{{/if}}
<fieldset class="modifier-container {{#if (eq @root.rollType 'DualityRoll')}}two-columns{{else}}one-column{{/if}}">
{{#if @root.advantage}}
<legend>{{localize "DAGGERHEART.GENERAL.Modifier.plural"}}</legend>
<div class="nest-inputs">
<button class="advantage-chip flex1 {{#if (eq advantage 1)}}selected{{/if}}" data-action="updateIsAdvantage" data-advantage="1">
@ -169,7 +168,6 @@
</select>
{{/if}}
{{/unless}}
{{/if}}
{{#if @root.rallyDie.length}}
<span class="formula-label">{{localize "DAGGERHEART.CLASS.Feature.rallyDice"}}</span>
<select name="roll.dice._rallyIndex">

View file

@ -16,6 +16,10 @@
value=setting.showGenericStatusEffects
localize=true}}
{{formGroup
fields.showTokenDistance
value=setting.showTokenDistance
localize=true}}
{{formGroup
fields.hideAttribution
value=setting.hideAttribution
localize=true}}

View file

@ -1,8 +1,17 @@
<section
class="tab {{tabs.rules.cssClass}} {{tabs.rules.id}}"
data-tab="{{tabs.rules.id}}"
data-group="{{tabs.rules.group}}"
class="tab {{tabs.deathMoves.cssClass}} {{tabs.deathMoves.id}}"
data-tab="{{tabs.deathMoves.id}}"
data-group="{{tabs.deathMoves.group}}"
>
<fieldset>
<legend>
{{localize "DAGGERHEART.GENERAL.automation"}}
</legend>
{{formGroup settingFields.schema.fields.deathMoveAutomation.fields.avoidDeath value=settingFields._source.deathMoveAutomation.avoidDeath localize=true}}
{{formGroup settingFields.schema.fields.deathMoveAutomation.fields.riskItAll value=settingFields._source.deathMoveAutomation.riskItAll localize=true}}
{{formGroup settingFields.schema.fields.deathMoveAutomation.fields.blazeOfGlory value=settingFields._source.deathMoveAutomation.blazeOfGlory localize=true}}
</fieldset>
<fieldset>
<legend>
{{localize "DAGGERHEART.SETTINGS.Automation.defeated.title"}}

View file

@ -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}}

View file

@ -134,7 +134,7 @@
{{#each document.system.experiences as |experience id|}}
<div class="experience-row" data-tooltip-text="{{experience.description}}">
<span class="experience-value">
+{{experience.value}}
{{numberFormat experience.value sign=true}}
</span>
<span class="experience-name">{{experience.name}}</span>
<div class="controls">

View file

@ -56,6 +56,7 @@ Parameters:
{{> 'daggerheart.inventory-item'
item=item
type=../type
disabledEffect=../disabledEffect
actorType=../actorType
hideControls=../hideControls
hideContextMenu=../hideContextMenu

View file

@ -17,8 +17,12 @@ Parameters:
- showActions {boolean} : If true show feature's actions.
--}}
<li class="inventory-item" data-item-id="{{item.id}}" {{#if (or (eq type 'action' ) (eq type 'attack' ))}}
data-action-id="{{item.id}}" {{/if}} data-item-uuid="{{item.uuid}}" data-type="{{type}}" data-no-compendium-edit="{{noCompendiumEdit}}">
<li class="inventory-item" data-item-id="{{item.id}}"
{{#if (or (eq type 'action' ) (eq type 'attack' ))}}data-action-id="{{item.id}}" {{/if}}
{{#if disabledEffect}}data-disabled="true"{{/if}}
data-type="{{type}}" data-item-type="{{item.type}}"
data-item-uuid="{{item.uuid}}" data-no-compendium-edit="{{noCompendiumEdit}}"
>
<div class="inventory-item-header {{#if hideContextMenu}}padded{{/if}}" {{#unless noExtensible}}data-action="toggleExtended" {{/unless}}>
{{!-- Image --}}
<div class="img-portait" data-action='{{ifThen (or (hasProperty item "use") (eq type "attack")) "useItem" (ifThen
@ -113,7 +117,7 @@ Parameters:
data-tooltip="DAGGERHEART.UI.Tooltip.{{ifThen item.system.inVault 'sendToLoadout' 'sendToVault' }}">
<i class="fa-solid {{ifThen item.system.inVault 'fa-arrow-up' 'fa-arrow-down'}}"></i>
</a>
{{else if (eq type 'effect')}}
{{else if (and (eq type 'effect') (not (eq item.type 'beastform')))}}
<a data-action="toggleEffect"
data-tooltip="DAGGERHEART.UI.Tooltip.{{ifThen item.disabled 'enableEffect' 'disableEffect' }}">
<i class="{{ifThen item.disabled 'fa-solid fa-toggle-off' 'fa-solid fa-toggle-on'}}"></i>

View file

@ -2,20 +2,21 @@
data-group='{{tabs.effects.group}}'>
{{> 'daggerheart.inventory-items'
title='DAGGERHEART.GENERAL.activeEffects'
type='effect'
isGlassy=true
collection=effects.actives
canCreate=true
hideResources=true
title='DAGGERHEART.GENERAL.activeEffects'
type='effect'
isGlassy=true
collection=effects.actives
canCreate=true
hideResources=true
}}
{{> 'daggerheart.inventory-items'
title='DAGGERHEART.GENERAL.inactiveEffects'
type='effect'
isGlassy=true
collection=effects.inactives
canCreate=true
hideResources=true
title='DAGGERHEART.GENERAL.inactiveEffects'
type='effect'
disabledEffect=true
isGlassy=true
collection=effects.inactives
canCreate=true
hideResources=true
}}
</section>

View file

@ -1,5 +1,22 @@
<div>
{{#each features as | feature |}}
<div><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
<div class="item-description-outer-container">
<div class="two-columns">
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Armor.baseThresholds.base"}}</h4>
<span>{{item.system.baseThresholds.major}}/{{item.system.baseThresholds.severe}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}</h4>
<span>{{item.system.baseScore}}</span>
</div>
</div>
{{#if features.length}}
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.features"}}</h4>
{{#each features as | feature |}}
<div><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
{{/if}}
</div>

View file

@ -0,0 +1,34 @@
<div class="item-description-outer-container">
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.Domain.plural"}}</h4>
<span>{{domains}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Class.startingEvasionScore"}}</h4>
<span>{{class.system.evasion}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Class.startingHitPoints"}}</h4>
<span>{{class.system.hitPoints}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Class.classItems"}}</h4>
<div class="item-links">
{{#each classItems}}
{{{this}}}
{{/each}}
</div>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Class.hopeFeatureLabel" class=class.name}}</h4>
{{#each hopeFeatures as | feature |}}
<div class="item-description-inner-container"><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Class.classFeature"}}</h4>
{{#each classFeatures as | feature |}}
<div class="item-description-inner-container"><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
</div>

View file

@ -0,0 +1,8 @@
<div class="item-description-outer-container">
<div class="item-description-container">
<h4>{{localize label}}</h4>
{{#each features as | feature |}}
<div class="item-description-inner-container"><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
</div>

View file

@ -7,19 +7,19 @@
<legend>{{localize tabs.settings.label}}</legend>
<span>{{localize "DAGGERHEART.GENERAL.type"}}</span>
{{formField systemFields.type value=source.system.type localize=true}}
{{formInput systemFields.type value=source.system.type localize=true}}
<span>{{localize "DAGGERHEART.GENERAL.Domain.single"}}</span>
{{formField systemFields.domain value=source.system.domain choices=domainChoices valueAttr="id" labelAttr="label" localize=true}}
{{formInput systemFields.domain value=source.system.domain choices=domainChoices valueAttr="id" labelAttr="label" localize=true}}
<span>{{localize "DAGGERHEART.GENERAL.level"}}</span>
{{formField systemFields.level value=source.system.level data-dtype="Number"}}
{{formInput systemFields.level value=source.system.level data-dtype="Number"}}
<span>{{localize "DAGGERHEART.ITEMS.DomainCard.recallCost"}}</span>
{{formField systemFields.recallCost value=source.system.recallCost data-dtype="Number"}}
{{formInput systemFields.recallCost value=source.system.recallCost data-dtype="Number"}}
<span>{{localize "DAGGERHEART.ITEMS.DomainCard.vaultActive"}}</span>
{{formField systemFields.vaultActive value=source.system.vaultActive}}
{{formInput systemFields.vaultActive value=source.system.vaultActive}}
<span>{{localize "DAGGERHEART.ITEMS.DomainCard.loadoutIgnore"}}</span>
{{formField systemFields.loadoutIgnore value=source.system.loadoutIgnore}}
{{formInput systemFields.loadoutIgnore value=source.system.loadoutIgnore}}
<span>{{localize "DAGGERHEART.ITEMS.DomainCard.domainTouched"}}</span>
{{formField systemFields.domainTouched value=source.system.domainTouched placeholder=0 }}
{{formInput systemFields.domainTouched value=source.system.domainTouched placeholder=0 }}
</fieldset>
{{> "systems/daggerheart/templates/sheets/global/partials/resource-section/resource-section.hbs" }}

View file

@ -0,0 +1,24 @@
<div class="item-description-outer-container">
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Subclass.spellcastTrait"}}</h4>
<span>{{spellcastTrait}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Subclass.foundationFeatures"}}</h4>
{{#each foundationFeatures as | feature |}}
<div class="item-description-inner-container"><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Subclass.specializationFeature"}}</h4>
{{#each specializationFeatures as | feature |}}
<div class="item-description-inner-container"><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.ITEMS.Subclass.masteryFeature"}}</h4>
{{#each masteryFeatures as | feature |}}
<div class="item-description-inner-container"><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
</div>

View file

@ -1,5 +1,39 @@
<div>
{{#each features as | feature |}}
<div><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
<div class="item-description-outer-container">
<div class="three-columns">
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.Tiers.singular"}}</h4>
<span>{{tier}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.Trait.single"}}</h4>
<span>{{trait}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.range"}}</h4>
<span>{{range}}</span>
</div>
</div>
<div class="three-columns">
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.damage"}}</h4>
<span>{{damage}}</span>
</div>
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.burden"}}</h4>
<span>{{burden}}</span>
</div>
</div>
{{#if features.length}}
<div class="item-description-container">
<h4>{{localize "DAGGERHEART.GENERAL.features"}}</h4>
{{#each features as | feature |}}
<div><strong>{{localize feature.label}}</strong>: {{{localize feature.description}}}</div>
{{/each}}
</div>
{{/if}}
</div>

View file

@ -1,5 +1,5 @@
<div class="daggerheart chat action">
<details class="action-move">
<details class="action-move" {{this.open}}>
<summary class="action-section">
<img class="action-img" src="{{action.img}}" />
<div class="action-header">

View file

@ -7,7 +7,7 @@
<h2 class="title">{{this.title}}</h2>
<span class="label">{{localize 'DAGGERHEART.UI.Chat.deathMove.title'}}</span>
</div>
<i class="fa-solid {{this.chevron}}"></i>
<i class="fa-solid fa-chevron-down"></i>
</summary>
<div class="description">
{{{this.description}}}

View file

@ -1,7 +1,7 @@
<div class="daggerheart chat downtime">
<ul class="downtime-moves-list">
{{#each moves as | move index |}}
<details class="downtime-move">
<details class="downtime-move" {{@root.open}}>
<summary class="downtime-label">
<img class="downtime-image" src="{{move.img}}" />
<div class="header-label">

View file

@ -0,0 +1,11 @@
<div class="roll-part dice-roll description-section" data-action="expandRoll">
<div class="roll-part-header"><div><span>{{localize "DAGGERHEART.GENERAL.description"}}</span></div></div>
<div class="roll-part-content description-content">
<div class="dice-tooltip">
<div class="wrapper">
<i>{{{actionDescription}}}</i>
</div>
</div>
</div>
</div>

View file

@ -1,6 +1,10 @@
<div class="chat-roll">
<div class="roll-part-header"><span>{{title}}</span></div>
{{#if hasRoll}}{{> 'systems/daggerheart/templates/ui/chat/parts/roll-part.hbs'}}{{/if}}
<div class="roll-part-title"><span>{{title}}</span></div>
{{#if actionDescription}}{{> 'systems/daggerheart/templates/ui/chat/parts/description-part.hbs'}}{{/if}}
{{#if hasRoll}}
<div class="roll-part-header"><span>{{localize "Result"}}</span></div>
{{> 'systems/daggerheart/templates/ui/chat/parts/roll-part.hbs'}}
{{/if}}
{{#if (or hasDamage hasHealing)}}{{> 'systems/daggerheart/templates/ui/chat/parts/damage-part.hbs'}}{{/if}}
{{#if hasTarget}}{{> 'systems/daggerheart/templates/ui/chat/parts/target-part.hbs'}}{{/if}}
<div class="roll-part-header"><div></div></div>

View file

@ -1,7 +1,8 @@
<div class="compendium-sidebar">
{{#if isGM}}<button data-action="openSettings"><i class="fa-solid fa-gear"></i> {{localize "DAGGERHEART.UI.ItemBrowser.browserSettings"}}</button>{{/if}}
<div class="folder-list">
{{#each compendiums}}
<div class="{{#if selected}} is-selected{{/if}}" data-action="selectFolder" data-folder-id="{{id}}" {{#if folders.length}}data-tooltip="DAGGERHEART.UI.Tooltip.rightClickExtand" data-tooltip-direction="RIGHT"{{/if}}>{{label}}</div>
<div class="{{#if selected}} is-selected{{/if}}" data-action="selectFolder" data-folder-id="{{id}}" {{#if folders.length}}data-tooltip="DAGGERHEART.UI.Tooltip.rightClickExtend" data-tooltip-direction="RIGHT"{{/if}}>{{label}}</div>
{{#if folders.length}}
<div class="subfolder-list">
<div class="wrapper">

View file

@ -7,17 +7,19 @@
<menu id="scene-navigation-active" class="scene-navigation-menu flexcol">
{{#each scenes.active as |scene|}}
<li class="scene-wrapper">
<div class="ui-control scene {{scene.cssClass}}" data-scene-id="{{scene.id}}" data-action="viewScene" {{#if scene.tooltip}}data-tooltip-text="{{scene.tooltip}}"{{/if}}>
<span class="scene-name ellipsis">{{scene.name}}</span>
{{#if scene.users}}
<ul class="scene-players">
{{#each scene.users as |user|}}
<li class="scene-player" style="--color-bg:{{user.color}}; --color-border:{{user.border}}"
data-tooltip aria-label="{{user.name}}">{{user.letter}}</li>
{{/each}}
</ul>
{{/if}}
</div>
<ul>
<li class="ui-control scene {{scene.cssClass}}" data-scene-id="{{scene.id}}" data-action="viewScene" {{#if scene.tooltip}}data-tooltip-text="{{scene.tooltip}}"{{/if}}>
<span class="scene-name ellipsis">{{scene.name}}</span>
{{#if scene.users}}
<ul class="scene-players">
{{#each scene.users as |user|}}
<li class="scene-player" style="--color-bg:{{user.color}}; --color-border:{{user.border}}"
data-tooltip aria-label="{{user.name}}">{{user.letter}}</li>
{{/each}}
</ul>
{{/if}}
</li>
</ul>
{{#if scene.hasEnvironments}}
<button class="ui-control scene-environment {{#if (gt scene.environments.length 1)}}many-environments{{/if}}" data-action="openSceneEnvironment" data-scene-id="{{scene.id}}"><img src="{{scene.environmentImage}}" /> </button>
{{/if}}
@ -27,9 +29,11 @@
<menu id="scene-navigation-inactive" class="scene-navigation-menu flexcol">
{{#each scenes.inactive as |scene|}}
<li class="scene-wrapper">
<div class="ui-control scene {{scene.cssClass}}" data-scene-id="{{scene.id}}" data-action="viewScene" {{#if scene.tooltip}}data-tooltip-text="{{scene.tooltip}}"{{/if}}>
<ul>
<li class="ui-control scene {{scene.cssClass}}" data-scene-id="{{scene.id}}" data-action="viewScene" {{#if scene.tooltip}}data-tooltip-text="{{scene.tooltip}}"{{/if}}>
<span class="scene-name ellipsis">{{scene.name}}</span>
</div>
</li>
</ul>
</li>
{{/each}}
</menu>