mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Refactor/84 data models structure (#131)
* - Move all DataModel item files to a new 'items' subfolder for better organization - Add _module.mjs file to simplify imports - Update all import paths - Rename class for use the new acronym DH * FIX: remove unnecessary import * FEAT: BaseDataItem class add TODO comments for future improvements FIX: Remove effect field on template FIX: remove unused DhpEffects file * FEAT: new FormulaField class FEAT: add getRollData on BaseDataItem Class FEAT: weapon FIX: remove inventoryWeapon field on Weapon Data Model * FEAT: add class prepareBaseData for domains * FEAT: new ForeignDocumentUUIDField FIX: Remove unnecessary fields FEAT: use ForeignDocumentUUIDField in the Item Class DataModel * FIX: remove wrong option in String Field * FIX: remove unused import * FIX: ADD htmlFields description in manifest * FIX: minor fixes * REFACTOR: rename folder `data/items` -> `data/item` REFACTOR: rename folder `data/messages` -> `data/chat-message`. * FIX: imports FIX: items sheet new paths FIX: ItemDataModelMetadata type jsdoc * FEAT: formatting code FIX: fix fields used FEAT: add jsdoc * 110 - Class Data Model (#111) * Added PreCreate/Create/Delete logic for Class/Subclass and set it as foreignUUID fields in PC * Moved methods into TypedModelData * Simplified Subclass * Fixed up data model and a basic placeholder template (#117) * 118 - adversary data model (#119) * Fixed datamodel and set up basic template in new style * Added in a temp attack button, because why not * Restored HitPoints counting up * 113 - Character Data Model (#114) * Improved Character datamodel * Removed additional unneccessary getters * Preliminary cleanup in the class sheet * Cleanup of 'pc' references * Corrected Duality rolling from Character * Fix to damage roll * Added a basic BaseDataActor data model * Gathered exports * getRollData recursion fix * Feature/112 items use action datamodel (#127) * Create new actions classes * actions types - attack roll * fixes before merge * First PR * Add daggerheart.css to gitignore * Update ToDo * Remove console log * Fixed chat /dr roll * Remove jQuery * Fixed so the different chat themes work again * Fixed duality roll buttons * Fix to advantage/disadvantage shortcut * Extand action to other item types * Roll fixes * Fixes to adversary rolls * resources * Fixed adversary dice --------- Co-authored-by: WBHarry <williambjrklund@gmail.com> * Feature/116-implementation-of-pseudo-documents (#125) * FEAT: add baseDataModel logic * FEAT: new PseudoDocumentsField FIX: BasePseudoDocument 's getEmbeddedDocument * FEAT: PseudoDocument class * FEAT: add TypedPseudoDocument REFACTOR: PreudoDocument FIX: Typos Bug * FIX: CONFIG types * FEAT: basic PseudoDocumentSheet * FIX: remove schema ADD: input of example --------- Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com> Co-authored-by: WBHarry <williambjrklund@gmail.com> * Levelup Followup (#126) * Levelup applies bonuses to character * Added visualisation of domain card levels * Fixed domaincard level max for selections in a tier * A trait can now only be level up once within the same tier --------- Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com> Co-authored-by: joaquinpereyra98 <24190917+joaquinpereyra98@users.noreply.github.com> Co-authored-by: Dapoulp <74197441+Dapoulp@users.noreply.github.com>
This commit is contained in:
parent
90bc2dc488
commit
187ee3e1bd
153 changed files with 5481 additions and 4829 deletions
9
templates/sheets/actors/adversary/header.hbs
Normal file
9
templates/sheets/actors/adversary/header.hbs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<header class='item-card-header'>
|
||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||
<div class='item-info'>
|
||||
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
||||
<div class='item-description'>
|
||||
<h3>{{localize 'TYPES.Actor.adversary'}}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
17
templates/sheets/actors/adversary/information.hbs
Normal file
17
templates/sheets/actors/adversary/information.hbs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<section
|
||||
class='tab {{tabs.information.cssClass}} {{tabs.information.id}}'
|
||||
data-tab='{{tabs.information.id}}'
|
||||
data-group='{{tabs.information.group}}'
|
||||
>
|
||||
{{!-- <fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.FIELDS.description.label" }}</legend>
|
||||
|
||||
{{formInput systemFields.description value=source.system.description}}
|
||||
</fieldset> --}}
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.FIELDS.motivesAndTactics.label" }}</legend>
|
||||
|
||||
{{formInput systemFields.motivesAndTactics value=source.system.motivesAndTactics}}
|
||||
</fieldset>
|
||||
</section>
|
||||
61
templates/sheets/actors/adversary/main.hbs
Normal file
61
templates/sheets/actors/adversary/main.hbs
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<section
|
||||
class='tab {{tabs.main.cssClass}} {{tabs.main.id}}'
|
||||
data-tab='{{tabs.main.id}}'
|
||||
data-group='{{tabs.main.group}}'
|
||||
>
|
||||
<div class="adversary-container">
|
||||
<button data-action="reactionRoll">Reaction Test</button>
|
||||
<fieldset class="two-columns even">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.General"}}</legend>
|
||||
|
||||
{{formGroup systemFields.tier value=source.system.tier localize=true}}
|
||||
{{formGroup systemFields.type value=source.system.type localize=true}}
|
||||
<div class="full-width">{{formGroup systemFields.difficulty value=source.system.difficulty}}</div>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.DamageThresholds"}}</legend>
|
||||
|
||||
{{formGroup systemFields.damageThresholds.fields.major value=source.system.damageThresholds.major}}
|
||||
{{formGroup systemFields.damageThresholds.fields.severe value=source.system.damageThresholds.severe}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.HitPoints"}}</legend>
|
||||
|
||||
{{formGroup systemFields.resources.fields.hitPoints.fields.value value=source.system.resources.hitPoints.value}}
|
||||
{{formGroup systemFields.resources.fields.hitPoints.fields.max value=source.system.resources.hitPoints.max}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.Stress"}}</legend>
|
||||
|
||||
{{formGroup systemFields.resources.fields.stress.fields.value value=source.system.resources.stress.value}}
|
||||
{{formGroup systemFields.resources.fields.stress.fields.max value=source.system.resources.stress.max}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.Experiences"}} <a><i class="fa-solid fa-plus icon-button" data-action="addExperience"></i></a></legend>
|
||||
|
||||
{{#each source.system.experiences}}
|
||||
<fieldset class="one-column">
|
||||
<legend>{{this.name}} <a><i class="fa-solid fa-trash icon-button" data-action="removeExperience" data-experience="{{@key}}"></i></a></legend>
|
||||
|
||||
{{formGroup @root.systemFields.experiences.element.fields.name name=(concat "system.experiences." @key ".name") value=this.name }}
|
||||
{{formGroup @root.systemFields.experiences.element.fields.value name=(concat "system.experiences." @key ".value") value=this.value }}
|
||||
</fieldset>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="two-columns even">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Adversary.Attack"}}</legend>
|
||||
|
||||
{{formGroup systemFields.attack.fields.name value=source.system.attack.name}}
|
||||
<button data-action="attackRoll">Attack</button>
|
||||
{{formGroup systemFields.attack.fields.modifier value=source.system.attack.modifier}}
|
||||
{{formGroup systemFields.attack.fields.range value=source.system.attack.range localize=true}}
|
||||
{{formGroup systemFields.attack.fields.damage.fields.value value=source.system.attack.damage.value}}
|
||||
{{formGroup systemFields.attack.fields.damage.fields.type value=source.system.attack.damage.type localize=true}}
|
||||
</fieldset>
|
||||
</div>
|
||||
</section>
|
||||
9
templates/sheets/actors/environment/header.hbs
Normal file
9
templates/sheets/actors/environment/header.hbs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<header class='item-card-header'>
|
||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||
<div class='item-info'>
|
||||
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
||||
<div class='item-description'>
|
||||
<h3>{{localize 'TYPES.Actor.environment'}}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
16
templates/sheets/actors/environment/information.hbs
Normal file
16
templates/sheets/actors/environment/information.hbs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<section
|
||||
class='tab {{tabs.information.cssClass}} {{tabs.information.id}}'
|
||||
data-tab='{{tabs.information.id}}'
|
||||
data-group='{{tabs.information.group}}'
|
||||
>
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Environment.description"}}</legend>
|
||||
|
||||
{{formInput systemFields.description value=source.system.description }}
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Environment.impulses"}}</legend>
|
||||
|
||||
{{formInput systemFields.impulses value=source.system.impulses }}
|
||||
</fieldset>
|
||||
</section>
|
||||
37
templates/sheets/actors/environment/main.hbs
Normal file
37
templates/sheets/actors/environment/main.hbs
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<section
|
||||
class='tab {{tabs.main.cssClass}} {{tabs.main.id}}'
|
||||
data-tab='{{tabs.main.id}}'
|
||||
data-group='{{tabs.main.group}}'
|
||||
>
|
||||
<fieldset class="two-columns even">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Environment.general"}}</legend>
|
||||
|
||||
{{formGroup systemFields.tier value=source.system.tier localize=true }}
|
||||
{{formGroup systemFields.type value=source.system.type localize=true }}
|
||||
{{formGroup systemFields.difficulty value=source.system.difficulty localize=true }}
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="one-column">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Environment.potentialAdversaries.label"}}<a><i class="fa-solid fa-plus icon-button" data-action="addAdversary"></i></a></legend>
|
||||
|
||||
{{#each source.system.potentialAdversaries}}
|
||||
<fieldset class="potential-adversary-container" data-potential-adversary="{{@key}}">
|
||||
<legend><input name="{{concat "system.potentialAdversaries." id ".label" }}" value="{{this.label}}" /><i class="fa-solid fa-trash" data-action="deleteProperty" data-path="system.potentialAdversaries" id={{@key}}></i></legend>
|
||||
{{#if (eq (length this.adversaries) 0)}}
|
||||
<div class="adversary-placeholder">{{localize "DAGGERHEART.Sheets.Environment.potentialAdversaries.placeholder"}}</div>
|
||||
{{else}}
|
||||
<div class="adversaries-container">
|
||||
{{#each this.adversaries as |adversary id|}}
|
||||
<div class="adversary-container" data-action="viewAdversary" data-potential-adversary="{{@../key}}" data-adversary="{{id}}">{{adversary.name}}</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
{{/each}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="one-column">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Environment.features.label"}}<a><i class="fa-solid fa-plus icon-button" data-action="addFeature"></i></a></legend>
|
||||
|
||||
</fieldset>
|
||||
</section>
|
||||
|
|
@ -4,17 +4,17 @@
|
|||
<div class="class-info">
|
||||
<div class="flexrow">
|
||||
<img class="portrait" src="{{document.img}}" alt="{{document.name}}" data-edit="img">
|
||||
{{#if document.system.class}}
|
||||
{{#if document.system.class.value}}
|
||||
<div class="flexcol">
|
||||
<h2 class="class-title flex0" data-action="viewObject" data-value="{{document.system.class.uuid}}" data-tab="guide">
|
||||
<h2 class="class-title flex0" data-action="viewObject" data-value="{{document.system.class.value.uuid}}" data-tab="guide">
|
||||
<img class="domain-image" src="{{domains.first}}" />
|
||||
<span>{{document.system.class.name}}</span>
|
||||
<span>{{document.system.class.value.name}}</span>
|
||||
<img class="domain-image" src="{{domains.second}}" />
|
||||
</h2>
|
||||
<span class="domain-title flex0">
|
||||
<span>{{document.system.class.system.domains.[0]}}</span>
|
||||
<span>{{document.system.class.value.system.domains.[0]}}</span>
|
||||
<span>and</span>
|
||||
<span>{{document.system.class.system.domains.[1]}}</span>
|
||||
<span>{{document.system.class.value.system.domains.[1]}}</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="flexcol">
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
{{#if document.system.levelData.canLevelUp}}<div class="levelup-marker">*</div>{{/if}}
|
||||
</div>
|
||||
<img src="systems/daggerheart/assets/AttributeShield.svg" />
|
||||
<div class="level-title {{#if document.system.levelData.canLevelUp}}levelup{{/if}}">{{localize "DAGGERHEART.Sheets.PC.Level"}}</div>
|
||||
<div data-action="levelup" class="level-title {{#if document.system.levelData.canLevelUp}}levelup{{/if}}">{{localize "DAGGERHEART.Sheets.PC.Level"}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
|
|
@ -55,8 +55,8 @@
|
|||
<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 title="Subclass" ids=(join document.system.class.subclass.uuid) values=(join document.system.class.subclass.name) titleFontSize=14}}
|
||||
<button data-action="selectSubclass" class="option-select" {{#if (not ../document.system.class.value)}}disabled{{/if}}><i class="fa-solid fa-fw fa-search"></i></button>
|
||||
{{/objectSelector}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
</div>
|
||||
<div class="body-section flex3">
|
||||
{{> "systems/daggerheart/templates/sheets/parts/attributes.hbs" }}
|
||||
{{> "systems/daggerheart/templates/sheets/parts/weapons.hbs" weapons=document.system.equippedWeapons proficiency=document.system.proficiency.value }}
|
||||
{{> "systems/daggerheart/templates/sheets/parts/weapons.hbs" primaryWeapon=document.system.primaryWeapon secondaryWeapon=document.system.secondaryWeapon weaponBurden=document.system.getWeaponBurden proficiency=document.system.proficiency }}
|
||||
{{> "systems/daggerheart/templates/sheets/parts/armor.hbs" armor=document.system.armor }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -95,10 +95,10 @@
|
|||
</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 }}
|
||||
{{> "systems/daggerheart/templates/sheets/character/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 }}
|
||||
{{> "systems/daggerheart/templates/sheets/character/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%;">
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
<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">
|
||||
<div data-action="useItem" data-value="{{item.uuid}}" class="inventory-item-title">
|
||||
<img src="{{item.img}}" />
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
<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 }}
|
||||
{{> "systems/daggerheart/templates/sheets/character/parts/heritageCard.hbs" card=abilities.foundation.ancestry }}
|
||||
{{else}}
|
||||
<div class="empty-ability-container">
|
||||
<div class="empty-ability-inner-container">
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
</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 }}
|
||||
{{> "systems/daggerheart/templates/sheets/character/parts/heritageCard.hbs" card=abilities.foundation.community }}
|
||||
{{else}}
|
||||
<div class="empty-ability-container">
|
||||
<div class="empty-ability-inner-container">
|
||||
|
|
@ -41,7 +41,7 @@
|
|||
<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 }}
|
||||
{{> "systems/daggerheart/templates/sheets/character/parts/advancementCard.hbs" card=abilities.foundation.advancement.foundation }}
|
||||
{{else}}
|
||||
<div class="empty-ability-container">
|
||||
<div class="empty-ability-inner-container">
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
</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 }}
|
||||
{{> "systems/daggerheart/templates/sheets/character/parts/advancementCard.hbs" card=abilities.foundation.advancement.first }}
|
||||
{{else}}
|
||||
<div class="empty-ability-container">
|
||||
<div class="empty-ability-inner-container">
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
</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}}
|
||||
{{> "systems/daggerheart/templates/sheets/character/parts/advancementCard.hbs" card=abilities.foundation.advancement.second}}
|
||||
{{else}}
|
||||
<div class="empty-ability-container">
|
||||
<div class="empty-ability-inner-container">
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
<a
|
||||
class='effect-control'
|
||||
data-action='editFeature'
|
||||
data-feature={{feature.uuid}}
|
||||
data-feature='{{feature.uuid}}'
|
||||
data-tooltip='{{localize "DAGGERHEART.Tooltip.openItemWorld"}}'
|
||||
>
|
||||
<i class="fa-solid fa-globe"></i>
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
<a
|
||||
class='effect-control'
|
||||
data-action='deleteFeature'
|
||||
data-feature={{feature.uuid}}
|
||||
data-feature='{{feature.uuid}}'
|
||||
data-tooltip='{{localize "DAGGERHEART.Tooltip.delete"}}'
|
||||
>
|
||||
<i class='fas fa-trash'></i>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,5 @@
|
|||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Feature.Description"}}</legend>
|
||||
{{formInput systemFields.description value=source.system.description enriched=source.system.description localize=true toggled=true}}
|
||||
{{formField systemFields.effect value=source.system.effect enriched=source.system.effect toggled=true}}
|
||||
</fieldset>
|
||||
</section>
|
||||
|
|
@ -38,10 +38,10 @@
|
|||
<fieldset class="one-column drop-section primary-weapon-section">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedPrimaryWeaponTitle"}}</legend>
|
||||
<div class="drop-section-body list-items">
|
||||
{{#if source.system.characterGuide.suggestedPrimaryWeapon}}
|
||||
<div class="suggested-item item-line" data-action="viewItem" data-item="{{source.system.characterGuide.suggestedPrimaryWeapon.uuid}}">
|
||||
<img class="image" src="{{source.system.characterGuide.suggestedPrimaryWeapon.img}}" />
|
||||
<span>{{source.system.characterGuide.suggestedPrimaryWeapon.name}}</span>
|
||||
{{#if document.system.characterGuide.suggestedPrimaryWeapon}}
|
||||
<div class="suggested-item item-line" data-action="viewItem" data-item="{{document.system.characterGuide.suggestedPrimaryWeapon.uuid}}">
|
||||
<img class="image" src="{{document.system.characterGuide.suggestedPrimaryWeapon.img}}" />
|
||||
<span>{{document.system.characterGuide.suggestedPrimaryWeapon.name}}</span>
|
||||
<div class="controls">
|
||||
<i data-action="removePrimaryWeapon" class="fa-solid fa-trash icon-button"></i>
|
||||
</div>
|
||||
|
|
@ -53,10 +53,10 @@
|
|||
<fieldset class="one-column drop-section secondary-weapon-section">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedSecondaryWeaponTitle"}}</legend>
|
||||
<div class="drop-section-body list-items">
|
||||
{{#if source.system.characterGuide.suggestedSecondaryWeapon}}
|
||||
<div class="suggested-item item-line" data-action="viewItem" data-item="{{source.system.characterGuide.suggestedSecondaryWeapon.uuid}}">
|
||||
<img class="image" src="{{source.system.characterGuide.suggestedSecondaryWeapon.img}}" />
|
||||
<span>{{source.system.characterGuide.suggestedSecondaryWeapon.name}}</span>
|
||||
{{#if document.system.characterGuide.suggestedSecondaryWeapon}}
|
||||
<div class="suggested-item item-line" data-action="viewItem" data-item="{{system.system.characterGuide.suggestedSecondaryWeapon.uuid}}">
|
||||
<img class="image" src="{{document.system.characterGuide.suggestedSecondaryWeapon.img}}" />
|
||||
<span>{{document.system.characterGuide.suggestedSecondaryWeapon.name}}</span>
|
||||
<div class="controls">
|
||||
<i data-action="removeSecondaryWeapon" class="fa-solid fa-trash icon-button"></i>
|
||||
</div>
|
||||
|
|
@ -68,10 +68,10 @@
|
|||
<fieldset class="one-column drop-section armor-section">
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedArmorTitle"}}</legend>
|
||||
<div class="drop-section-body list-items">
|
||||
{{#if source.system.characterGuide.suggestedArmor}}
|
||||
<div class="suggested-item item-line" data-action="viewItem" data-item="{{source.system.characterGuide.suggestedArmor.uuid}}">
|
||||
<img class="image" src="{{source.system.characterGuide.suggestedArmor.img}}" />
|
||||
<span>{{source.system.characterGuide.suggestedArmor.name}}</span>
|
||||
{{#if document.system.characterGuide.suggestedArmor}}
|
||||
<div class="suggested-item item-line" data-action="viewItem" data-item="{{document.system.characterGuide.suggestedArmor.uuid}}">
|
||||
<img class="image" src="{{document.system.characterGuide.suggestedArmor.img}}" />
|
||||
<span>{{document.system.characterGuide.suggestedArmor.name}}</span>
|
||||
<div class="controls">
|
||||
<i data-action="removeArmor" class="fa-solid fa-trash icon-button"></i>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,22 +5,16 @@
|
|||
>
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Subclass.Tabs.Foundation"}}</legend>
|
||||
{{#each source.system.foundationFeature.abilities as |feature key|}}
|
||||
{{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=feature}}
|
||||
{{/each}}
|
||||
{{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=source.system.foundationFeature}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Subclass.Tabs.Specialization"}}</legend>
|
||||
{{#each source.system.specializationFeature.abilities as |feature key|}}
|
||||
{{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=feature}}
|
||||
{{/each}}
|
||||
{{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=source.system.specializationFeature}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.Sheets.Subclass.Tabs.Mastery"}}</legend>
|
||||
{{#each source.system.masteryFeature.abilities as |feature key|}}
|
||||
{{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=feature}}
|
||||
{{/each}}
|
||||
{{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=source.system.masteryFeature}}
|
||||
</fieldset>
|
||||
</section>
|
||||
|
|
@ -7,19 +7,19 @@
|
|||
{{#each this.attributes as |attribute key|}}
|
||||
<div class="attribute">
|
||||
<div class="attribute-banner">
|
||||
<img class="attribute-roll" data-action="attributeRoll" data-attribute="{{key}}" data-value="{{attribute.value}}" src="icons/svg/d12-grey.svg" />
|
||||
<img class="attribute-roll" data-action="attributeRoll" data-attribute="{{key}}" data-value="{{attribute.total}}" src="icons/svg/d12-grey.svg" />
|
||||
<div class="attribute-text">{{key}}</div>
|
||||
</div>
|
||||
<div class="attribute-image">
|
||||
{{#if ../editAttributes}}
|
||||
<select class="attribute-value{{#if (lt attribute.base 0)}} negative{{/if}}{{#if (and (not attribute.base) (not ../abilityScoresFinished))}} unselected{{/if}}" data-attribute="{{key}}">
|
||||
{{#if (not (eq attribute.base 0))}}<option value="">{{attribute.base}}</option>{{/if}}
|
||||
<select class="attribute-value{{#if (lt attribute.total 0)}} negative{{/if}}{{#if (and (not attribute.total) (not ../abilityScoresFinished))}} unselected{{/if}}" data-attribute="{{key}}">
|
||||
{{#if (not (eq attribute.total 0))}}<option value="">{{attribute.total}}</option>{{/if}}
|
||||
{{#each ../abilityScoreArray as |option|}}
|
||||
<option value="{{option.value}}"{{#if (eq option.value attribute.base)}} selected="selected"{{/if}}>{{option.name}}</option>
|
||||
<option value="{{option.total}}">{{option.name}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
{{else}}
|
||||
<div class="attribute-text {{#if (lt attribute.value 0)}}negative{{/if}}">{{attribute.value}}</div>
|
||||
<div class="attribute-text {{#if (lt attribute.total 0)}}negative{{/if}}">{{attribute.total}}</div>
|
||||
{{/if}}
|
||||
<img src="systems/daggerheart/assets/AttributeShield.svg" />
|
||||
<div>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<div class="defense-row">
|
||||
<div class="defense-section">
|
||||
<div class="defense-container">
|
||||
<div class="defense-value">{{document.system.evasion.value}}</div>
|
||||
<div class="defense-value">{{document.system.evasion.total}}</div>
|
||||
<img src="systems/daggerheart/assets/AttributeShield.svg" />
|
||||
<div class="defense-banner">{{localize "DAGGERHEART.Sheets.PC.Defense.Evasion"}}</div>
|
||||
</div>
|
||||
|
|
@ -16,16 +16,18 @@
|
|||
<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>
|
||||
{{#if document.system.armor.system.marks}}
|
||||
<div class="armor-marks">
|
||||
{{#times (subtract 12 document.system.armor.system.marks.max)}}
|
||||
<input class="mark disabled-mark" type="checkbox" disabled />
|
||||
{{/times}}
|
||||
{{#times document.system.armor.system.marks.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>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
<fieldset class="left-main-container experience-container">
|
||||
<legend class="legend">{{localize "DAGGERHEART.Sheets.PC.Experience.Title"}}</legend>
|
||||
{{#each document.system.experiences as |experience index|}}
|
||||
{{#each document.system.experiences as |experience id|}}
|
||||
<div class="experience-row">
|
||||
<input class="experience-description" data-index={{index}} value="{{experience.description}}" type="text" />
|
||||
<div class="experience-value">{{experience.value}}</div>
|
||||
<input name="{{concat "system.experiences." id ".description"}}" data-experience={{id}} value="{{experience.description}}" type="text" />
|
||||
<div name="{{concat "system.experiences." id ".value"}}" class="experience-value">{{experience.total}}</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
{{#times (subtract 5 document.system.experiences.length)}}
|
||||
{{#times (subtract 5 (length document.system.experiences))}}
|
||||
<div class="experience-row">
|
||||
<input type="text" class="disabled-experience" disabled />
|
||||
<div class="experience-value empty"></div>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<fieldset class="left-main-container" style="flex: 1;">
|
||||
<legend class="legend">
|
||||
{{#if this.document.system.class}}
|
||||
{{#if this.document.system.multiclass}}
|
||||
{{#if this.document.system.class.value}}
|
||||
{{#if this.document.system.multiclass.value}}
|
||||
<span class="class-feature-selectable {{#if this.multiclass}}inactive{{/if}}" data-action="selectFeatureSet" data-multiclass="false">{{this.document.system.class.name}} {{localize "DAGGERHEART.General.Features"}}</span>
|
||||
/
|
||||
<span class="class-feature-selectable {{#if (not this.multiclass)}}inactive{{/if}}" data-action="selectFeatureSet" data-multiclass="true">{{this.document.system.multiclass.name}} {{localize "DAGGERHEART.General.Features"}}</span>
|
||||
{{else}}
|
||||
<span>{{this.document.system.class.name}} {{localize "DAGGERHEART.General.Features"}}</span>
|
||||
<span>{{this.document.system.class.value.name}} {{localize "DAGGERHEART.General.Features"}}</span>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<span>{{localize "DAGGERHEART.Sheets.PC.Features.Title"}}</span>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
<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.hitPoints.value document.system.resources.hitPoints.max)}}disabled{{/if}}" title="{{localize "DAGGERHEART.Sheets.PC.Health.DeathMoveTooltip"}}"></i>
|
||||
<i data-action="makeDeathMove" class="fas fa-skull death-save {{#if (lt resources.hitPoints.value document.system.resources.hitPoints.maxTotal)}}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">
|
||||
|
|
@ -30,22 +30,22 @@
|
|||
</div>
|
||||
<div class="flexcol">
|
||||
<div class="flexrow" style="flex-wrap: nowrap;">
|
||||
{{#times document.system.resources.hitPoints.max}}
|
||||
{{#times document.system.resources.hitPoints.maxTotal}}
|
||||
{{#with (add this 1)}}
|
||||
<input class="resource-box" type="checkbox" data-action="toggleHP" data-value="{{this}}" {{ checked (gte ../../document.system.resources.hitPoints.value this) }} />
|
||||
{{/with}}
|
||||
{{/times}}
|
||||
{{#times (subtract 12 document.system.resources.hitPoints.max)}}
|
||||
{{#times (subtract 12 document.system.resources.hitPoints.maxTotal)}}
|
||||
<input class="resource-box disabled" type="checkbox" disabled />
|
||||
{{/times}}
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{#times document.system.resources.stress.max}}
|
||||
{{#times document.system.resources.stress.maxTotal}}
|
||||
{{#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)}}
|
||||
{{#times (subtract 12 document.system.resources.stress.maxTotal)}}
|
||||
<input class="resource-box disabled" type="checkbox" disabled />
|
||||
{{/times}}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,45 +5,45 @@
|
|||
<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>
|
||||
<i class="fa-solid fa-circle proficiency-dot {{#if (gt ../proficiency.total 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>
|
||||
<i class="fa-solid fa-hand weapons-burden-icon left {{#if (or (eq weaponBurden "oneHanded") (eq weaponBurden "twoHanded"))}}active{{/if}}"></i>
|
||||
<i class="fa-solid fa-hand weapons-burden-icon right {{#if (eq weaponBurden "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}}
|
||||
<img class="damage-roll" data-action="attackRoll" data-weapon="{{weapons.primary.uuid}}" src="icons/svg/d12-grey.svg" />
|
||||
{{#if primaryWeapon}}
|
||||
<img class="damage-roll" data-action="attackRoll" data-weapon="{{primaryWeapon.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.label}}" type="text" />
|
||||
<input value="{{weapons.primary.damage.value}} {{#if weapons.primary}}({{localize weapons.primary.damage.type.abbreviation}}){{/if}}" type="text" />
|
||||
<input value="{{primaryWeapon.name}}" type="text" />
|
||||
<input value="{{localize primaryWeapon.trait}}" type="text" />
|
||||
<input value="{{localize primaryWeapon.range.label}}" type="text" />
|
||||
<input value="{{primaryWeapon.damage.value}} {{#if primaryWeapon}}({{localize primaryWeapon.damage.type.abbreviation}}){{/if}}" type="text" />
|
||||
</div>
|
||||
<input value="{{localize weapons.primary.feature.label}} {{#if weapons.primary.feature}}({{localize weapons.primary.feature.description}}){{/if}}" type="text" />
|
||||
<input value="{{localize primaryWeapon.feature.label}} {{#if primaryWeapon.feature}}({{localize primaryWeapon.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}}
|
||||
<img class="damage-roll" data-action="damageRoll" data-value="{{weapons.secondary.damage.value}}" src="icons/svg/d12-grey.svg" />
|
||||
{{#if secondaryWeapon}}
|
||||
<img class="damage-roll" data-action="damageRoll" data-value="{{secondaryWeapon.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.label}}" type="text" />
|
||||
<input value="{{weapons.secondary.damage.label}} {{#if weapons.secondary}}({{localize weapons.secondary.damage.type.abbreviation}}){{/if}}" type="text" />
|
||||
<input value="{{secondaryWeapon.name}}" type="text" />
|
||||
<input value="{{localize secondaryWeapon.trait}}" type="text" />
|
||||
<input value="{{localize secondaryWeapon.range.label}}" type="text" />
|
||||
<input value="{{secondaryWeapon.damage.label}} {{#if secondaryWeapon}}({{localize secondaryWeapon.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" />
|
||||
<input value="{{localize secondaryWeapon.feature.name}} {{#if secondaryWeapon.feature}}({{localize secondaryWeapon.feature.description}}){{/if}}" style="text-overflow: ellipsis;" type="text" />
|
||||
</div>
|
||||
</fieldset>
|
||||
3
templates/sheets/pseudo-documents/header.hbs
Normal file
3
templates/sheets/pseudo-documents/header.hbs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<header>
|
||||
<input type="text" name="name" value="{{document.name}}">
|
||||
</header>
|
||||
Loading…
Add table
Add a link
Reference in a new issue