[PR] [Party Sheets] Sidebar character sheet changes (#1249)

* Something experimenting

* I am silly (wearning Dunce hat)

* Stressful task

* Armor functional to be hit

* CSS Changes to accomadate pip boy

* last minute change to resource section for better visual feeling

* restoring old css for toggle

* Added setting to toggle pip/number display

* toggle functionality added

* Fixed light-mode in characterSheet

* Fixed multi-row resource pips display for character

* Fixed separators

* Added pip-display to Adversary and Companion. Some fixing on armor display

---------

Co-authored-by: WBHarry <williambjrklund@gmail.com>
This commit is contained in:
Nikhil Nagarajan 2025-11-10 10:28:49 -05:00 committed by GitHub
parent a50fb9f9ac
commit ad90f74d20
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 774 additions and 383 deletions

View file

@ -1,4 +1,8 @@
<section class="tab {{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
{{formGroup
fields.useResourcePips
value=setting.useResourcePips
localize=true}}
{{formGroup
fields.displayFear
value=setting.displayFear

View file

@ -4,35 +4,10 @@
<a class="death-roll-btn"><i class="fa-solid fa-skull death-save"></i></a>
</div>
<div class="info-section">
<div class="info-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="resources-section">
<div class="status-bar">
<div class='status-value'>
<input class="bar-input" name="system.resources.hitPoints.value" min="0" max='{{source.system.resources.hitPoints.max}}'
value="{{source.system.resources.hitPoints.value}}" type="number">
<span>/</span>
<span class="bar-label">{{source.system.resources.hitPoints.max}}</span>
</div>
<progress class='progress-bar' value='{{source.system.resources.hitPoints.value}}'
max='{{source.system.resources.hitPoints.max}}'></progress>
<div class="status-label">
<h4>{{localize 'DAGGERHEART.GENERAL.HitPoints.short'}}</h4>
</div>
</div>
<div class="status-bar">
<div class='status-value'>
<input class="bar-input" name="system.resources.stress.value" min="0" max='{{source.system.resources.stress.max}}'
value="{{source.system.resources.stress.value}}" type="number">
<span>/</span>
<span class="bar-label">{{source.system.resources.stress.max}}</span>
</div>
<progress class='progress-bar stress-color' value='{{source.system.resources.stress.value}}'
max='{{source.system.resources.stress.max}}'></progress>
<div class="status-label">
<h4>{{localize 'DAGGERHEART.GENERAL.stress'}}</h4>
</div>
</div>
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.hitPoints label="DAGGERHEART.GENERAL.HitPoints.short" key="system.resources.hitPoints.value" action="toggleHitPoints" }}
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.stress label="DAGGERHEART.GENERAL.stress" key="system.resources.stress.value" action="toggleStress" }}
</div>
<div class="status-section">
<div class="status-number">

View file

