Merge branch 'main' into feature/106-items-browser

This commit is contained in:
Dapoolp 2025-08-06 16:30:58 +02:00
commit e5f0ac7d30
41 changed files with 888 additions and 209 deletions

View file

@ -3,13 +3,15 @@
{{#if (not disabled)}}data-action="viewCompendium"{{/if}} data-compendium="{{this.compendium}}" data-path="{{this.path}}" data-limit="{{this.limit}}"
>
{{#if this.img}}
<img class="preview-image-container" src="{{this.img}}" />
<div class="preview-text-container">
{{#if altPartialBlock}}
{{> @partial-block }}
{{else}}
{{this.name}}
{{/if}}
<div class="preview-selected-container">
<img class="preview-image-container" src="{{this.img}}" />
<div class="preview-text-container">
{{#if altPartialBlock}}
{{> @partial-block }}
{{else}}
{{this.name}}
{{/if}}
</div>
</div>
{{else}}
<div class="preview-empty-container">

View file

@ -1,4 +1,23 @@
<section class='tab-footer'>
{{#if this.levelupAuto}}
<div class="levelup-navigation-actions {{#if (not this.showTabs)}}test{{/if}}">
{{#if this.navigate.previous.fromSummary}}
<button data-action="activatePart" data-part="advancements">{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToLevelup"}}</button>
<button data-action="save" {{#if (not this.levelup.allLevelsFinished)}}disabled{{/if}}>{{localize "Finish Levelup"}}</button>
{{else}}
{{#if (not this.navigate.previous.disabled)}}
<button data-action="updateCurrentLevel" >{{this.navigate.previous.label}}</button>
{{/if}}
{{/if}}
{{#if this.navigate.next.show}}
{{#if this.navigate.next.toSummary}}
<button data-action="activatePart" data-part="summary" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToSummary"}}</button>
{{else}}
<button data-action="updateCurrentLevel" data-forward="true" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{this.navigate.next.label}}</button>
{{/if}}
{{/if}}
</div>
{{/if}}
{{#unless levelupAuto}}
<div class="levelup-footer">
<button type="button" data-action="close">{{localize "Cancel"}}</button>

View file

@ -5,55 +5,60 @@
>
<div class="section-container levelup-selections-container">
{{#if (gt this.newExperiences.length 0)}}
<div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}</h3>
<fieldset class="new-experience">
<legend class="levelup-selections-title">
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}
</legend>
<div class="achievement-experience-cards">
{{#each this.newExperiences}}
<div class="achievement-experience-card">
<div class="flexrow">
<input type="text" name="{{concat "levelup.levels." this.level ".achievements.experiences." this.key ".name"}}" value="{{this.name}}" placeholder="{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experiencePlaceholder"}}" />
<div class="flex0">{{numberFormat this.modifier sign=true}}</div>
</div>
<input type="text" name="{{concat "levelup.levels." this.level ".achievements.experiences." this.key ".name"}}" value="{{this.name}}" placeholder="{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experiencePlaceholder"}}" />
<span>{{numberFormat this.modifier sign=true}}</span>
<div class="achievement-experience-marker">
{{#if this.name}}<i class="fa-solid fa-check"></i>{{/if}}
</div>
</div>
{{/each}}
</div>
</div>
</fieldset>
{{/if}}
{{#if this.traits.active}}
<div>
<h3 class="levelup-selections-title">
<div>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}</div>
<div>{{this.traits.progress.selected}}/{{this.traits.progress.max}}</div>
</h3>
<fieldset>
<legend class="levelup-selections-title">
<span>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}} {{this.traits.progress.selected}}/{{this.traits.progress.max}}</span>
</legend>
<input type="text" class="levelup-trait-increases" value="{{this.traits.values}}" />
</div>
</fieldset>
{{/if}}
{{#if this.experienceIncreases.active}}
<div>
<h3 class="levelup-selections-title">
<div>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}</div>
<div>{{this.experienceIncreases.progress.selected}}/{{this.experienceIncreases.progress.max}}</div>
</h3>
<fieldset>
<legend class="levelup-selections-title">
<span>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}} {{this.experienceIncreases.progress.selected}}/{{this.experienceIncreases.progress.max}}</span>
</legend>
<input type="text" class="levelup-experience-increases" value="{{this.experienceIncreases.values}}" />
</div>
</fieldset>
{{/if}}
{{#if (gt this.domainCards.length 0)}}
<div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h3>
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="tip">
</div>
<div class="levelup-card-selection domain-cards">
{{#each this.domainCards}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this }}
{{#each this.emptySubtexts}}
<div>{{this}}</div>
<div class="">{{this}}</div>
{{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{/each}}
@ -62,8 +67,12 @@
{{/if}}
{{#if (gt this.subclassCards.length 0)}}
<div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h3>
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="levelup-card-selection subclass-cards">
{{#each this.subclassCards}}
@ -74,40 +83,47 @@
{{/if}}
{{#if this.multiclass}}
<div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h3>
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="levelup-card-selection multiclass-cards" data-path="{{this.multiclass.path}}" data-tier="{{this.multiclass.tier}}" data-min-cost="{{this.multiclass.minCost}}" data-amount="{{this.multiclass.amount}}" data-value="{{this.multiclass.value}}" data-type="{{this.multiclass.type}}">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this.multiclass }}
{{this.multiclass.emptySubtext}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
<div class="levelup-domains-selection-container">
{{#each this.multiclass.domains}}
<div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectDomain" data-uuid="{{../multiclass.uuid}}" data-domain="{{this.id}}" data-path="{{../multiclass.path}}" {{/if}}>
<div class="levelup-domain-label">{{localize this.label}}</div>
<img src="{{this.src}}" />
{{#if this.selected}}
<div class="levelup-domain-selected">
<i class="fa-solid fa-check"></i>
</div>
{{/if}}
</div>
{{/each}}
</div>
<div class="levelup-domains-selection-container">
{{#each this.multiclass.subclasses}}
<div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectSubclass" data-uuid="{{../multiclass.uuid}}" data-subclass="{{this.uuid}}" data-path="{{../multiclass.path}}" {{/if}}>
<div class="levelup-domain-label">{{localize this.name}}</div>
<img src="{{this.img}}" />
{{#if this.selected}}
<div class="levelup-domain-selected">
<i class="fa-solid fa-check"></i>
</div>
{{/if}}
</div>
{{/each}}
</div>
{{#if this.multiclass.domains}}
<div class="levelup-domains-selection-container">
{{#each this.multiclass.domains}}
<div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectDomain" data-uuid="{{../multiclass.uuid}}" data-domain="{{this.id}}" data-path="{{../multiclass.path}}" {{/if}}>
<div class="levelup-domain-label">{{localize this.label}}</div>
<img src="{{this.src}}" />
{{#if this.selected}}
<div class="levelup-domain-selected">
<i class="fa-solid fa-check"></i>
</div>
{{/if}}
</div>
{{/each}}
</div>
{{/if}}
{{#if this.multiclass.subclasses}}
<div class="levelup-domains-selection-container">
{{#each this.multiclass.subclasses}}
<div class="levelup-domain-selection-container {{#if this.disabled}}disabled{{/if}}" {{#if (not this.disabled)}}data-action="selectSubclass" data-uuid="{{../multiclass.uuid}}" data-subclass="{{this.uuid}}" data-path="{{../multiclass.path}}" {{/if}}>
<div class="levelup-domain-label">{{localize this.name}}</div>
<img src="{{this.img}}" />
{{#if this.selected}}
<div class="levelup-domain-selected">
<i class="fa-solid fa-check"></i>
</div>
{{/if}}
</div>
{{/each}}
</div>
{{/if}}
</div>
</div>
{{/if}}

View file

@ -3,6 +3,13 @@
data-tab='{{tabs.summary.id}}'
data-group='{{tabs.summary.group}}'
>
<div class="summary-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize tabs.summary.label}}</h3>
<side-line-div></side-line-div>
</div>
<div class="section-container levelup-summary-container">
{{#if this.achievements}}
<fieldset>
@ -35,7 +42,7 @@
{{/if}}
{{#if this.achievements.domainCards.shown}}
<div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5>
<h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5>
<div class="summary-selection-container">
{{#each this.achievements.domainCards.values}}
<div class="summary-selection">{{this.name}}</div>
@ -45,7 +52,7 @@
{{/if}}
{{#if this.achievements.experiences.shown}}
<div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}</h5>
<h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}</h5>
<div class="summary-selection-container">
{{#each this.achievements.experiences.values}}
<div class="summary-selection">{{this.name}} {{numberFormat this.modifier sign=true}}</div>
@ -97,7 +104,7 @@
{{#if this.advancements.traits}}
<div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}</h5>
<h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}</h5>
{{#each this.advancements.traits}}
<div class="increase-container">
@ -111,7 +118,7 @@
{{#if this.advancements.domainCards}}
<div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5>
<h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h5>
<div class="summary-selection-container">
{{#each this.advancements.domainCards}}
<div class="summary-selection">{{this.name}}</div>
@ -122,7 +129,7 @@
{{#if this.advancements.experiences}}
<div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}</h5>
<h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}</h5>
<div class="summary-selection-container">
{{#each this.advancements.experiences}}
<div class="summary-selection">{{this.name}} {{numberFormat this.modifier sign=true}}</div>
@ -133,7 +140,7 @@
{{#if this.advancements.subclass}}
<div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h5>
<h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h5>
<div class="summary-selection-container">
{{#each this.advancements.subclass}}
<div class="summary-selection">{{this.name}} - {{this.featureLabel}}</div>
@ -145,7 +152,7 @@
{{#if this.advancements.multiclass}}
{{#with this.advancements.multiclass}}
<div>
<h5>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h5>
<h5 class="summary-section">{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}</h5>
<div class="summary-selection-container">
<div class="summary-selection">{{this.name}}</div>
<div class="summary-selection">{{this.domain}}</div>
@ -176,9 +183,5 @@
{{/each}}
</div>
</fieldset>
<footer class="levelup-footer">
<button data-action="save" {{#if (not this.levelup.allLevelsFinished)}}disabled{{/if}}>{{localize "Finish Levelup"}}</button>
</footer>
</div>
</section>

View file

@ -1,3 +1,4 @@
{{#unless tabs.summary.active}}
<section class='tab-navigation'>
{{#if levelupAuto}}
<line-div></line-div>
@ -9,36 +10,19 @@
<div class="levelup-tab-container">
<a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'>
{{localize tab.label}}
{{#if tab.progress}}
<span>{{tab.progress.selected}}/{{tab.progress.max}}</span>
{{/if}}
</a>
{{#if tab.progress}}
<div>{{tab.progress.selected}}/{{tab.progress.max}}</div>
{{/if}}
</div>
{{/if}}
{{/each}}
</nav>
{{/if}}
{{#if this.levelupAuto}}
<div class="levelup-navigation-actions {{#if (not this.showTabs)}}test{{/if}}">
{{#if this.navigate.previous.fromSummary}}
<button data-action="activatePart" data-part="advancements">{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToLevelup"}}</button>
{{else}}
{{#if (not this.navigate.previous.disabled)}}
<button data-action="updateCurrentLevel" >{{this.navigate.previous.label}}</button>
{{/if}}
{{/if}}
{{#if this.navigate.next.show}}
{{#if this.navigate.next.toSummary}}
<button data-action="activatePart" data-part="summary" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{localize "DAGGERHEART.APPLICATIONS.Levelup.navigateToSummary"}}</button>
{{else}}
<button data-action="updateCurrentLevel" data-forward="true" {{#if this.navigate.next.disabled}}disabled{{/if}}>{{this.navigate.next.label}}</button>
{{/if}}
{{else}}
<div></div>
{{/if}}
</div>
{{/if}}
</div>
<line-div></line-div>
{{/if}}
</section>
</section>
{{else}}
<section></section>
{{/unless}}

View file

@ -0,0 +1,45 @@
<section
class="tab {{tabs.domains.cssClass}} {{tabs.domains.id}}"
data-tab="{{tabs.domains.id}}"
data-group="{{tabs.domains.group}}"
>
<div class="title-wrapper">
<side-line-div class="invert top-lines"></side-line-div>
<h2>{{localize "DAGGERHEART.SETTINGS.Homebrew.domains.domainsTitle"}}</h2>
<side-line-div class="top-lines"></side-line-div>
</div>
<div class="domains-container">
{{#each configDomains as | domain |}}
<div class="domain-container">
<div class="domain-label">{{localize domain.label}}</div>
<img src="{{domain.src}}" class="domain-icon" />
</div>
{{/each}}
</div>
<div class="title-wrapper">
<side-line-div class="invert"></side-line-div>
<h2>
{{localize "DAGGERHEART.SETTINGS.Homebrew.domains.homebrewDomains"}}
<button class="add-button" data-action="addDomain"><i class="fa-solid fa-plus"></i></button>
</h2>
<side-line-div></side-line-div>
</div>
<div class="domains-container">
{{#each homebrewDomains as | domain id |}}
<button class="domain-container selectable {{#unless (eq @root.selectedDomain.id id)}}inactive{{/unless}}" id="{{id}}" data-action="toggleSelectedDomain">
<div class="domain-label">{{localize domain.label}}</div>
<img src="{{domain.src}}" class="domain-icon" style="--domain-icon: url({{domain.src}})" />
</button>
{{/each}}
</div>
<div class="domain-edit-container {{#if @root.selectedDomain}}extended{{/if}}">
<fieldset>
<legend>{{localize "DAGGERHEART.SETTINGS.Homebrew.domains.editDomain"}} <button class="add-button" data-action="deleteDomain"><i class="fa-solid fa-x"></i></button></legend>
<div class="domain-filepicker-row">{{formGroup settingFields.schema.fields.domains.element.fields.src value=selectedDomain.src name=(concat "domains." selectedDomain.id ".src") localize=true}}</div>
<textarea name="{{concat "domains." selectedDomain.id ".description"}}">{{selectedDomain.description}}</textarea>
</fieldset>
</div>
</section>

View file

@ -0,0 +1,51 @@
<section
class="tab {{tabs.downtime.cssClass}} {{tabs.downtime.id}}"
data-tab="{{tabs.downtime.id}}"
data-group="{{tabs.downtime.group}}"
>
<fieldset class="two-columns even">
<legend>{{localize "DAGGERHEART.SETTINGS.Homebrew.downtimeMoves"}}</legend>
<fieldset class="start-align">
<legend>
{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}
<a data-action="addItem" data-type="longRest"><i class="fa-solid fa-plus"></i></a>
<a data-action="resetMoves" data-type="longRest"><i class="fa-solid fa-arrow-rotate-left"></i></a>
</legend>
<div class="form-group setting-group-field">
<label>{{localize "DAGGERHEART.SETTINGS.Homebrew.nrChoices"}}</label>
<div class="form-fields">
<input type="text" name="restMoves.longRest.nrChoices" value="{{settingFields._source.restMoves.longRest.nrChoices}}" />
</div>
</div>
<div class="settings-items">
{{#each settingFields._source.restMoves.longRest.moves as |move id|}}
{{> "systems/daggerheart/templates/settings/components/settings-item-line.hbs" this type="longRest" id=id }}
{{/each}}
</div>
</fieldset>
<fieldset class="start-align">
<legend>
{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}
<a data-action="addItem" data-type="shortRest"><i class="fa-solid fa-plus"></i></a>
<a data-action="resetMoves" data-type="shortRest"><i class="fa-solid fa-arrow-rotate-left"></i></a>
</legend>
<div class="form-group setting-group-field">
<label>{{localize "DAGGERHEART.SETTINGS.Homebrew.nrChoices"}}</label>
<div class="form-fields">
<input type="text" name="restMoves.shortRest.nrChoices" value="{{settingFields._source.restMoves.shortRest.nrChoices}}" />
</div>
</div>
<div class="settings-items">
{{#each settingFields._source.restMoves.shortRest.moves as |move id|}}
{{> "systems/daggerheart/templates/settings/components/settings-item-line.hbs" this type="shortRest" id=id }}
{{/each}}
</div>
</fieldset>
</fieldset>
</section>

View file

@ -0,0 +1,10 @@
<footer class="form-footer">
<button type="button" data-action="reset">
<i class="fa-solid fa-arrow-rotate-left"></i>
<span>{{localize "Reset"}}</span>
</button>
<button type="button" data-action="save" >
<i class="fa-solid fa-floppy-disk"></i>
<span>{{localize "Save Changes"}}</span>
</button>
</footer>

View file

@ -0,0 +1,38 @@
<section
class="tab {{tabs.settings.cssClass}} {{tabs.settings.id}}"
data-tab="{{tabs.settings.id}}"
data-group="{{tabs.settings.group}}"
>
<div class="scrollable">
<header class="dialog-header">
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.homebrew.name'}}</h1>
</header>
{{formGroup settingFields.schema.fields.maxFear value=settingFields._source.maxFear localize=true}}
{{formGroup settingFields.schema.fields.maxDomains value=settingFields._source.maxDomains localize=true}}
{{formGroup settingFields.schema.fields.maxLoadout value=settingFields._source.maxLoadout localize=true}}
<div class="settings-hint"><label>{{localize "DAGGERHEART.SETTINGS.Homebrew.FIELDS.maxLoadout.hint"}}</label></div>
<h4>{{localize "DAGGERHEART.SETTINGS.Homebrew.FIELDS.traitArray.label"}}</h4>
<div class="trait-array-container">
{{#each settingFields._source.traitArray as |trait index|}}
<div class="trait-array-item">
<label>{{localize "DAGGERHEART.GENERAL.Modifier.single"}} {{add index 1}}</label>
<input type="text" data-dtype="Number" name="{{concat "traitArray." index}}" value="{{this}}" />
</div>
{{/each}}
</div>
<fieldset>
<legend>
{{localize "DAGGERHEART.SETTINGS.Homebrew.currency.title"}}
</legend>
{{formGroup settingFields.schema.fields.currency.fields.enabled value=settingFields._source.currency.enabled localize=true}}
{{formGroup settingFields.schema.fields.currency.fields.title value=settingFields._source.currency.title localize=true}}
{{formGroup settingFields.schema.fields.currency.fields.coins value=settingFields._source.currency.coins localize=true}}
{{formGroup settingFields.schema.fields.currency.fields.handfulls value=settingFields._source.currency.handfulls localize=true}}
{{formGroup settingFields.schema.fields.currency.fields.bags value=settingFields._source.currency.bags localize=true}}
{{formGroup settingFields.schema.fields.currency.fields.chests value=settingFields._source.currency.chests localize=true}}
</fieldset>
</div>
</section>

View file

@ -7,7 +7,7 @@
<side-line-div></side-line-div>
</div>
{{#if document.system.partner}}
<ul class="item-list">
<ul class="items-list">
{{> 'daggerheart.inventory-item'
item=document.system.partner
type='companion'
@ -27,7 +27,7 @@
<h3>{{localize "DAGGERHEART.GENERAL.attack"}}</h3>
<side-line-div></side-line-div>
</div>
<ul class="item-list">
<ul class="items-list">
{{> 'daggerheart.inventory-item'
item=document.system.attack
type='action'

View file

@ -7,8 +7,8 @@
<i class="fa-solid fa-bolt"></i>
</span>
<span class="item-icon">
<span class="recall-label">{{localize (concat 'DAGGERHEART.GENERAL.Domain.' source.system.domain '.label')}}</span>
<img src="{{concat 'systems/daggerheart/assets/icons/domains/' source.system.domain '.svg'}}" alt="">
<span class="recall-label">{{localize @root.domain.label}}</span>
<img src="{{@root.domain.src}}" alt="">
</span>
</div>
<div class='item-info'>
@ -18,7 +18,7 @@
<h3>
{{localize (concat 'DAGGERHEART.CONFIG.DomainCardTypes.' source.system.type)}}
<span>-</span>
{{localize (concat 'DAGGERHEART.GENERAL.Domain.' source.system.domain '.label')}}
{{localize @root.domain.label}}
<span>-</span>
{{localize "DAGGERHEART.GENERAL.level"}}:
{{source.system.level}}

View file

@ -9,7 +9,7 @@
<span>{{localize "DAGGERHEART.GENERAL.type"}}</span>
{{formField systemFields.type value=source.system.type localize=true}}
<span>{{localize "DAGGERHEART.GENERAL.Domain.single"}}</span>
{{formField systemFields.domain value=source.system.domain localize=true}}
{{formField 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"}}
<span>{{localize "DAGGERHEART.ITEMS.DomainCard.recallCost"}}</span>