Initial commit

This commit is contained in:
WBHarry 2025-05-22 16:53:39 +02:00
commit aa4021d1a2
163 changed files with 26530 additions and 0 deletions

View file

@ -0,0 +1,243 @@
<div>
<header class="adversary-header-container">
<div class="adversary-header flexrow">
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
<div class="adversary-title">
{{#if this.editMode}}
{{formInput fields.name value=source.name rootId=partId placeholder="{{ localize 'Name' }}"}}
{{else}}
<div class="title-text">{{this.title}}</div>
{{/if}}
</div>
</div>
<i class="fa-solid fa-wrench icon-button secondary {{#if this.editMode}}active{{/if}}" data-action="toggleSlider" style="position: absolute; right: 4px; top: 4px;"></i>
</header>
<section class="sheet-body">
{{#if this.editMode}}
<div>
<h2>{{localize "DAGGERHEART.Sheets.Adversary.Description"}}</h2>
<textarea name="system.description">{{source.system.description}}</textarea>
<h2 class="motive-container">
<div class="motive-title">
<div>{{localize "DAGGERHEART.Sheets.Adversary.MotivesAndTactics"}}</div>
<i class="fa-solid fa-plus" data-action="addMotive"></i>
</div>
</h2>
<div class="ability-choices">
{{#each source.system.motivesAndTactics as |motive index|}}
<div class="ability-chip">
<input type="text" name="system.motivesAndTactics.{{index}}" value="{{motive}}" />
<button><i data-action="removeMotive" data-motive="{{index}}" class="fa-solid fa-x"></i></button>
</div>
{{/each}}
</div>
</div>
<div class="adversary-content-container">
<div class="adversary-statistics-container">
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Tier"}}</label>
<div class="form-fields">
<select name="system.tier">
{{selectOptions config.GENERAL.tiers selected=source.system.tier labelAttr="key"}}
</select>
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Type"}}</label>
<div class="form-fields">
<select name="system.type">
{{selectOptions config.ACTOR.adversaryTypes selected=source.system.type labelAttr="name" localize=true}}
</select>
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Attack.Modifier"}}</label>
<div class="form-fields">
<input type="text" name="system.attackModifier" value="{{source.system.attackModifier}}" data-dtype="Number" />
</div>
</div>
<div class="attack-container">
<h2>{{localize "DAGGERHEART.Sheets.Adversary.Attack.Title"}}</h2>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Attack.Name"}}</label>
<div class="form-fields">
<input type="text" name="system.attack.name" value="{{source.system.attack.name}}" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Attack.Range"}}</label>
<div class="form-fields">
<select name="system.attack.range">
{{selectOptions config.GENERAL.range selected=source.system.attack.range labelAttr="name" localize=true}}
</select>
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Attack.Damage.Title"}}</label>
<div class="form-fields">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Attack.Damage.Value"}}</label>
<input type="text" name="system.attack.damage.value" value="{{source.system.attack.damage.value}}" />
<label>{{localize "DAGGERHEART.Sheets.Adversary.Attack.Damage.Type"}}</label>
<select name="system.attack.damage.type">
{{selectOptions config.GENERAL.damageTypes selected=source.system.attack.damage.type labelAttr="name" localize=true}}
</select>
</div>
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Difficulty"}}</label>
<div class="form-fields">
<input type="text" name="system.difficulty" value="{{source.system.difficulty}}" data-dtype="Number" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.DamageThresholds.Title"}}</label>
<div class="form-fields adversary-damage-threshold-container">
<label>{{localize "DAGGERHEART.Sheets.Adversary.DamageThresholds.Minor"}}</label>
<input type="text" name="system.damageThresholds.minor" value="{{source.system.damageThresholds.minor}}" data-dtype="Number" />
<label>{{localize "DAGGERHEART.Sheets.Adversary.DamageThresholds.Major"}}</label>
<input type="text" name="system.damageThresholds.major" value="{{source.system.damageThresholds.major}}" data-dtype="Number" />
<label>{{localize "DAGGERHEART.Sheets.Adversary.DamageThresholds.Severe"}}</label>
<input type="text" name="system.damageThresholds.severe" value="{{source.system.damageThresholds.severe}}" data-dtype="Number" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.HP"}}</label>
<div class="form-fields">
<input type="text" name="system.resources.health.max" value="{{source.system.resources.health.max}}" data-dtype="Number" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Stress"}}</label>
<div class="form-fields">
<input type="text" name="system.resources.stress.max" value="{{source.system.resources.stress.max}}" data-dtype="Number" />
</div>
</div>
<h2 class="experience-container">
<div class="flex-centered">
<div>{{localize "DAGGERHEART.Sheets.Adversary.Experiences"}}</div>
<i class="fa-solid fa-plus" data-action="addExperience"></i>
</div>
</h2>
{{#each source.system.experiences as |experience index|}}
<div class="experience-chip">
<input class="experience.value" type="text" name="system.experiences.{{index}}.name" value="{{experience.name}}" />
<input class="experience-value" type="text" name="system.experiences.{{index}}.value" value="{{experience.value}}" data-dtype="Number" />
<button class="experience-button"><i data-action="removeExperience" data-experience="{{index}}" class="fa-solid fa-x"></i></button>
</div>
{{/each}}
</div>
<div class="adversary-moves-container">
<h2 class="moves-edit-container">{{localize "DAGGERHEART.Sheets.Adversary.Moves"}} <i class="fa-solid fa-plus" data-action="addMove"></i></h2>
{{#each this.data.moves as |move key|}}
<div class="chip-container">
<div class="chip-inner-container">
<img src="{{move.img}}" />
<div class="move-title">{{move.name}}</div>
</div>
<div class="chip-inner-container">
<button data-action="viewMove" data-move={{move.uuid}}><i class="fa-solid fa-fw fa-search"></i></button>
<button data-action="removeMove" data-move={{move.uuid}}><i class="fa-solid fa-trash"></i></button>
</div>
</div>
{{/each}}
</div>
</div>
{{else}}
<div class="motive-container">
<div class="motive-title">
<span class="motive-title-value"><strong>{{localize "DAGGERHEART.Sheets.Adversary.Description"}}:</strong> {{this.data.description}}</span>
</div>
<div class="motive-title">
<span class="motive-title-value"><strong>{{localize "DAGGERHEART.Sheets.Adversary.MotivesAndTactics"}}:</strong> {{this.data.motivesAndTactics}}</span>
</div>
</div>
<div class="adversary-content-container">
<div class="adversary-statistics-container">
<div class="statistic-section">
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Tier"}}:</label>
<span class="statistic-value">{{this.data.tier}}</span>
</div>
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Type"}}:</label>
<span class="statistic-value">{{this.data.type}}</span>
</div>
</div>
<div class="statistic-section">
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Difficulty"}}:</label>
<span class="statistic-value">{{this.data.difficulty}}</span>
</div>
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Reaction"}}</label>
<img class="adversary-roll" data-action="reactionRoll" src="icons/svg/d20-grey.svg" />
</div>
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Attack.Modifier"}}:</label>
<span class="statistic-value">+{{this.data.attack.attackModifier}}</span>
<img class="adversary-roll" data-action="attackRoll" data-value="{{this.data.attack.attackModifier}}" data-damage="{{this.data.attack.damage.value}}" data-damage-type="{{this.data.attack.damage.type}}" src="icons/svg/d20-grey.svg" />
</div>
<div class="statistic-row">
<label class="statistic-title">{{localize this.data.attack.name}}</label>
<span class="statistic-value">{{this.data.attack.range}} | {{this.data.attack.damage.value}} {{this.data.attack.damage.typeName}}</span>
</div>
</div>
<div class="statistic-section">
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.PC.Health.Minor"}}</label>
<span class="statistic-value">{{this.data.damageThresholds.minor}}</span>
<div class="vertical-separator" style="height: 16px; margin: 0 4px;"></div>
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.PC.Health.Major"}}</label>
<span class="statistic-value">{{this.data.damageThresholds.major}}</span>
<div class="vertical-separator" style="height: 16px; margin: 0 4px;"></div>
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.PC.Health.Severe"}}</label>
<span class="statistic-value">{{this.data.damageThresholds.severe}}</span>
</div>
<div class="statistic-resource-container">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.HP"}}</label>
<div class="statistic-resource-inner-container">
{{#times this.data.hp.max}}
<input class="statistic-resource-input" type="checkbox" data-action="toggleHP" data-index="{{this}}" {{checked (gt ../data.hp.value this)}} />
{{/times}}
</div>
</div>
<div class="statistic-resource-container">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Stress"}}</label>
<div class="statistic-resource-inner-container">
{{#times this.data.stress.max}}
<input class="statistic-resource-input" type="checkbox" data-action="toggleStress" data-index="{{this}}" {{checked (gt ../data.stress.value this)}} />
{{/times}}
</div>
</div>
</div>
<div class="statistic-section">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Experience"}}</label>
{{#each source.system.experiences as |experience index|}}
<div class="experience-row">
<span>{{experience.name}}</span>
&nbsp;
<span>{{#if (gte experience.value 0)}}+{{else}}-{{/if}}{{experience.value}}</span>
</div>
{{/each}}
</div>
{{!-- <div class="statistic-resource-container">
<label class="statistic-title">{{localize "HP:"}}</label>
<span class="statistic-value">{{this.data.hp.max}}</span>
</div> --}}
</div>
<div class="adversary-moves-container">
<div class="moves-title">{{localize "DAGGERHEART.Sheets.Adversary.Moves"}}</div>
{{#each this.data.moves as |move index|}}
<div class="move-container">
<label class="moves-name">{{move.name}}</label>
<div class="move-description">{{{move.system.description}}}</div>
</div>
{{/each}}
</div>
</div>
{{/if}}
</section>
</div>

View file

@ -0,0 +1,11 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
</header>
{{> "systems/daggerheart/templates/sheets/parts/heritage.hbs" }}
</div>

View file

@ -0,0 +1,37 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
</header>
<section class="sheet-body">
{{formField systemFields.baseScore value=source.system.baseScore label=(localize "DAGGERHEART.Sheets.Armor.BaseScore") }}
{{formField systemFields.feature value=source.system.feature label=(localize "DAGGERHEART.Sheets.Armor.Feature") localize=true blank=""}}
<div class="feature-description">
<h2>{{localize "DAGGERHEART.Sheets.Armor.Description"}}</h2>
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
</div>
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Armor.BaseScore"}}</label>
<div class="form-fields">
<input type="text" name="system.baseScore" value={{item.system.baseScore}} data-dtype="Number" />
</div>
</div> --}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Armor.Feature"}}</label>
<div class="form-fields">
<select name="system.feature">
{{selectOptions config.ITEM.armorFeatures selected=item.system.feature labelAttr="name" localize=true blank="" }}
</select>
</div>
</div>
<div class="feature-description">
<h2>{{localize "DAGGERHEART.Sheets.Armor.Description"}}</h2>
{{editor item.system.description target="system.description" button=true}}
</div> --}}
</section>
</div>

300
templates/sheets/class.hbs Normal file
View file

@ -0,0 +1,300 @@
<div>
<header class="flexcol">
<div class="flexrow">
<img class="flex0" src="{{source.img}}" data-edit="img" data-action="onEditImage" title="{{source.name}}" height="64" width="64"/>
<div class="flexcol">
<h2 style="margin-bottom: 4px; margin-left: 8px;"><input name="name" type="text" value="{{source.name}}" placeholder="{{ localize 'Name' }}"/></h2>
{{!-- <nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="features" data-action="tabSwitch">{{localize "DAGGERHEART.Sheets.Class.Tabs.Features"}}</a>
<a class="item" data-tab="guide">{{localize "DAGGERHEART.Sheets.Class.Tabs.Guide"}}</a>
</nav> --}}
<nav class="sheet-tabs tabs">
{{#each tabs as |tab|}}
<a class="{{tab.cssClass}}" data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}">
<i class="{{tab.icon}}"></i>
<label>{{localize tab.label}}</label>
</a>
{{/each}}
</nav>
</div>
</div>
</header>
<section class="sheet-body flexcol">
<div class="tab features {{this.tabs.features.cssClass}}" data-group="primary" data-tab="features">
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.Domains"}}</label>
<div class="form-fields">
<input class="domain-input" value="{{domains}}" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.DamageThresholds.Title"}}</label>
<div class="form-fields">
<label>{{localize "DAGGERHEART.Sheets.Class.DamageThresholds.Minor"}}</label>
<input name="system.damageThresholds.minor" value="{{source.system.damageThresholds.minor}}" placeholder="Minor" type="text" data-dtype="Number" />
<label>{{localize "DAGGERHEART.Sheets.Class.DamageThresholds.Major"}}</label>
<input name="system.damageThresholds.major" value="{{source.system.damageThresholds.major}}" placeholder="Major" type="text" data-dtype="Number" />
<label>{{localize "DAGGERHEART.Sheets.Class.DamageThresholds.Severe"}}</label>
<input name="system.damageThresholds.severe" value="{{source.system.damageThresholds.severe}}" placeholder="Severe" type="text" data-dtype="Number" />
</div>
</div>
{{formField systemFields.evasion value=source.system.evasion label=(localize "DAGGERHEART.Sheets.Class.Evasion")}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.Evasion"}}</label>
<div class="form-fields">
<input name="system.evasion" value="{{source.system.evasion}}" placeholder="Minor" type="text" data-dtype="Number" />
</div>
</div> --}}
<div>
<h2>{{localize "DAGGERHEART.Sheets.Class.ClassFeatures"}}</h2>
<div>
{{#each source.system.features as |feature index|}}
<div class="feature-container">
<div class="feature-inner-container">
<img src="{{feature.img}}" />
<div class="feature-title">{{feature.name}}</div>
</div>
<div class="subclass-inner-container">
<button data-action="viewFeature" data-feature={{feature.uuid}}><i class="fa-solid fa-fw fa-search"></i></button>
<button data-action="removeFeature" data-feature={{feature.uuid}}><i class="fa-solid fa-trash"></i></button>
</div>
</div>
{{/each}}
</div>
</div>
<div>
<h2>{{localize "DAGGERHEART.Sheets.Class.Subclasses"}}</h2>
<div>
{{#each source.system.subclasses as |subclass index|}}
<div class="feature-container">
<div class="feature-inner-container">
<img src="{{subclass.img}}" />
<div class="feature-title">{{subclass.name}}</div>
</div>
<div class="subclass-inner-container">
<button data-action="viewSubclass" data-subclass={{subclass.uuid}}><i class="fa-solid fa-fw fa-search"></i></button>
<button data-action="removeSubclass" data-subclass={{subclass.uuid}}><i class="fa-solid fa-trash"></i></button>
</div>
</div>
{{/each}}
</div>
</div>
</div>
<div class="tab guide {{this.tabs.guide.cssClass}}" data-group="primary" data-tab="guide">
<div class="flexcol">
<div class="guide-section flexrow flex1">
<div class="flex-col-centered">
<div class="guide-section-title-centered">{{localize "DAGGERHEART.Sheets.Class.Guide.Suggestions.Title"}}</div>
<fieldset class="drop-section">
<legend>
{{localize "DAGGERHEART.Sheets.Class.Guide.Suggestions.Traits.Title"}}
</legend>
<div class="form-group flexrow">
<label>{{localize "DAGGERHEART.Abilities.Agility.Name"}}</label>
<div class="form-fields flex0 trait-input">
<input type="text" name="system.characterGuide.suggestedTraits.agility" value="{{source.system.characterGuide.suggestedTraits.agility}}" />
</div>
</div>
<div class="form-group flexrow">
<label>{{localize "DAGGERHEART.Abilities.Strength.Name"}}</label>
<div class="form-fields flex0 trait-input">
<input type="text" name="system.characterGuide.suggestedTraits.strength" value="{{source.system.characterGuide.suggestedTraits.strength}}" />
</div>
</div>
<div class="form-group flexrow">
<label>{{localize "DAGGERHEART.Abilities.Finesse.Name"}}</label>
<div class="form-fields flex0 trait-input">
<input type="text" name="system.characterGuide.suggestedTraits.finesse" value="{{source.system.characterGuide.suggestedTraits.finesse}}" />
</div>
</div>
<div class="form-group flexrow">
<label>{{localize "DAGGERHEART.Abilities.Instinct.Name"}}</label>
<div class="form-fields flex0 trait-input">
<input type="text" name="system.characterGuide.suggestedTraits.instinct" value="{{source.system.characterGuide.suggestedTraits.instinct}}" />
</div>
</div>
<div class="form-group flexrow">
<label>{{localize "DAGGERHEART.Abilities.Presence.Name"}}</label>
<div class="form-fields flex0 trait-input">
<input type="text" name="system.characterGuide.suggestedTraits.presence" value="{{source.system.characterGuide.suggestedTraits.presence}}" />
</div>
</div>
<div class="form-group flexrow">
<label>{{localize "DAGGERHEART.Abilities.Knowledge.Name"}}</label>
<div class="form-fields flex0 trait-input">
<input type="text" name="system.characterGuide.suggestedTraits.knowledge" value="{{source.system.characterGuide.suggestedTraits.knowledge}}" />
</div>
</div>
</fieldset>
<fieldset class="drop-section primary-weapon-section">
<legend class="levelup-legend">
{{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedPrimaryWeaponTitle"}}
</legend>
<div class="drop-section-body">
{{#if source.system.characterGuide.suggestedPrimaryWeapon}}
<div data-action="viewItem" data-item="{{source.system.characterGuide.suggestedPrimaryWeapon.uuid}}" class="suggested-item suggested-primary-weapon">
<img src="{{source.system.characterGuide.suggestedPrimaryWeapon.img}}" />
<div>{{source.system.characterGuide.suggestedPrimaryWeapon.name}}</div>
<i data-action="removePrimaryWeapon" class="fa-solid fa-trash icon-button"></i>
</div>
{{/if}}
</div>
</fieldset>
<fieldset class="drop-section secondary-weapon-section">
<legend class="levelup-legend">
{{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedSecondaryWeaponTitle"}}
</legend>
<div class="drop-section-body">
{{#if source.system.characterGuide.suggestedSecondaryWeapon}}
<div data-action="viewItem" data-item="{{source.system.characterGuide.suggestedSecondaryWeapon.uuid}}" class="suggested-item">
<img src="{{source.system.characterGuide.suggestedSecondaryWeapon.img}}" />
<div>{{source.system.characterGuide.suggestedSecondaryWeapon.name}}</div>
<i data-action="removeSecondaryWeapon" class="fa-solid fa-trash icon-button"></i>
</div>
{{/if}}
</div>
</fieldset>
<fieldset class="drop-section armor-section">
<legend class="levelup-legend">
{{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedArmorTitle"}}
</legend>
<div class="drop-section-body">
{{#if source.system.characterGuide.suggestedArmor}}
<div data-action="viewItem" data-item="{{source.system.characterGuide.suggestedArmor.uuid}}" class="suggested-item">
<img src="{{source.system.characterGuide.suggestedArmor.img}}" />
<div>{{source.system.characterGuide.suggestedArmor.name}}</div>
<i data-action="removeArmor" class="fa-solid fa-trash icon-button"></i>
</div>
{{/if}}
</div>
</fieldset>
</div>
<div class="flex-col-centered">
<div class="guide-section-title-centered">{{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.Title"}}</div>
<fieldset class="drop-section take-section">
<legend class="levelup-legend">
{{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.Take"}}
</legend>
<div class="drop-section-body">
{{#each source.system.inventory.take}}
<div data-action="viewItem" data-item="{{this.uuid}}" class="suggested-item">
<img src="{{this.img}}" />
<div>{{this.name}}</div>
<i data-action="removeItem" data-type="take" data-item="{{this.uuid}}" class="fa-solid fa-trash icon-button"></i>
</div>
{{/each}}
</div>
</fieldset>
<fieldset class="drop-section choice-a-section">
<legend class="levelup-legend">
{{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.ThenChoose"}}
</legend>
<div class="drop-section-body">
{{#each source.system.inventory.choiceA}}
<div data-action="viewItem" data-item="{{this.uuid}}" class="suggested-item">
<img src="{{this.img}}" />
<div>{{this.name}}</div>
<i data-action="removeItem" data-type="choiceA" data-item="{{this.uuid}}" class="fa-solid fa-trash icon-button"></i>
</div>
{{/each}}
</div>
</fieldset>
<fieldset class="drop-section choice-b-section">
<legend class="levelup-legend">
{{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.AndEither"}}
</legend>
<div class="drop-section-body">
{{#each source.system.inventory.choiceB}}
<div data-action="viewItem" data-item="{{this.uuid}}" class="suggested-item">
<img src="{{this.img}}" />
<div>{{this.name}}</div>
<i data-action="removeItem" data-type="choiceB" data-item="{{this.uuid}}" class="fa-solid fa-trash icon-button"></i>
</div>
{{/each}}
</div>
</fieldset>
</div>
<div class="flex-col-centered">
<div class="guide-section-title-centered">{{localize "DAGGERHEART.Sheets.Class.Guide.Description.Title"}}</div>
<div class="choice-a-section">
<div class="inventory-title">{{localize "DAGGERHEART.Sheets.Class.Guide.Description.Explanation"}}</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.Guide.Description.Clothes"}}</label>
<div class="form-fields">
<input type="text" name="system.characterGuide.characterDescription.clothes" value="{{source.system.characterGuide.characterDescription.clothes}}" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.Guide.Description.Eyes"}}</label>
<div class="form-fields">
<input type="text" name="system.characterGuide.characterDescription.eyes" value="{{source.system.characterGuide.characterDescription.eyes}}" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.Guide.Description.Body"}}</label>
<div class="form-fields">
<input type="text" name="system.characterGuide.characterDescription.body" value="{{source.system.characterGuide.characterDescription.body}}" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.Guide.Description.Color"}}</label>
<div class="form-fields">
<input type="text" name="system.characterGuide.characterDescription.color" value="{{source.system.characterGuide.characterDescription.color}}" />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Class.Guide.Description.Attitude"}}</label>
<div class="form-fields">
<input type="text" name="system.characterGuide.characterDescription.attitude" value="{{source.system.characterGuide.characterDescription.attitude}}" />
</div>
</div>
</div>
<fieldset class="drop-section">
<legend class="levelup-legend">
{{localize "DAGGERHEART.Sheets.Class.Guide.Extra.Title"}}
</legend>
<div class="extra-section">
<div class="extra-title">{{localize "DAGGERHEART.Sheets.Class.Guide.Extra.Subtitle"}}</div>
<input class="extra-input" type="text" name="system.inventory.extra.title" value="{{source.system.inventory.extra.title}}" />
<textarea name="system.inventory.extra.description">{{source.system.inventory.extra.description}}</textarea>
</div>
</fieldset>
</div>
</div>
<div class="guide-section flexrow flex2">
<fieldset class="drop-section">
<legend>{{localize "DAGGERHEART.Sheets.Class.Guide.BackgroundQuestions.Title"}}</legend>
<div class="flex-col-centered">
{{#times 3}}
<div class="guide-section-title-centered">{{localize "DAGGERHEART.Sheets.Class.Guide.BackgroundQuestions.Question"}} {{add this 1}}</div>
<input type="text" name="system.characterGuide.backgroundQuestions.{{this}}" value="{{lookup ../source.system.characterGuide.backgroundQuestions this}}" />
{{/times}}
</div>
</fieldset>
<fieldset class="drop-section">
<legend>
{{localize "DAGGERHEART.Sheets.Class.Guide.Connections.Title"}}
</legend>
<div class="flex-col-centered">
{{#times 3}}
<div class="guide-section-title-centered">{{localize "DAGGERHEART.Sheets.Class.Guide.Connections.Question"}} {{add this 1}}</div>
<input type="text" name="system.characterGuide.connections.{{this}}" value="{{lookup ../source.system.characterGuide.connections this}}" />
{{/times}}
</div>
</fieldset>
</div>
</div>
</div>
</section>
</div>

View file

@ -0,0 +1,11 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
</header>
{{> "systems/daggerheart/templates/sheets/parts/heritage.hbs" }}
</div>

View file

@ -0,0 +1,36 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
</header>
<section class="sheet-body">
<div class="flexrow item-container">
<div class="item-sidebar">
{{formField systemFields.quantity value=source.system.quantity label=(localize "DAGGERHEART.Sheets.Consumable.Quantity") }}
{{formField systemFields.consumeOnUse value=source.system.consumeOnUse label=(localize "DAGGERHEART.Sheets.Consumable.ConsumeOnUse")}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Consumable.Quantity"}}</label>
<div class="form-fields">
<input type="text" name="system.quantity" value="{{item.system.quantity}}" data-dtype="Number" />
</div>
</div> --}}
{{!-- <div class="form-group flexrow">
<label>{{localize "DAGGERHEART.Sheets.Consumable.ConsumeOnUse"}}</label>
<div class="form-fields flex0">
<input type="checkbox" name="system.consumeOnUse" {{checked item.system.consumeOnUse}} />
</div>
</div> --}}
</div>
<div>
<h2 class="flex-col-centered">{{localize "DAGGERHEART.General.Description"}}</h2>
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
{{!-- {{editor item.system.description target="system.description" button=true}} --}}
</div>
</div>
</section>
</div>

View file

@ -0,0 +1,101 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{source.img}}" data-edit="img" data-action="onEditImage" title="{{source.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
<nav class="sheet-tabs tabs">
{{#each tabs as |tab|}}
<a class="{{tab.cssClass}}" data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}">
<i class="{{tab.icon}}"></i>
<label>{{localize tab.label}}</label>
</a>
{{/each}}
</nav>
</header>
<section class="sheet-body">
<div class="tab {{this.tabs.general.cssClass}}" data-group="primary" data-tab="general">
{{formField systemFields.type value=source.system.type label="Type" localize=true blank=""}}
{{formField systemFields.foundation value=source.system.foundation label="Foundation" }}
{{formField systemFields.domain value=source.system.domain label="Domain" localize=true blank=""}}
{{formField systemFields.level value=source.system.level label="level" data-dtype="Number"}}
{{formField systemFields.recallCost value=source.system.recallCost label="Recall Cost" data-dtype="Number"}}
{{formField systemFields.effect value=source.system.effect label="Description" enriched=source.system.effect toggled=true}}
</div>
<div class="tab {{this.tabs.actions.cssClass}}" data-group="primary" data-tab="actions">
<h2>{{localize "Actions"}} <i class="fa-solid fa-plus icon-button" data-action="addAction"></i></h2>
<div class="flexrow">
{{#each source.system.actions as |action index|}}
<div data-action="editAction" data-index="{{index}}" class="ability-chip">
<img src="{{action.img}}" />
<div>{{action.name}}</div>
<button data-action="removeAction" data-index="{{index}}"><i class="fa-solid fa-x"></i></button>
</div>
{{/each}}
</div>
</div>
</section>
</div>
{{!-- <form class={{cssClass}} autocomplete="off">
<header class="flexcol">
<div class="flexrow">
<img class="flex0" src="{{item.img}}" data-edit="img" title="{{item.name}}" height="64" width="64"/>
<div class="title-name">
<h2><input name="name" type="text" value="{{item.name}}" placeholder="{{ localize 'Name' }}"/></h2>
</div>
</div>
</header>
<section class="sheet-body">
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Category"}}</label>
<div class="form-fields">
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Type"}}</label>
<select name="system.type">
{{selectOptions config.DOMAIN.cardTypes selected=item.system.type labelAttr="name" localize=true blank=""}}
</select>
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Foundation"}}</label>
<input name="system.foundation" type="checkbox" {{checked item.system.foundation}} />
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Domain"}}</label>
<div class="form-fields">
<select name="system.domain">
{{selectOptions config.DOMAIN.domains selected=item.system.domain labelAttr="name" localize=true blank=""}}
</select>
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Costs"}}</label>
<div class="form-fields">
<label>{{localize "DAGGERHEART.Sheets.DomainCard.Level"}}</label>
<input name="system.level" value="{{item.system.level}}" type="text" data-dtype="Number" />
<label>{{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}}</label>
<input name="system.recallCost" value="{{item.system.recallCost}}" type="text" data-dtype="Number" />
</div>
</div>
<div class="domain-card-description">
<h2>{{localize "DAGGERHEART.Sheets.DomainCard.Description"}}</h2>
{{editor item.system.effect target="system.effect" button=true}}
</div>
</section>
<h2>{{localize "Actions"}} <i class="fa-solid fa-plus icon-button" data-action="addAction"></i></h2>
<div class="flexrow">
{{#each this.actions as |action index|}}
<div data-action="editAction" data-index="{{index}}" class="ability-chip">
<img src="{{action.img}}" />
<div>{{action.name}}</div>
<button data-action="removeAction" data-index="{{index}}"><i class="fa-solid fa-x"></i></button>
</div>
{{/each}}
</div>
</form> --}}

View file

@ -0,0 +1,111 @@
<div>
<header class="adversary-header-container">
<div class="adversary-header flexrow">
<img class="flex0" src="{{source.img}}" data-action="onEditImage" data-edit="img" title="{{source.name}}" height="64" width="64"/>
<div class="adversary-title">
{{#if this.editMode}}
<input class="title-text" name="name" type="text" value="{{source.name}}" placeholder="{{ localize 'Name' }}"/>
{{else}}
<div class="title-text">{{source.name}}</div>
{{/if}}
</div>
</div>
<i class="fa-solid fa-wrench icon-button secondary {{#if this.editMode}}active{{/if}}" data-action="toggleSlider" style="position: absolute; right: 4px; top: 4px;"></i>
</header>
<section class="sheet-body">
{{#if this.editMode}}
<div>
<h2>{{localize "DAGGERHEART.Sheets.Adversary.Description"}}</h2>
<textarea name="system.description">{{source.system.description}}</textarea>
<h2>{{localize "DAGGERHEART.Sheets.Environment.ToneAndFeel"}}</h2>
<textarea name="system.toneAndFeel">{{source.system.toneAndFeel}}</textarea>
</div>
<div class="flexrow" style="align-items: baseline;">
<div class="adversary-statistics-container">
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Tier"}}</label>
<div class="form-fields">
<select name="system.tier">
{{selectOptions config.GENERAL.tiers selected=source.system.tier labelAttr="key"}}
</select>
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Type"}}</label>
<div class="form-fields">
<select name="system.type">
{{selectOptions config.ACTOR.adversaryTypes selected=source.system.type labelAttr="name" localize=true}}
</select>
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Adversary.Difficulty"}}</label>
<div class="form-fields">
<input type="text" name="system.difficulty" value="{{source.system.difficulty}}" data-dtype="Number" />
</div>
</div>
<h2>{{localize "DAGGERHEART.Sheets.Environment.PotentialAdversaries"}}</h2>
<textarea name="system.potentialAdversaries">{{source.system.potentialAdversaries}}</textarea>
</div>
<div class="adversary-moves-container">
<h2 class="moves-edit-container">{{localize "DAGGERHEART.Sheets.Adversary.Moves"}} <i class="fa-solid fa-plus" data-action="addFeature"></i></h2>
{{#each data.features as |feature key|}}
<div class="chip-container">
<div class="chip-inner-container">
<img src="{{feature.img}}" />
<div class="move-title">{{feature.name}}</div>
</div>
<div class="chip-inner-container">
<button data-action="viewFeature" data-feature={{feature.uuid}}><i class="fa-solid fa-fw fa-search"></i></button>
<button data-action="removeFeature" data-feature={{feature.uuid}}><i class="fa-solid fa-trash"></i></button>
</div>
</div>
{{/each}}
</div>
</div>
{{else}}
<div class="motive-container">
<div class="motive-title">
<span class="motive-title-value"><strong>{{localize "DAGGERHEART.Sheets.Adversary.Description"}}:</strong> {{source.system.description}}</span>
</div>
<div class="motive-title">
<span class="motive-title-value"><strong>{{localize "DAGGERHEART.Sheets.Environment.ToneAndFeel"}}:</strong> {{source.system.toneAndFeel}}</span>
</div>
</div>
<div class="flexrow" style="align-items: baseline;">
<div class="adversary-statistics-container">
<div class="statistic-section">
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Tier"}}:</label>
<span class="statistic-value">{{source.system.tier}}</span>
</div>
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Type"}}:</label>
<span class="statistic-value">{{this.data.type}}</span>
</div>
</div>
<div class="statistic-section">
<div class="statistic-row">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Adversary.Difficulty"}}:</label>
<span class="statistic-value">{{source.system.difficulty}}</span>
</div>
</div>
<div class="statistic-section">
<label class="statistic-title">{{localize "DAGGERHEART.Sheets.Environment.PotentialAdversaries"}}:</label>
<span>{{source.system.potentialAdversaries}}</span>
</div>
</div>
<div class="adversary-moves-container">
<div class="moves-title">{{localize "DAGGERHEART.Sheets.Adversary.Moves"}}</div>
{{#each data.features as |feature index|}}
<div class="move-container" data-action="useFeature" data-feature="{{feature.uuid}}" data-action-type="{{feature.system.actionType}}">
<label class="moves-name">{{feature.name}} - {{feature.system.actionType}}</label>
<div class="move-description">{{{feature.system.description}}}</div>
</div>
{{/each}}
</div>
</div>
{{/if}}
</section>
</div>

View file

@ -0,0 +1,80 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
<nav class="sheet-tabs tabs">
{{#each tabs as |tab|}}
<a class="{{tab.cssClass}}" data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}">
<i class="{{tab.icon}}"></i>
<label>{{localize tab.label}}</label>
</a>
{{/each}}
</nav>
</header>
<section class="sheet-body">
<div class="tab {{this.tabs.features.cssClass}}" data-group="primary" data-tab="features">
<div class="feature-description">
{{formField systemFields.type value=source.system.type rootId=partId label="DAGGERHEART.Sheets.Feature.FeatureType" localize=true }}
{{formField systemFields.actionType value=source.system.actionType label="DAGGERHEART.Sheets.Feature.ActionType" rootId=partId localize=true }}
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Feature.RefreshType"}}</label>
<div class="form-fields">
{{formField systemFields.refreshData.fields.type value=source.system.refreshData.type rootId=partId label="Type" localize=true }}
{{#if document.system.refreshData.type}}
<label>Uses</label>
<input type="text" name="system.refreshData.uses" value="{{document.system.refreshData.uses}}" data-dtype="Number" />
{{/if}}
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Feature.ValueType.Title"}}</label>
<div class="flexcol">
<div class="form-fields">
{{#if (eq document.system.featureType.type "dice")}}
<label>{{localize "DAGGERHEART.Sheets.Feature.ValueType.Type"}}</label>
{{/if}}
<select name="system.featureType.type">
{{selectOptions this.itemConfig.valueTypes selected=document.system.featureType.type labelAttr="name" localize=true}}
</select>
{{#if (eq document.system.featureType.type "dice")}}
<label>{{localize "DAGGERHEART.Sheets.Feature.ValueType.Dice"}}</label>
<select name="system.featureType.data.value">
{{selectOptions this.dice selected=document.system.featureType.data.value }}
</select>
<label>{{localize "DAGGERHEART.Sheets.Feature.Max"}}</label>
<input type="text" name="system.featureType.data.max" value="{{document.system.featureType.data.max}}" />
<label>{{localize "DAGGERHEART.Sheets.Feature.ValueType.Property"}}</label>
<select name="system.featureType.data.property">
{{selectOptions this.properties selected=document.system.featureType.data.property labelAttr="name" localize=true}}
</select>
{{/if}}
</div>
</div>
</div>
<h2>{{localize "DAGGERHEART.Sheets.Feature.Description"}}</h2>
{{!-- {{editor document.system.description target="system.description" button=true}} --}}
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
</div>
</div>
<div class="tab {{this.tabs.effects.cssClass}}" data-group="primary" data-tab="effects">
{{> "systems/daggerheart/templates/sheets/parts/effects.hbs" config=this.effectConfig selectedEffectType=this.selectedEffectType effects=document.system.effects}}
</div>
<div class="tab {{this.tabs.actions.cssClass}}" data-group="primary" data-tab="actions">
<h2>{{localize "Actions"}} <i class="fa-solid fa-plus icon-button" data-action="addAction"></i></h2>
<div class="flexrow">
{{#each document.system.actions as |action index|}}
<div data-action="editAction" data-index="{{index}}" class="ability-chip">
<img src="{{action.img}}" />
<div>{{action.name}}</div>
<button data-action="removeAction" data-index="{{index}}"><i class="fa-solid fa-x"></i></button>
</div>
{{/each}}
</div>
</div>
</section>
</div>

View file

@ -0,0 +1,29 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{source.img}}" data-edit="img" data-action="onEditImage" title="{{source.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
</header>
<section class="sheet-body">
<div class="flexrow item-container">
<div class="item-sidebar">
{{formField systemFields.quantity value=source.system.quantity label=(localize "DAGGERHEART.Sheets.Miscellaneous.Quantity")}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Miscellaneous.Quantity"}}</label>
<div class="form-fields">
<input type="text" name="system.quantity" value="{{item.system.quantity}}" data-dtype="Number" />
</div>
</div> --}}
</div>
<div>
<h2 class="flex-col-centered">{{localize "DAGGERHEART.General.Description"}}</h2>
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
{{!-- {{editor item.system.description target="system.description" button=true}} --}}
</div>
</div>
</section>
</div>

View file

@ -0,0 +1,19 @@
<fieldset class="left-main-container armor-section active-item-section item-section">
<legend class="legend armor-container">
<span>{{localize "DAGGERHEART.Sheets.PC.Armor.Title"}}</span>
{{#if armor}}
<div data-action="viewObject" data-value="{{armor.uuid}}" class="active-item-label-chip">
<img src="{{armor.img}}" />
<button data-action="removeActiveItem" data-item="{{armor.uuid}}"><i class="fa-solid fa-x"></i></button>
</div>
{{/if}}
</legend>
<div class="active-item-container">
<div class="flexrow">
<input value="{{armor.name}}" type="text" />
<input value="{{armor.system.baseScore}}" type="text" />
</div>
<input value="{{localize armor.system.featureInfo.name}} {{#if armor.system.featureInfo}}({{localize armor.system.featureInfo.description}}){{/if}}" type="text" />
</div>
</fieldset>

View file

@ -0,0 +1,39 @@
<fieldset class="abilities-container">
<legend class="legend">
{{localize "Attributes"}}
<i data-action="toggleEditAttributes" title="{{localize "DAGGERHEART.Sheets.PC.Attributes.AttributeBaseMenuTitle"}}" class="fa-solid fa-gear icon-button" style="position: absolute; top: 1px; right: calc(50% - 56px); background: url(../ui/parchment.jpg) repeat;"></i>
</legend>
{{#each this.attributes as |attribute key|}}
<div class="attribute">
<div class="attribute-banner">
<img class="attribute-roll" data-action="attributeRoll" data-value="{{attribute.data.value}}" src="icons/svg/d12-grey.svg" />
<div class="attribute-text">{{key}}</div>
</div>
<div class="attribute-mark {{#if (and (not attribute.levelMark) (and (not (includes attribute.levelMarks ../document.system.levelData.currentLevel)) (gt ../document.system.availableAttributeMarks.length 0)))}}selectable{{/if}}" data-action="toggleAttributeMark" data-attribute="{{key}}">
<i class="fa-solid fa-check {{#if attribute.levelMark}}selected{{/if}}"></i>
</div>
<div class="attribute-image">
{{#if ../editAttributes}}
<select class="attribute-value{{#if (lt attribute.data.base 0)}} negative{{/if}}{{#if (and (not attribute.data.base) (not ../abilityScoresFinished))}} unselected{{/if}}" data-attribute="{{key}}">
{{#if (not (eq attribute.data.base 0))}}<option value="">{{attribute.data.base}}</option>{{/if}}
{{#each ../abilityScoreArray as |option|}}
<option value="{{option.value}}"{{#if (eq option.value attribute.data.base)}} selected="selected"{{/if}}>{{option.name}}</option>
{{/each}}
</select>
{{else}}
<div class="attribute-text {{#if (lt attribute.data.value 0)}}negative{{/if}}">{{attribute.data.value}}</div>
{{/if}}
<img src="systems/daggerheart/assets/AttributeShield.svg" />
<div>
{{#each this.descriptors}}
<div class="descriptor">{{this}}</div>
{{/each}}
</div>
</div>
{{#each attribute.verbs}}
<div class="attribute-verb">{{this}}</div>
{{/each}}
</div>
{{/each}}
</fieldset>

View file

@ -0,0 +1,31 @@
<fieldset class="left-main-container">
<legend class="legend">{{localize "Defense"}}</legend>
<div class="defense-row">
<div class="defense-section">
<div class="defense-container">
<div class="defense-value">{{document.system.evasion}}</div>
<img src="systems/daggerheart/assets/AttributeShield.svg" />
<div class="defense-banner">{{localize "DAGGERHEART.Sheets.PC.Defense.Evasion"}}</div>
</div>
</div>
<div class="vertical-separator" style="height: 84px; align-self: baseline; margin-right: 8px;"></div>
<div class="defense-section armor">
<div class="defense-container">
<div class="defense-value">{{#if document.system.armor.system.baseScore}}{{document.system.armor.system.baseScore}}{{else}}0{{/if}}</div>
<img src="systems/daggerheart/assets/AttributeShield.svg" />
<div class="defense-banner">{{localize "DAGGERHEART.Sheets.PC.Defense.Armor"}}</div>
</div>
<div class="armor-marks">
{{#times (subtract 12 document.system.armorMarks.max)}}
<input class="mark disabled-mark" type="checkbox" disabled />
{{/times}}
{{#times document.system.armorMarks.max}}
{{#with (add this 1)}}
<input class="mark" type="checkbox" data-action="toggleMarks" data-value="{{this}}" {{ checked (gte ../../document.system.armor.system.marks.value this) }} />
{{/with}}
{{/times}}
</div>
</div>
</div>
</fieldset>

View file

@ -0,0 +1,26 @@
<div class="abilities-card">
<div class="abilities-card-image-container">
<img class="abilities-card-image" src="{{card.img}}" />
<div class="abilities-card-level">{{card.system.level}} <img src="icons/svg/sword.svg" /></div>
{{#if inVault}}
<div class="abilities-card-refresh-cost icon-button {{#if card.sendToLoadoutDisabled}}disabled{{/if}}" data-action="sendToLoadout" data-domain="{{card.uuid}}" title="{{localize "DAGGERHEART.Sheets.PC.DomainCard.Recall"}}">
{{card.system.recallCost}} <i class="fa-solid fa-bolt"></i>
</div>
{{else}}
<div class="abilities-card-refresh-cost icon-button" data-action="sendToVault" data-domain="{{card.uuid}}" title="{{localize "DAGGERHEART.Sheets.PC.DomainCard.ToVault"}}">
{{card.system.recallCost}} <i class="fa-solid fa-bolt"></i>
</div>
{{/if}}
<div class="abilities-card-type">
<div class="abilities-card-type-text">{{card.system.type}}</div>
</div>
</div>
<div class="abilities-text-container domain">
<div class="abilities-card-title">{{card.name}}</div>
{{#if inVault}}
<div class="abilities-card-description">{{{card.system.effect}}}</div>
{{else}}
<div class="abilities-card-description abilities-card-effect" data-action="useDomainCard" data-key="{{card.uuid}}" data-domain="{{card.system.domain}}">{{{card.system.effect}}}</div>
{{/if}}
</div>
</div>

View file

@ -0,0 +1,69 @@
<div>
<h2>
{{localize "Effects"}}
<select class="effect-select">
{{selectOptions this.config.effectTypes selected=this.selectedEffectType labelAttr="name" localize=true blank=""}}
</select>
<i class="fa-solid fa-plus icon-button {{#if (not this.selectedEffectType)}}disabled{{/if}}" data-action="addEffect"></i>
</h2>
{{#each this.effects as |effect key|}}
<fieldset>
<legend>
{{effect.type}}
<i class="fa-solid fa-trash icon-button flex0" data-action="removeEffect" data-effect="{{key}}"></i>
</legend>
{{#if effect.applyLocationChoices}}
<div class="form-group">
<label>Apply Location</label>
<select name="system.effects.{{key}}.appliesOn">
{{selectOptions effect.applyLocationChoices selected=effect.appliesOn localize=true}}
</select>
</div>
{{/if}}
{{#if (eq effect.valueType ../config.valueTypes.numberString.id)}}
{{#if (eq effect.type ../config.effectTypes.damage.id) }}
<div class="form-group">
{{!-- <label></label> --}}
<div class="form-fields">
<label>Value</label>
<input type="text" name="system.effects.{{key}}.valueData.value" value="{{effect.valueData.value}}" />
<label style="text-wrap: nowrap;">Initially Selected</label>
<input type="checkbox" name="system.effects.{{key}}.initiallySelected" {{checked effect.initiallySelected}} />
</div>
</div>
{{!-- <div class="flexrow">
<input type="text" name="system.effects.{{key}}.valueData.value" value="{{effect.valueData.value}}" />
<i class="fa-solid fa-trash icon-button flex0" data-action="removeEffect" data-effect="{{key}}"></i>
</div> --}}
<div class="form-group">
<label>Hope Increase</label>
<div class="form-fields">
<input type="text" name="system.effects.{{key}}.valueData.hopeIncrease" value="{{effect.valueData.hopeIncrease}}" />
</div>
</div>
{{else}}
<div class="form-group">
{{!-- <label></label> --}}
<div class="form-fields">
<label>Value</label>
<input type="text" name="system.effects.{{key}}.valueData.value" value="{{effect.valueData.value}}" />
</div>
</div>
{{/if}}
{{/if}}
{{#if (eq effect.valueType ../config.valueTypes.select.id)}}
<div class="flexrow">
<select name="system.effects.{{key}}.valueData.fromValue" value="{{effect.valueData.fromValue}}">
{{selectOptions effect.options selected=effect.valueData.fromValue labelAttr="name" nameAttr="value" localize=true blank="" }}
</select>
</div>
<div class="flexrow">
<select name="system.effects.{{key}}.valueData.value" value="{{effect.valueData.value}}">
{{selectOptions effect.options selected=effect.valueData.value labelAttr="name" nameAttr="value" localize=true blank="" }}
</select>
</div>
{{/if}}
</fieldset>
{{/each}}
</div>

View file

@ -0,0 +1,15 @@
<fieldset class="left-main-container experience-container">
<legend class="legend">{{localize "DAGGERHEART.Sheets.PC.Experience.Title"}}</legend>
{{#each document.system.experiences as |experience index|}}
<div class="experience-row">
<input class="experience-description" data-index={{index}} value="{{experience.description}}" type="text" />
<div class="experience-value">{{experience.value}}</div>
</div>
{{/each}}
{{#times (subtract 5 document.system.experiences.length)}}
<div class="experience-row">
<input type="text" class="disabled-experience" disabled />
<div class="experience-value empty"></div>
</div>
{{/times}}
</fieldset>

View file

@ -0,0 +1,48 @@
<fieldset class="left-main-container" style="flex: 1;">
<legend class="legend">
{{#if this.document.system.class}}
{{#if this.document.system.multiclass}}
<span class="class-feature-selectable {{#if this.multiclass}}inactive{{/if}}" data-action="selectFeatureSet" data-multiclass="false">{{this.document.system.class.name}}&nbsp;{{localize "DAGGERHEART.General.Features"}}</span>
/&nbsp;
<span class="class-feature-selectable {{#if (not this.multiclass)}}inactive{{/if}}" data-action="selectFeatureSet" data-multiclass="true">{{this.document.system.multiclass.name}}&nbsp;{{localize "DAGGERHEART.General.Features"}}</span>
{{else}}
<span>{{this.document.system.class.name}}&nbsp;{{localize "DAGGERHEART.General.Features"}}</span>
{{/if}}
{{else}}
<span>{{localize "DAGGERHEART.Sheets.PC.Features.Title"}}</span>
{{/if}}
</legend>
<div class="features-container" style="font-size: 11px;">
{{#each this.features as |feature index|}}
<div class="feature-container">
<img class="feature-img" src="{{feature.img}}" />
<div class="feature-label icon-button" data-action="viewObject" data-value="{{feature.uuid}}">{{feature.name}}</div>
<button data-action="useFeature" data-id="{{feature.uuid}}"><i class="fa-solid fa-message"></i></button>
</div>
<div class="flexrow flex-centered">
<div>{{{feature.system.description}}}</div> {{!-- Maybe maybe --}}
{{#if (eq feature.system.featureType.type 'input')}}
<input class="feature-input flex0" type="text" data-feature="{{feature.uuid}}" value="{{feature.system.featureType.data.value}}" data-dtype="Number" />
{{/if}}
{{#if (eq feature.system.featureType.type 'dice')}}
<div class="feature-tick-container">
{{#times feature.system.featureType.data.max}}
{{#if (gt ../this.system.featureType.data.property this)}}
<div data-action="toggleFeatureDice" data-feature="{{../this.uuid}}" data-index="{{this}}" class="feature-tick {{#if (lookup (lookup ../this.system.featureType.data.numbers this) 'used')}}used{{/if}}">
{{#if (lookup (lookup ../this.system.featureType.data.numbers this) 'value')}}
<div class="feature-dice-value">{{lookup (lookup ../this.system.featureType.data.numbers this) 'value'}}</div>
{{else}}
<img src="icons/dice/{{../this.system.featureType.data.value}}black.svg" />
{{/if}}
</div>
{{else}}
<div class="feature-tick disabled"></div>
{{/if}}
{{/times}}
</div>
{{/if}}
</div>
{{/each}}
</div>
</fieldset>

View file

@ -0,0 +1,88 @@
<fieldset class="left-main-container" style="padding-top: 0; margin-top: 8px;">
<legend class="legend" style="line-height: 2px;">{{localize "DAGGERHEART.Sheets.PC.Gold.Title"}}</legend>
<div class="gold-section">
<fieldset class="gold-fieldset">
<legend>
{{localize "DAGGERHEART.Sheets.PC.Gold.Coins"}}
</legend>
<div class="gold-column">
<div class="gold-row">
{{#times 5}}
{{#with (add this 1)}}
<img src="icons/svg/coins.svg" class="{{#if (gte ../../document.system.gold.coins this)}}owned{{/if}}" data-action="toggleGold" data-value="{{this}}" data-type="coins" />
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="hoards" {{ checked (gte ../../document.system.gold.hoards this) }} /> --}}
{{/with}}
{{/times}}
</div>
<div class="gold-row">
{{#times 4}}
{{#with (add this 6)}}
<img src="icons/svg/coins.svg" class="{{#if (gte ../../document.system.gold.coins this)}}owned{{/if}}" data-action="toggleGold" data-value="{{this}}" data-type="coins" />
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="hoards" {{ checked (gte ../../document.system.gold.hoards this) }} /> --}}
{{/with}}
{{/times}}
</div>
</div>
</fieldset>
<fieldset class="gold-fieldset">
<legend>
{{localize "DAGGERHEART.Sheets.PC.Gold.Handfulls"}}
</legend>
<div class="gold-column">
<div class="gold-row">
{{#times 5}}
{{#with (add this 1)}}
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="handfulls" {{ checked (gte ../../document.system.gold.handfulls this) }} /> --}}
<i class="fa-solid fa-coins {{#if (gte ../../document.system.gold.handfulls this)}}owned{{/if}}" data-action="toggleGold" data-value="{{this}}" data-type="handfulls"></i>
{{/with}}
{{/times}}
</div>
<div class="gold-row">
{{#times 4}}
{{#with (add this 6)}}
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="handfulls" {{ checked (gte ../../document.system.gold.handfulls this) }} /> --}}
<i class="fa-solid fa-coins {{#if (gte ../../document.system.gold.handfulls this)}}owned{{/if}}" data-action="toggleGold" data-value="{{this}}" data-type="handfulls"></i>
{{/with}}
{{/times}}
</div>
</div>
</fieldset>
<fieldset class="gold-fieldset">
<legend>
{{localize "DAGGERHEART.Sheets.PC.Gold.Bags"}}
</legend>
<div class="gold-column">
<div class="gold-row">
{{#times 5}}
{{#with (add this 1)}}
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="handfulls" {{ checked (gte ../../document.system.gold.handfulls this) }} /> --}}
<i class="fa-solid fa-sack-dollar {{#if (gte ../../document.system.gold.bags this)}}owned{{/if}}" data-action="toggleGold" data-value="{{this}}" data-type="bags"></i>
{{/with}}
{{/times}}
</div>
<div class="gold-row">
{{#times 4}}
{{#with (add this 6)}}
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="handfulls" {{ checked (gte ../../document.system.gold.handfulls this) }} /> --}}
<i class="fa-solid fa-sack-dollar {{#if (gte ../../document.system.gold.bags this)}}owned{{/if}}" data-action="toggleGold" data-value="{{this}}" data-type="bags"></i>
{{/with}}
{{/times}}
</div>
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="bags" {{ checked (gte ../../document.system.gold.bags this) }} /> --}}
</div>
</fieldset>
<fieldset class="gold-fieldset" style="min-width: 56px;">
<legend>
{{localize "DAGGERHEART.Sheets.PC.Gold.Chests"}}
</legend>
<div class="gold-column">
<img src="icons/svg/chest.svg" class="{{#if (gte document.system.gold.chests 1)}}owned{{/if}}" style="min-height: 32px; min-width: 32px;" data-action="toggleGold" data-value="1" data-type="chests" />
{{!-- <input class="gold-checkbox" type="checkbox" data-action="toggleGold" data-value="{{this}}" data-type="chests" {{ checked (gte ../../document.system.gold.chests this) }} /> --}}
</div>
</fieldset>
</div>
</fieldset>

View file

@ -0,0 +1,58 @@
<fieldset class="left-main-container">
<legend class="legend">{{localize "DAGGERHEART.Sheets.PC.Health.Title"}}</legend>
<div class="threshold-container">
<div class="threshold-box">
{{document.system.damageThresholds.minor}}
</div>
<div class="threshold-spacer">
<i class="fa-solid fa-caret-left"></i>
<div class="health-category">{{localize "DAGGERHEART.Sheets.PC.Health.Minor"}}</div>
</div>
<div class="threshold-box">
{{document.system.damageThresholds.major}}
</div>
<div class="threshold-spacer">
<i class="fa-solid fa-caret-left"></i>
<div class="health-category">{{localize "DAGGERHEART.Sheets.PC.Health.Major"}}</div>
</div>
<div class="threshold-box">
{{document.system.damageThresholds.severe}}
</div>
<div class="threshold-spacer">
<i class="fa-solid fa-caret-left"></i>
<div class="health-category">{{localize "DAGGERHEART.Sheets.PC.Health.Severe"}}</div>
</div>
<i data-action="makeDeathMove" class="fas fa-skull death-save {{#if (lt resources.health.value document.system.resources.health.max)}}disabled{{/if}}" title="{{localize "DAGGERHEART.Sheets.PC.Health.DeathMoveTooltip"}}"></i>
</div>
<div class="flexrow" style="flex-wrap: nowrap; align-items: center;">
<div class="flexcol flex0">
<div class="resource-label">{{localize "DAGGERHEART.Sheets.PC.Health.HealthTitle"}}</div>
<div class="resource-label" style="margin-right: 1px;">{{localize "DAGGERHEART.Sheets.PC.Health.StressTitle"}}</div>
</div>
<div class="flexcol">
<div class="flexrow" style="flex-wrap: nowrap;">
{{#times document.system.resources.health.max}}
{{#with (add this 1)}}
<input class="resource-box" type="checkbox" data-action="toggleHP" data-value="{{this}}" {{ checked (gte ../../document.system.resources.health.value this) }} />
{{/with}}
{{/times}}
{{#times (subtract 12 document.system.resources.health.max)}}
<input class="resource-box disabled" type="checkbox" disabled />
{{/times}}
</div>
<div class="flexrow">
{{#times document.system.resources.stress.max}}
{{#with (add this 1)}}
<input class="resource-box" type="checkbox" data-action="toggleStress" data-value="{{this}}" {{ checked (gte ../../document.system.resources.stress.value this) }} />
{{/with}}
{{/times}}
{{#times (subtract 12 document.system.resources.stress.max)}}
<input class="resource-box disabled" type="checkbox" disabled />
{{/times}}
</div>
</div>
</div>
</fieldset>

View file

@ -0,0 +1,20 @@
<div>
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
<div class="ability-title">
<h2>{{localize "DAGGERHEART.Sheets.Heritage.Title"}}</h2>
</div>
<div>
{{#each source.system.abilities as |ability key|}}
<div class="feature-container">
<div class="feature-inner-container">
<img src="{{ability.img}}" />
<div class="feature-title">{{ability.name}}</div>
</div>
<div class="subclass-inner-container">
<button data-action="editAbility" data-ability={{ability.uuid}}><i class="fa-solid fa-fw fa-search"></i></button>
<button data-action="deleteAbility" data-ability={{ability.uuid}}><i class="fa-solid fa-trash"></i></button>
</div>
</div>
{{/each}}
</div>
</div>

View file

@ -0,0 +1,15 @@
<fieldset class="left-main-container">
<legend class="legend">{{localize "DAGGERHEART.Sheets.PC.Hope.Title"}}</legend>
<div class="flex-spaced">
<span class="hope-text">{{localize "DAGGERHEART.Sheets.PC.Hope.Description"}}</span>
<div class="hope-container">
{{#times 6}}
<span class="hope-inner-container">
<input class="hope-value" type="checkbox" data-action="toggleHope" data-value="{{this}}" {{ checked (gte ../document.system.resources.hope.value this) }} {{#if (gte this ../document.system.resources.hope.max)}}disabled{{/if}} />
{{#if (gte this ../document.system.resources.hope.max)}}<i class="fa-solid fa-droplet-slash hope-scar"></i>{{/if}}
</span>
{{/times}}
</div>
</div>
</fieldset>

View file

@ -0,0 +1,47 @@
<fieldset class="left-main-container" style="flex: 1; display: flex; flex-direction: column;">
<legend class="legend inventory-legend">
{{localize "DAGGERHEART.Sheets.PC.Inventory.Title"}}
</legend>
<div class="inventory-items">
<div class="inventory-weapon-section-first item-section">
<h2 class="armor-container">
{{localize "DAGGERHEART.Sheets.PC.Inventory.InventoryWeapon"}}
{{#if weapons.first}}
<div data-action="viewObject" data-value="{{weapons.first.uuid}}" class="active-item-label-chip">
<img src="{{weapons.first.img}}" />
<button data-action="removeInventoryWeapon" data-item="{{weapons.first.uuid}}"><i class="fa-solid fa-x"></i></button>
</div>
{{/if}}
</h2>
<div class="active-item-container">
<div class="flexrow">
<input value="{{weapons.first.name}}" type="text" />
<input value="{{localize weapons.first.trait}}" type="text" />
<input value="{{localize weapons.first.range.name}}" type="text" />
<input value="{{weapons.first.damage.value}} {{#if weapons.first}}({{localize weapons.first.damage.type.abbreviation}}){{/if}}" type="text" />
</div>
<input value="{{localize weapons.first.feature.name}} {{#if weapons.first.feature}}({{localize weapons.first.feature.description}}){{/if}}" type="text" />
</div>
</div>
<div class="inventory-weapon-section-second item-section">
<h2 class="armor-container">
{{localize "DAGGERHEART.Sheets.PC.Inventory.InventoryWeapon"}}
{{#if weapons.second}}
<div data-action="viewObject" data-value="{{weapons.second.uuid}}" class="active-item-label-chip">
<img src="{{weapons.second.img}}" />
<button data-action="removeInventoryWeapon" data-item="{{weapons.second.uuid}}"><i class="fa-solid fa-x"></i></button>
</div>
{{/if}}
</h2>
<div class="active-item-container">
<div class="flexrow">
<input value="{{weapons.second.name}}" type="text" />
<input value="{{localize weapons.second.trait}}" type="text" />
<input value="{{localize weapons.second.range.name}}" type="text" />
<input value="{{weapons.second.damage.value}} {{#if weapons.second}}({{localize weapons.second.damage.type.abbreviation}}){{/if}}" type="text" />
</div>
<input value="{{localize weapons.second.feature.name}} {{#if weapons.second.feature}}({{localize weapons.second.feature.description}}){{/if}}" type="text" />
</div>
</div>
</div>
</fieldset>

View file

@ -0,0 +1,25 @@
<div>
{{#with (concat "system." featureType "Feature" ".")}}
<div class="editor-form-group">
<label>{{localize "DAGGERHEART.Sheets.Subclass.SubclassFeature.Description"}}</label>
{{formInput ../field.description value=../feature.description enriched=../feature.description localize=true toggled=true}}
{{!-- {{editor ../feature.description target=(concat this "description") button=true}} --}}
</div>
<div class="flexrow">
<h2>{{localize "DAGGERHEART.Sheets.Subclass.SubclassFeature.Abilities"}}</h2>
</div>
{{#each ../feature/abilities as |ability key|}}
<div class="feature-container">
<div class="feature-inner-container">
<img src="{{ability.img}}" />
<div class="feature-title">{{ability.name}}</div>
</div>
<div class="subclass-inner-container">
<button data-action="editAbility" data-ability={{ability.uuid}}><i class="fa-solid fa-fw fa-search"></i></button>
<button data-action="deleteFeatureAbility" data-feature="{{../../featureType}}" data-ability={{ability.uuid}}><i class="fa-solid fa-trash"></i></button>
</div>
</div>
{{/each}}
{{/with}}
</div>

View file

@ -0,0 +1,57 @@
<fieldset class="left-main-container weapon-section active-item-section item-section">
<legend class="legend">
<div class="weapons-title">
<span>{{localize "DAGGERHEART.Sheets.PC.Weapons.Title"}}</span>
<div class="proficiency-container">
<span>{{localize "DAGGERHEART.Sheets.PC.Weapons.ProficiencyTitle"}}</span>
{{#times 6}}
<i class="fa-solid fa-circle proficiency-dot {{#if (gt ../proficiency this)}}marked{{/if}}"></i>
{{/times}}
</div>
<div class="proficiency-container-visual-element"></div>
</div>
<div class="weapons-burden">
<i class="fa-solid fa-hand weapons-burden-icon left {{#if (or (eq weapons.burden "oneHanded") (eq weapons.burden "twoHanded"))}}active{{/if}}"></i>
<i class="fa-solid fa-hand weapons-burden-icon right {{#if (eq weapons.burden "twoHanded")}}active{{/if}}"></i>
</div>
</legend>
<div class="active-item-container">
<h2 class="weapons-label-row">
{{localize "DAGGERHEART.Sheets.PC.Weapons.PrimaryTitle"}}
{{#if weapons.primary}}
<div data-action="viewObject" data-value="{{weapons.primary.uuid}}" class="active-item-label-chip">
<img src="{{weapons.primary.img}}" />
<button data-action="removeActiveItem" data-item="{{weapons.primary.uuid}}"><i class="fa-solid fa-x"></i></button>
</div>
<img class="damage-roll" data-action="attackRoll" data-weapon="{{weapons.primary.uuid}}" src="icons/svg/d12-grey.svg" />
{{/if}}
</h2>
<div class="flexrow">
<input value="{{weapons.primary.name}}" type="text" />
<input value="{{localize weapons.primary.trait}}" type="text" />
<input value="{{localize weapons.primary.range.name}}" type="text" />
<input value="{{weapons.primary.damage.value}} {{#if weapons.primary}}({{localize weapons.primary.damage.type.abbreviation}}){{/if}}" type="text" />
</div>
<input value="{{localize weapons.primary.feature.name}} {{#if weapons.primary.feature}}({{localize weapons.primary.feature.description}}){{/if}}" type="text" />
</div>
<div class="active-item-container">
<h2 class="weapons-label-row">
{{localize "DAGGERHEART.Sheets.PC.Weapons.SecondaryTitle"}}
{{#if weapons.secondary}}
<div data-action="viewObject" data-value="{{weapons.secondary.uuid}}" class="active-item-label-chip">
<img src="{{weapons.secondary.img}}" />
<button data-action="removeActiveItem" data-item="{{weapons.secondary.uuid}}"><i class="fa-solid fa-x"></i></button>
</div>
<img class="damage-roll" data-action="damageRoll" data-value="{{weapons.secondary.damage.value}}" src="icons/svg/d12-grey.svg" />
{{/if}}
</h2>
<div class="flexrow">
<input value="{{weapons.secondary.name}}" type="text" />
<input value="{{localize weapons.secondary.trait}}" type="text" />
<input value="{{localize weapons.secondary.range.name}}" type="text" />
<input value="{{weapons.secondary.damage.value}} {{#if weapons.secondary}}({{localize weapons.secondary.damage.type.abbreviation}}){{/if}}" type="text" />
</div>
<input value="{{localize weapons.secondary.feature.name}} {{#if weapons.secondary.feature}}({{localize weapons.secondary.feature.description}}){{/if}}" style="text-overflow: ellipsis;" type="text" />
</div>
</fieldset>

View file

@ -0,0 +1,27 @@
<div class="abilities-card">
<div class="abilities-card-image-container">
<img class="abilities-card-image" src="{{card.img}}" />
<div class="abilities-card-level">
{{#each card.domains}}
<img src="{{this}}" />
{{/each}}
</div>
<div class="abilities-card-type">
<div class="abilities-card-type-text">{{card.className}}</div>
</div>
</div>
<div class="abilities-text-container">
<div class="abilities-card-title">{{card.subclassName}}</div>
<div class="abilities-card-sub-title">{{card.subtitle}}</div>
{{#if card.spellcast}}<div class="abilities-card-spellcast"><span class="title">Spellcast: </span>&nbsp;<span>{{localize card.spellcast}}</span></div>{{/if}}
<div class="abilities-card-description abilities-card-effect" data-action="useAdvancementCard" data-multiclass="{{card.multiclass}}" data-key="{{card.type}}">{{{card.description}}}</div>
<div class="abilities-card-abilities">
{{#each card.abilities as |ability key|}}
<div class="abilities-card-ability" data-action="useAdvancementAbility" data-id="{{ability.uuid}}" data-key="{{key}}">
<span class="abilities-text"><strong>{{ability.name}}</strong></span>
{{{ability.system.description}}}
</div>
{{/each}}
</div>
</div>
</div>

View file

@ -0,0 +1,18 @@
<div class="abilities-card">
<div class="abilities-card-image-container">
<img class="abilities-card-image" src="{{card.img}}" />
<div class="abilities-card-type"><div class="abilities-card-type-text">{{card.system.type}}</div></div>
</div>
<div class="abilities-text-container">
<div class="abilities-card-title">{{card.name}}</div>
<div class="abilities-card-description">{{{card.system.description}}}</div>
<div class="abilities-card-abilities">
{{#each card.system.abilities as |ability key|}}
<div class="abilities-card-ability" data-action="useAbility" data-feature="{{ability.uuid}}" data-type="{{ability.system.type}}">
<span class="abilities-text"><strong>{{ability.name}}</strong></span>
{{{ability.system.description}}}
</div>
{{/each}}
</div>
</div>
</div>

155
templates/sheets/pc/pc.hbs Normal file
View file

@ -0,0 +1,155 @@
<div>
<header>
<div class="pc-sheet-header">
<div class="class-info">
<div class="flexrow">
<img class="portrait" src="{{document.img}}" alt="{{document.name}}" data-edit="img">
{{#if document.system.class}}
<div class="flexcol">
<h2 class="class-title flex0" data-action="viewObject" data-value="{{document.system.class.uuid}}" data-tab="guide">
<img class="domain-image" src="{{domains.first}}" />
<span>{{document.system.class.name}}</span>
<img class="domain-image" src="{{domains.second}}" />
</h2>
<span class="domain-title flex0">
<span>{{document.system.class.system.domains.[0]}}</span>
<span>and</span>
<span>{{document.system.class.system.domains.[1]}}</span>
</div>
{{else}}
<div class="flexcol">
<h2 class="class-add-container class-title">Class <button data-action="selectClass"><i class="fa-solid fa-plus"></i></button></h2>
</div>
{{/if}}
</div>
</div>
<div class="general-info">
<div class="flexrow">
<div class="flexcol">
<div class="flexrow">
<div class="flexrow">
<div class="general-input">
<span class="general-title">{{localize "DAGGERHEART.Sheets.PC.Name"}}</span>
<input name="name" value="{{document.name}}" type="text" style="padding-left: 50px;" />
</div>
<div class="general-input">
<span class="general-title">{{localize "DAGGERHEART.Sheets.PC.Pronouns"}}</span>
<input name="system.pronouns" value="{{document.system.pronouns}}" type="text" style="padding-left: 84px;" />
</div>
<div class="rest-container">
<button data-action="takeShortRest" title="{{localize "DAGGERHEART.Sheets.PC.ShortRest"}}"><i class="fa-solid fa-chair"></i></button>
<button data-action="takeLongRest" title="{{localize "DAGGERHEART.Sheets.PC.LongRest"}}"><i class="fa-solid fa-bed"></i></button>
</div>
</div>
<div class="level-container {{#if document.system.canLevelUp}}levelup{{/if}}">
<div class="level-value-container">
<input class="level-value {{#if document.system.canLevelUp}}levelup{{/if}}" name="system.levelData.changedLevel" value="{{document.system.levelData.changedLevel}}" type="text" data-dtype="Number" />
{{#if document.system.canLevelUp}}<div class="levelup-marker {{#if (gte document.system.levels.current 10)}}double-digit{{/if}}">*</div>{{/if}}
</div>
<img src="systems/daggerheart/assets/AttributeShield.svg" />
<div class="level-title {{#if document.system.canLevelUp}}levelup{{/if}}">{{localize "DAGGERHEART.Sheets.PC.Level"}}</div>
</div>
</div>
<div class="flexrow">
{{#objectSelector title="Heritage" ids=(join document.system.community.uuid document.system.ancestry.uuid) values=(join document.system.community.name document.system.ancestry.name) titleFontSize=14 style="min-width: 272px;"}}
<button data-action="selectCommunity" class="option-select deeper"><i class="fa-solid fa-house-chimney"></i></button>
<button data-action="selectAncestry" class="option-select"><i class="fa-solid fa-user-large"></i></button>
{{/objectSelector}}
{{#objectSelector title="Subclass" ids=(join document.system.subclass.uuid) values=(join document.system.subclass.name) titleFontSize=14}}
<button data-action="selectSubclass" class="option-select" {{#if (not ../document.system.class)}}disabled{{/if}}><i class="fa-solid fa-fw fa-search"></i></button>
{{/objectSelector}}
</div>
</div>
</div>
<nav class="sheet-tabs tabs">
{{#each tabs.primary as |tab|}}
<a class="{{tab.cssClass}}" data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}">
<i class="{{tab.icon}}"></i>
<label>{{localize tab.label}}</label>
</a>
{{/each}}
</nav>
</div>
</div>
</header>
<section class="sheet-body flexcol">
<div class="tab features {{this.tabs.primary.features.cssClass}}" data-group="primary" data-tab="features">
<div class="tab-container">
<div class="flexcol tab-inner-container">
<div class="system-info">{{localize "DAGGERHEART.General.OpenBetaDisclaimer" version="V1.4"}}</div>
<div class="feature-sheet-body flexrow">
<div class="body-section flex2">
{{> "systems/daggerheart/templates/sheets/parts/defense.hbs" }}
{{> "systems/daggerheart/templates/sheets/parts/health.hbs" }}
{{> "systems/daggerheart/templates/sheets/parts/hope.hbs" }}
{{> "systems/daggerheart/templates/sheets/parts/experience.hbs" }}
{{> "systems/daggerheart/templates/sheets/parts/gold.hbs" }}
{{> "systems/daggerheart/templates/sheets/parts/features.hbs" }}
</div>
<div class="body-section flex3">
{{> "systems/daggerheart/templates/sheets/parts/attributes.hbs" }}
{{> "systems/daggerheart/templates/sheets/parts/weapons.hbs" weapons=document.system.activeWeapons proficiency=document.system.proficiency.value }}
{{> "systems/daggerheart/templates/sheets/parts/armor.hbs" armor=document.system.armor }}
{{> "systems/daggerheart/templates/sheets/parts/inventory.hbs" weapons=document.system.inventoryWeapons }}
</div>
</div>
</div>
</div>
</div>
<div class="tab domain-card-tab {{this.tabs.primary.loadout.cssClass}}" data-group="primary" data-tab="loadout">
{{> "systems/daggerheart/templates/sheets/pc/sections/loadout.hbs" abilities=this.abilities actor=this.document config=this.config }}
</div>
<div class="tab {{this.tabs.primary.inventory.cssClass}}" data-group="primary" data-tab="inventory">
{{> "systems/daggerheart/templates/sheets/pc/sections/inventory.hbs" inventory=this.inventory }}
</div>
<div class="tab {{this.tabs.primary.story.cssClass}}" data-group="primary" data-tab="story">
<div class="flexcol" style="height: 100%;">
<div class="story-container flexrow">
<fieldset class="story-fieldset">
<legend class="story-legend">{{localize "DAGGERHEART.Sheets.PC.Story.BackgroundTitle"}}</legend>
{{editor document.system.story.background target="system.story.background" button=true }}
</fieldset>
<fieldset class="story-fieldset">
<legend class="story-legend">{{localize "DAGGERHEART.Sheets.PC.Story.AppearanceTitle"}}</legend>
{{editor document.system.story.appearance target="system.story.appearance" button=true }}
</fieldset>
</div>
<div class="story-container flexrow">
<fieldset class="story-fieldset">
<legend class="story-legend">{{localize "DAGGERHEART.Sheets.PC.Story.ConnectionsTitle"}}</legend>
{{editor document.system.story.connections target="system.story.connections" button=true }}
</fieldset>
<fieldset class="story-fieldset scars-container">
<legend class="story-legend">
{{localize "DAGGERHEART.Sheets.PC.Story.Scars.Title"}}
<i data-action="addScar" class="fa-solid fa-plus icon-button {{#if (eq document.system.story.scars.length 5)}}disabled{{/if}}"></i>
</legend>
<div class="ability-choices">
{{#each document.system.story.scars as |scar index|}}
<div class="ability-chip {{#if (eq key ../selectedScar)}}selected{{/if}}" data-action="selectScar" data-value="{{index}}">
<input type="text" name="system.story.scars.{{index}}.name" value="{{scar.name}}" />
<button><i data-action="deleteScar" data-scar="{{index}}" class="fa-solid fa-x"></i></button>
</div>
{{/each}}
</div>
{{#with (lookup document.system.story.scars this.selectedScar)}}
{{#if this}}
<div class="editor-form-group">
<label>{{this.name}} - {{localize "Description"}}</label>
{{editor this.description target=(concat "system.story.scars." ../selectedScar ".description") button=true}}
</div>
{{/if}}
{{/with}}
</fieldset>
</div>
</div>
</div>
</section>
<footer>
</footer>
</div>

View file

@ -0,0 +1,32 @@
<div class="inventory-container">
{{#each this.inventory as |section key|}}
<ol class="inventory-item-list inventory-item-header">
<li class="item inventory-title-row-container">
<div class="inventory-title-row">
<div class="inventory-item-title-container">{{section.titles.name}}</div>
<div class="inventory-item-quantity title">{{section.titles.quantity}}</div>
</div>
</li>
</ol>
<ol class="item-list inventory-item-list">
{{#each this.items as |item|}}
<li class="item inventory-item">
<div class="inventory-row" data-item-id="{{item.uuid}}">
<div class="inventory-item-title-container">
<div data-action="viewObject" data-value="{{item.uuid}}" class="inventory-item-title">
<img src="{{item.img}}" />
{{item.name}}
</div>
</div>
<div class="inventory-item-quantity spaced">
<i data-action="itemQuantityDecrease" class="fa-solid fa-chevron-left icon-button {{#if (lte item.system.quantity 1)}}disabled{{/if}}"></i>
<input type="text" data-item="system.quantity" value="{{item.system.quantity}}" data-dtype="Number" />
<i data-action="itemQuantityIncrease" class="fa-solid fa-chevron-right icon-button"></i>
</div>
<i data-action="deleteItem" class="fas fa-trash icon-button secondary row-icon"></i>
</div>
</li>
{{/each}}
</ol>
{{/each}}
</div>

View file

@ -0,0 +1,134 @@
<div class="domain-card-body">
<nav class="pc-tabs loadout-tabs tabs" data-group="secondary">
<a class="item" data-tab="foundation" data-action="tabSwitch">{{localize "DAGGERHEART.Sheets.PC.Tabs.Foundation"}}</a>
<a class="item" data-tab="loadout" data-action="tabSwitch">{{localize "DAGGERHEART.Sheets.PC.Tabs.Loadout"}}</a>
<a class="item" data-tab="vault">{{localize "DAGGERHEART.Sheets.PC.Tabs.Vault"}}</a>
</nav>
<section class="loadout-body flexcol">
<div class="tab" data-group="secondary" data-tab="foundation">
<div class="heritage-container">
<div class="card-row">
<div class="heritage-card {{#if (not abilities.foundation.ancestry)}}outlined{{/if}}">
{{#if abilities.foundation.ancestry}}
{{> "systems/daggerheart/templates/sheets/pc/parts/heritageCard.hbs" card=abilities.foundation.ancestry }}
{{else}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.EmptyAncestry"}}</div>
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.EmptyAncestryTip"}}</div>
</div>
<div class="empty-ability-inner-container"></div>
</div>
{{/if}}
</div>
<div class="heritage-card {{#if (not abilities.foundation.community)}}outlined{{/if}}">
{{#if abilities.foundation.community}}
{{> "systems/daggerheart/templates/sheets/pc/parts/heritageCard.hbs" card=abilities.foundation.community }}
{{else}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.EmptyCommunity"}}</div>
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.EmptyCommunityTip"}}</div>
</div>
<div class="empty-ability-inner-container"></div>
</div>
{{/if}}
</div>
</div>
<div class="card-row">
<div class="heritage-card {{#if (not abilities.foundation.advancement.foundation)}}outlined{{/if}}">
{{#if abilities.foundation.advancement.foundation}}
{{> "systems/daggerheart/templates/sheets/pc/parts/advancementCard.hbs" card=abilities.foundation.advancement.foundation }}
{{else}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.SubclassFoundation"}}</div>
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.SubclassFoundationTip"}}</div>
</div>
<div class="empty-ability-inner-container"></div>
</div>
{{/if}}
</div>
<div class="heritage-card {{#if (not abilities.foundation.advancement.first)}}outlined{{/if}}">
{{#if abilities.foundation.advancement.first}}
{{> "systems/daggerheart/templates/sheets/pc/parts/advancementCard.hbs" card=abilities.foundation.advancement.first }}
{{else}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.Subclass"}}</div>
<div>{{localize "DAGGERHEART.General.Or"}}</div>
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.Multiclass"}}</div>
</div>
<div class="empty-ability-inner-container"><i class="fa-solid fa-lock"></i></div>
</div>
{{/if}}
</div>
<div class="heritage-card {{#if (not abilities.foundation.advancement.second)}}outlined{{/if}}">
{{#if abilities.foundation.advancement.second}}
{{> "systems/daggerheart/templates/sheets/pc/parts/advancementCard.hbs" card=abilities.foundation.advancement.second}}
{{else}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.Subclass"}}</div>
<div>{{localize "DAGGERHEART.General.Or"}}</div>
<div>{{localize "DAGGERHEART.Sheets.PC.Heritage.Multiclass"}}</div>
</div>
<div class="empty-ability-inner-container"><i class="fa-solid fa-lock"></i></div>
</div>
{{/if}}
</div>
</div>
</div>
</div>
<div class="tab" data-group="secondary" data-tab="loadout">
<div class="loadout-container">
<div class="top-card-row">
{{#times 2}}
<div class="domain-card {{#if (not (lookup ../abilities.loadout.top this))}}outlined{{/if}}">
{{#with (lookup ../abilities.loadout.top this)}}
{{> "systems/daggerheart/templates/sheets/parts/domainCard.hbs" card=this inVault=false }}
{{/with}}
{{#if (not (lookup ../abilities.loadout.top this))}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">{{localize "DAGGERHEART.Sheets.PC.DomainCard.AvailableDomainSlot"}}</div>
<div class="empty-ability-inner-container"></div>
</div>
{{/if}}
</div>
{{/times}}
</div>
<div class="card-row">
{{#times 3}}
<div class="domain-card {{#if (not (lookup ../abilities.loadout.bottom this))}}outlined{{/if}}">
{{#with (lookup ../abilities.loadout.bottom this)}}
{{> "systems/daggerheart/templates/sheets/parts/domainCard.hbs" card=this inVault=false }}
{{/with}}
{{#if (gt (add this 3) ../actor/system/domainData.maxLoadout)}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">{{localize "DAGGERHEART.Sheets.PC.DomainCard.UnavailableDomainSlot" level=(add this 2)}}</div>
<div class="empty-ability-inner-container"><i class="fa-solid fa-lock"></i></div>
</div>
{{/if}}
{{#if (and (lte (add this 3) ../actor/system/domainData.maxLoadout) (lt ../abilities.loadout.bottom.length (add this 1)))}}
<div class="empty-ability-container">
<div class="empty-ability-inner-container">{{localize "DAGGERHEART.Sheets.PC.DomainCard.AvailableDomainSlot"}}</div>
<div class="empty-ability-inner-container"></div>
</div>
{{/if}}
</div>
{{/times}}
</div>
</div>
</div>
<div class="tab" data-group="secondary" data-tab="vault">
<div class="vault-container">
{{#each abilities.vault}}
<div class="vault-card">
{{> "systems/daggerheart/templates/sheets/parts/domainCard.hbs" card=this inVault=true }}
</div>
{{/each}}
</div>
</div>
</section>
</div>

View file

@ -0,0 +1,45 @@
<div>
<header class="flexcol">
<div class="title-container">
<img class="flex0" src="{{source.img}}" data-edit="img" data-action="onEditImage" title="{{source.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
<nav class="sheet-tabs tabs">
{{#each tabs as |tab|}}
<a class="{{tab.cssClass}}" data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}">
<i class="{{tab.icon}}"></i>
<label>{{localize tab.label}}</label>
</a>
{{/each}}
</nav>
</header>
<div class="sheet-body">
<div class="tab {{this.tabs.general.cssClass}}" data-group="primary" data-tab="general">
{{formField systemFields.spellcastingTrait value=source.system.spellcastingTrait label=(localize "DAGGERHEART.Sheets.Subclass.SpellcastingTrait") localize=true}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Subclass.SpellcastingTrait"}}</label>
<div class="form-fields">
<select name="system.spellcastingTrait">
{{selectOptions config.ACTOR.abilities selected=item.system.spellcastingTrait labelAttr="name" localize=true blank="" }}
</select>
</div>
</div> --}}
<div class="editor-form-group">
<label>{{localize "DAGGERHEART.Sheets.Subclass.Description"}}</label>
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
{{!-- {{editor item.system.description target="system.description" button=true}} --}}
</div>
</div>
<div class="tab foundation-tab {{this.tabs.foundation.cssClass}}" data-group="primary" data-tab="foundation">
{{> "systems/daggerheart/templates/sheets/parts/subclassFeature.hbs" field=systemFields.foundationFeature.fields feature=source.system.foundationFeature featureType="foundation" }}
</div>
<div class="tab specialization-tab {{this.tabs.specialization.cssClass}}" data-group="primary" data-tab="specialization">
{{> "systems/daggerheart/templates/sheets/parts/subclassFeature.hbs" field=systemFields.specializationFeature.fields feature=source.system.specializationFeature featureType="specialization" }}
</div>
<div class="tab mastery-tab {{this.tabs.mastery.cssClass}}" data-group="primary" data-tab="mastery">
{{> "systems/daggerheart/templates/sheets/parts/subclassFeature.hbs" field=systemFields.masteryFeature.fields feature=source.system.masteryFeature featureType="mastery" }}
</div>
</div>
</div>

View file

@ -0,0 +1,86 @@
<div>
<header class="flexcol">
{{!-- <div class="flexrow">
<img class="flex0" src="{{item.img}}" data-edit="img" title="{{item.name}}" height="64" width="64"/>
<div class="title-name">
<h2><input name="name" type="text" value="{{item.name}}" placeholder="{{ localize 'Name' }}"/></h2>
</div>
</div> --}}
<div class="title-container">
<img class="flex0" src="{{document.img}}" data-edit="img" data-action="onEditImage" title="{{document.name}}" height="64" width="64"/>
<div class="title-name">
{{formInput fields.name value=source.name rootId=partId}}
</div>
</div>
</header>
<section class="sheet-body">
{{formField systemFields.secondary value=source.system.secondary label=(localize "DAGGERHEART.Sheets.Weapon.SecondaryWeapon") }}
{{formField systemFields.trait value=source.system.trait label=(localize "DAGGERHEART.Sheets.Weapon.Trait") localize=true }}
{{formField systemFields.range value=source.system.range label=(localize "DAGGERHEART.Sheets.Weapon.Range") localize=true }}
<div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Weapon.Damage.Title"}}</label>
<div class="form-fields">
{{formGroup systemFields.damage.fields.value value=source.system.damage.value label=(localize "DAGGERHEART.Sheets.Weapon.Damage.Value") }}
{{formGroup systemFields.damage.fields.type value=source.system.damage.type label=(localize "DAGGERHEART.Sheets.Weapon.Damage.Type") localize=true }}
</div>
</div>
{{formField systemFields.burden value=source.system.burden label=(localize "DAGGERHEART.Sheets.Weapon.Burden") localize=true }}
{{formField systemFields.feature value=source.system.feature label=(localize "DAGGERHEART.Sheets.Weapon.Feature") localize=true }}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Weapon.SecondaryWeapon"}}</label>
<div class="form-fields">
<input type="checkbox" name="system.secondary" {{checked item.system.secondary}} />
</div>
</div> --}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Weapon.Trait"}}</label>
<div class="form-fields">
<select name="system.trait">
{{selectOptions config.ACTOR.abilities selected=item.system.trait labelAttr="name" localize=true }}
</select>
</div>
</div> --}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Weapon.Range"}}</label>
<div class="form-fields">
<select name="system.range">
{{selectOptions config.GENERAL.range selected=item.system.range labelAttr="name" localize=true }}
</select>
</div>
</div> --}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Weapon.Damage.Title"}}</label>
<div class="form-fields">
<label>{{localize "DAGGERHEART.Sheets.Weapon.Damage.Value"}}</label>
<input type="text" name="system.damage.value" value="{{item.system.damage.value}}" />
<label>{{localize "DAGGERHEART.Sheets.Weapon.Damage.Type"}}</label>
<select name="system.damage.type">
{{selectOptions config.GENERAL.damageTypes selected=item.system.damage.type labelAttr="name" localize=true }}
</select>
</div>
</div> --}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Weapon.Burden"}}</label>
<div class="form-fields">
<select name="system.burden">
{{selectOptions config.GENERAL.burden selected=item.system.burden localize=true }}
</select>
</div>
</div> --}}
{{!-- <div class="form-group">
<label>{{localize "DAGGERHEART.Sheets.Weapon.Feature"}}</label>
<div class="form-fields">
<select name="system.feature">
{{selectOptions config.ITEM.weaponFeatures selected=item.system.feature labelAttr="name" localize=true blank="" }}
</select>
</div>
</div> --}}
<div class="feature-description">
<h2>{{localize "DAGGERHEART.Sheets.Weapon.Description"}}</h2>
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
{{!-- {{editor item.system.description target="system.description" button=true}} --}}
</div>
</section>
</div>