@ -15,44 +15,12 @@
<a class="death-roll-btn" data-tooltip="DAGGERHEART.UI.Tooltip.makeDeathMove" {{#if
isDeath}}data-action="makeDeathMove" {{/if}}><i class="fa-solid fa-skull death-save"></i></a>
</div>
<div class="info-section">
<div class="info-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="resources-section">
<div class="status-bar">
<div class='status-value'>
<input class="bar-input" name="system.resources.hitPoints.value" min="0" max='{{document.system.resources.hitPoints.max}}'
value="{{document.system.resources.hitPoints.value}}" type="number">
<span>/</span>
<span class="bar-label">{{document.system.resources.hitPoints.max}}</span>
</div>
<progress
class='progress-bar'
max='{{document.system.resources.hitPoints.max}}'
value='{{document.system.resources.hitPoints.value}}'
></progress>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.HitPoints.short"}}</h4>
</div>
</div>
<div class="status-bar">
<div class='status-value'>
<input class="bar-input" name="system.resources.stress.value" min="0" max='{{document.system.resources.stress.max}}'
value="{{document.system.resources.stress.value}}" type="number">
<span>/</span>
<span class="bar-label">{{document.system.resources.stress.max}}</span>
</div>
<progress
class='progress-bar stress-color'
value='{{document.system.resources.stress.value}}'
min="0"
max='{{document.system.resources.stress.max}}'
></progress>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.stress"}}</h4>
</div>
</div>
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.hitPoints label="DAGGERHEART.GENERAL.HitPoints.short" key="system.resources.hitPoints.value" action="toggleHitPoints" }}
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=resources.stress label="DAGGERHEART.GENERAL.stress" key="system.resources.stress.value" action="toggleStress" }}
</div>
<div class="status-section">
<div class="status-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="status-number">
<div class='status-value'>
<p>{{document.system.evasion}}</p>
@ -64,10 +32,29 @@
{{#if document.system.armor.system.marks}}
<div class="status-bar armor-slots">
{{#if useResourcePips}}
<div class='slot-value'>
<div class="slot-bar">
{{#times document.system.armorScore}}
<a class='armor-slot' data-action='toggleArmor' data-value="{{add this 1}}">
{{#if (gte ../document.system.armor.system.marks.value (add this 1))}}
<i class="fa-solid fa-shield"></i>
{{else}}
<i class="fa-solid fa-shield-halved"></i>
{{/if}}
</a>
{{/times}}
</div>
<div class="slot-label">
<span class="label">{{localize "DAGGERHEART.GENERAL.armorSlots"}}</span>
<span class="value">{{document.system.armor.system.marks.value}} / {{document.system.armorScore}}</span>
</div>
</div>
{{else}}
<div class='status-value'>
<p><input class="bar-input armor-marks-input" value="{{document.system.armor.system.marks.value}}" type="number"></p>
<p>/</p>
<p class="bar-label">{{document.system.armorScore}}</p>
<input class="bar-input armor-marks-input" value="{{document.system.armor.system.marks.value}}" type="number">
<span>/</span>
<span class="bar-label">{{document.system.armorScore}}</span>
</div>
<progress
class='progress-bar stress-color'
@ -77,6 +64,7 @@
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.armorSlots"}}</h4>
</div>
{{/if}}
</div>
{{else}}
<div class="status-number armor-slots">

View file

@ -8,7 +8,12 @@
placeholder='{{localize "DAGGERHEART.GENERAL.actorName"}}'
/>
</h1>
<div class="status-section">
{{#if useResourcePips}}
<div class="resource-section">
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=document.system.resources.stress label="DAGGERHEART.GENERAL.stress" key="system.resources.stress.value" action="toggleStress" largePips=true }}
</div>
{{/if}}
<div class="status-section {{#if useResourcePips}}pip-display{{/if}}">
<div class="status-number">
<div class='status-value'>
<p>{{document.system.evasion}}</p>
@ -17,21 +22,11 @@
<h4>{{localize "DAGGERHEART.GENERAL.evasion"}}</h4>
</div>
</div>
<div class="status-bar">
<div class='status-value'>
<input class="bar-input" name="system.resources.stress.value" value="{{document.system.resources.stress.value}}" min="0" max='{{document.system.resources.stress.max}}' type="number">
<span>/</span>
<span class="bar-label">{{document.system.resources.stress.max}}</span>
{{#unless useResourcePips}}
<div class="resource-section">
{{> "systems/daggerheart/templates/sheets/global/partials/resource-bar.hbs" resource=document.system.resources.stress label="DAGGERHEART.GENERAL.stress" key="system.resources.stress.value" action="toggleStress" }}
</div>
<progress
class='progress-bar stress-color'
value='{{document.system.resources.stress.value}}'
max='{{document.system.resources.stress.max}}'
></progress>
<div class="status-label">
<h4>{{localize "DAGGERHEART.GENERAL.stress"}}</h4>
</div>
</div>
{{/unless}}
<div class='level-div'>
<h3 class='label'>
{{localize 'DAGGERHEART.GENERAL.level'}}

View file

@ -0,0 +1,35 @@
<div class="status-bar">
{{#if useResourcePips}}
<div class='slot-value'>
<div class="slot-bar">
{{#times resource.max}}
<span class='slot {{#if (gte ../resource.value (add this 1))}}filled{{/if}} {{#if ../largePips}}large{{/if}}' data-action="{{../action}}" data-value="{{add this 1}}">
</span>
{{/times}}
{{#times resource.emptyPips}}
<span class="empty-slot"></span>
{{/times}}
</div>
<div class="slot-label">
<span class="label">{{localize label}}</span>
<span class="value">{{resource.value}} / {{resource.max}}</span>
</div>
</div>
{{else}}
<div class='status-value'>
<input class="bar-input" name="{{key}}" min="0" max='{{resource.max}}'
value="{{resource.value}}" type="number">
<span>/</span>
<span class="bar-label">{{resource.max}}</span>
</div>
<progress
class='progress-bar'
max='{{resource.max}}'
value='{{resource.value}}'
></progress>
<div class="status-label">
<h4>{{localize label}}</h4>
</div>
{{/if}}
</div>