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,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>