mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
Initial commit
This commit is contained in:
commit
aa4021d1a2
163 changed files with 26530 additions and 0 deletions
27
templates/sheets/pc/parts/advancementCard.hbs
Normal file
27
templates/sheets/pc/parts/advancementCard.hbs
Normal 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> <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>
|
||||
18
templates/sheets/pc/parts/heritageCard.hbs
Normal file
18
templates/sheets/pc/parts/heritageCard.hbs
Normal 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
155
templates/sheets/pc/pc.hbs
Normal 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>
|
||||
32
templates/sheets/pc/sections/inventory.hbs
Normal file
32
templates/sheets/pc/sections/inventory.hbs
Normal 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>
|
||||
134
templates/sheets/pc/sections/loadout.hbs
Normal file
134
templates/sheets/pc/sections/loadout.hbs
Normal 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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue