mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-14 12:41:07 +01:00
Merge branch 'development' into feature/313-preset-measured-templates
This commit is contained in:
commit
c02f44faf1
146 changed files with 4403 additions and 569 deletions
|
|
@ -1,14 +1,22 @@
|
|||
<header class="dialog-header">
|
||||
<h1>
|
||||
{{#if reactionOverride}}
|
||||
{{localize "DAGGERHEART.CONFIG.ActionType.reaction"}}
|
||||
{{else}}
|
||||
{{ifThen rollConfig.headerTitle rollConfig.headerTitle rollConfig.title}}
|
||||
{{/if}}
|
||||
{{#if showReaction}}
|
||||
<button class="reaction-roll-controller {{#if reactionOverride}}active{{/if}}" data-action="toggleReaction" data-tooltip-text="{{localize "DAGGERHEART.GENERAL.reactionRoll"}}">
|
||||
<i class="fa-solid fa-reply"></i>
|
||||
</button>
|
||||
{{/if}}
|
||||
</h1>
|
||||
<div class="dialog-header-inner">
|
||||
<h1>
|
||||
{{#if reactionOverride}}
|
||||
{{localize "DAGGERHEART.CONFIG.ActionType.reaction"}}
|
||||
{{else}}
|
||||
{{ifThen rollConfig.headerTitle rollConfig.headerTitle rollConfig.title}}
|
||||
{{/if}}
|
||||
{{#if showReaction}}
|
||||
<button class="reaction-roll-controller {{#if reactionOverride}}active{{/if}}" data-action="toggleReaction" data-tooltip-text="{{localize "DAGGERHEART.GENERAL.reactionRoll"}}">
|
||||
<i class="fa-solid fa-reply"></i>
|
||||
</button>
|
||||
{{/if}}
|
||||
</h1>
|
||||
</div>
|
||||
{{#if (and @root.hasRoll @root.activeTagTeamRoll)}}
|
||||
<div class="tag-team-controller {{#if @root.tagTeamSelected}}selected{{/if}}" data-action="toggleTagTeamRoll">
|
||||
<span><i class="{{ifThen @root.tagTeamSelected "fa-solid" "fa-regular"}} fa-circle"></i></span>
|
||||
<span class="label">{{localize "Tag Team Roll"}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</header>
|
||||
84
templates/dialogs/group-roll/group-roll.hbs
Normal file
84
templates/dialogs/group-roll/group-roll.hbs
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
<div class="group-roll">
|
||||
<header class="dialog-header">
|
||||
<h1>{{localize "DAGGERHEART.UI.Chat.groupRoll.title"}}</h1>
|
||||
</header>
|
||||
|
||||
<fieldset class="one-column">
|
||||
<legend>{{localize "DAGGERHEART.UI.Chat.groupRoll.leader"}}</legend>
|
||||
{{#unless leader.actor}}
|
||||
<input type="text" class="leader-change-input" />
|
||||
<div class="drag-area">
|
||||
<span>{{localize "DAGGERHEART.UI.Chat.groupRoll.selectLeader"}}</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="actor-item">
|
||||
<img src="{{leader.actor.img}}" alt="{{leader.actor.name}}">
|
||||
<div class="actor-info">
|
||||
<span class="actor-name">{{leader.actor.name}}</span>
|
||||
<div class="actor-check-info">
|
||||
<div class="form-fields">
|
||||
<label>{{localize "DAGGERHEART.GENERAL.Trait.single"}}</label>
|
||||
<select name="actorLeader.trait">
|
||||
{{selectOptions traitList selected=leader.trait labelAttr="label" valueAttr="id" localize=true }}
|
||||
</select>
|
||||
</div>
|
||||
{{!-- Not used yet --}}
|
||||
{{!-- <div class="form-fields">
|
||||
<label>{{localize "DAGGERHEART.GENERAL.difficulty"}}</label>
|
||||
<input type="number" name="actorLeader.difficulty" value="{{leader.difficulty}}" data-dtype="Number">
|
||||
</div> --}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<a data-action="removeLeader" data-leader-uuid="{{leader.actor.uuid}}">
|
||||
<i class="fa-solid fa-trash"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{/unless}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="one-column">
|
||||
<legend>{{localize "DAGGERHEART.UI.Chat.groupRoll.partyTeam"}}</legend>
|
||||
<span class="tooltip-container" {{#if allSelected}}data-tooltip="{{localize "The whole party is selected"}}"{{/if}}>
|
||||
<input type="text" class="team-push-input" {{disabled @root.allSelected}}/>
|
||||
</span>
|
||||
{{#if (gt this.members.length 0)}}
|
||||
{{#each members as |member index|}}
|
||||
<div class="actor-item">
|
||||
<img src="{{member.actor.img}}" alt="{{member.actor.name}}">
|
||||
<div class="actor-info">
|
||||
<span class="actor-name">{{member.actor.name}}</span>
|
||||
<div class="actor-check-info">
|
||||
<div class="form-fields">
|
||||
<label>{{localize "DAGGERHEART.GENERAL.Trait.single"}}</label>
|
||||
<select name="{{concat "actorsMembers." index ".trait"}}">
|
||||
{{selectOptions @root.traitList selected=member.trait labelAttr="label" valueAttr="id" localize=true }}
|
||||
</select>
|
||||
</div>
|
||||
{{!-- Not used yet --}}
|
||||
{{!-- <div class="form-fields">
|
||||
<label>{{localize "DAGGERHEART.GENERAL.difficulty"}}</label>
|
||||
<input type="number" name="{{concat "actorsMembers." index ".difficulty"}}" value="{{member.difficulty}}" data-dtype="Number">
|
||||
</div> --}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<a data-action="removeMember" data-member-uuid="{{member.actor.uuid}}">
|
||||
<i class="fa-solid fa-trash"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
{{#unless allSelected}}
|
||||
<div class="drag-area">
|
||||
<span>{{localize "DAGGERHEART.UI.Chat.groupRoll.selectMember"}}</span>
|
||||
</div>
|
||||
{{/unless}}
|
||||
</fieldset>
|
||||
<button class="submit-btn" data-action="roll" {{disabled @root.rollDisabled}}>
|
||||
<i class="fa-solid fa-dice"></i>
|
||||
<span>{{localize "DAGGERHEART.GENERAL.roll"}}</span>
|
||||
</button>
|
||||
</div>
|
||||
4
templates/dialogs/image-select/footer.hbs
Normal file
4
templates/dialogs/image-select/footer.hbs
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<div class="footer">
|
||||
<button data-action="close">{{localize "Cancel"}}</button>
|
||||
<button type="button" data-action="finishSelection">{{localize "DAGGERHEART.APPLICATIONS.ImageSelect.selectImage"}}</button>
|
||||
</div>
|
||||
5
templates/dialogs/image-select/main.hbs
Normal file
5
templates/dialogs/image-select/main.hbs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<div class="images-container">
|
||||
{{#each images as |image|}}
|
||||
<a data-action="selectImage"><img {{#if (eq image @root.selectedImage)}}class="selected"{{/if}} src="{{image}}" data-image="{{image}}" /></a>
|
||||
{{/each}}
|
||||
</div>
|
||||
110
templates/dialogs/tagTeamDialog.hbs
Normal file
110
templates/dialogs/tagTeamDialog.hbs
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<div>
|
||||
<div class="tag-team-container">
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.partyTeam"}}</legend>
|
||||
|
||||
<div class="form-group flex-group">
|
||||
<label>{{localize "TYPES.Actor.character"}}</label>
|
||||
|
||||
<div class="form-fields">
|
||||
<select name="selectedAddMember">
|
||||
{{selectOptions memberOptions labelAttr="name" valueAttr="uuid" blank=""}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="participants-container">
|
||||
{{#each members as |member|}}
|
||||
<div class="participant-outer-container {{#if member.selected}}selected{{/if}}" data-action="selectMessage" id="{{member.character.id}}">
|
||||
<div class="participant-container">
|
||||
<div class="participant-inner-container">
|
||||
<img src="{{member.character.img}}" />
|
||||
<div class="participant-labels">
|
||||
<div class="participant-label-title">{{member.character.name}}</div>
|
||||
<div class="participant-label-info">
|
||||
{{#if member.character.system.class.value}}
|
||||
<div class="participant-label-info-part">{{member.character.system.class.value.name}}</div>
|
||||
{{/if}}
|
||||
{{#if member.system.multiclass.value}}
|
||||
<div class="participant-label-info-part">{{member.character.system.multiclass.value.name}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a data-action="removeMember" data-character-id="{{member.character.id}}"><i class="fa-solid fa-trash"></i></a>
|
||||
</div>
|
||||
{{#if member.roll}}
|
||||
<div class="participant-roll-outer-container">
|
||||
<div class="participant-roll-container">
|
||||
<h4>
|
||||
<a data-action="unlinkMessage" id="{{member.character.id}}"><i class="fa-solid fa-link"></i></a>
|
||||
{{member.roll.system.title}}
|
||||
</h4>
|
||||
</div>
|
||||
<div class="participant-roll-container">
|
||||
<side-line-div class="invert"></side-line-div>
|
||||
<div class="participant-roll-text-container">
|
||||
{{member.roll.system.roll.total}}
|
||||
{{localize "DAGGERHEART.GENERAL.withThing" thing=member.roll.system.roll.result.label}}
|
||||
</div>
|
||||
<side-line-div></side-line-div>
|
||||
</div>
|
||||
{{#if member.roll.system.hasDamage}}
|
||||
<h4>{{localize "DAGGERHEART.GENERAL.damage"}}</h4>
|
||||
<div class="damage-values-container">
|
||||
{{#if member.damageValues}}
|
||||
{{#each member.damageValues as |damage|}}
|
||||
<div class="damage-container">
|
||||
<div>{{damage.name}}</div>
|
||||
<div>{{damage.total}}</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.damageNotRolled"}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="participant-empty-roll-container">
|
||||
{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.linkMessageHint"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<div class="roll-leader-container">
|
||||
<h4>
|
||||
<strong>{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.initiatingCharacter"}}</strong>
|
||||
<select name="initiator.id">
|
||||
{{selectOptions selectedCharacterOptions selected=initiator.character.id labelAttr="name" valueAttr="id" blank=""}}
|
||||
</select>
|
||||
</h4>
|
||||
<h4>
|
||||
<strong>{{localize "DAGGERHEART.GENERAL.Cost.single"}}</strong>
|
||||
<input type="text" data-dtype="Number" min="0" name="initiator.cost" value="{{initiator.cost}}" />
|
||||
</h4>
|
||||
</div>
|
||||
{{#if showResult}}
|
||||
{{#if selectedData.result}}
|
||||
<div class="result-container">
|
||||
<h4><strong>{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.title"}}:</strong> {{selectedData.result}}</h4>
|
||||
{{#if usesDamage}}
|
||||
<div class="result-damages-container">
|
||||
<label><strong>{{localize "DAGGERHEART.GENERAL.damage"}}:</strong></label>
|
||||
{{#each selectedData.damageValues as |damage|}}
|
||||
<div class="result-damage-container">
|
||||
{{damage.name}}
|
||||
{{damage.total}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<button data-action="createTagTeam" {{disabled createDisabled}}>{{localize "DAGGERHEART.APPLICATIONS.TagTeamSelect.createTagTeam"}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -40,6 +40,7 @@
|
|||
</button>
|
||||
{{/if}}
|
||||
|
||||
{{#if usesEffects}}
|
||||
<button type="button" class="control-icon" data-action="togglePalette" data-palette="effects" data-tooltip="HUD.AssignStatusEffects">
|
||||
<img src="{{icons.effects}}">
|
||||
</button>
|
||||
|
|
@ -54,6 +55,13 @@
|
|||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq actorType 'party')}}
|
||||
<button type="button" class="control-icon clown-car" data-action="togglePartyTokens" data-tooltip="{{#if partyOnCanvas}}{{localize "DAGGERHEART.APPLICATIONS.HUD.tokenHUD.retrievePartyTokens"}}{{else}}{{localize "DAGGERHEART.APPLICATIONS.HUD.tokenHUD.depositPartyTokens"}}{{/if}}">
|
||||
<img {{#if partyOnCanvas}}class="flipped"{{/if}} src="{{icons.toggleParty}}">
|
||||
</button>
|
||||
{{/if}}
|
||||
|
||||
<button type="button" class="control-icon" data-action="togglePalette" data-palette="movementActions"
|
||||
aria-label="{{ localize "HUD.SelectMovementAction" }}" data-tooltip>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,24 @@
|
|||
<div class="tab{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
|
||||
<div class="form-group">
|
||||
<div class="form-fields">
|
||||
<label>{{localize 'DAGGERHEART.SETTINGS.Scene.rangeMeasurementOverride'}}</label>
|
||||
<input type="checkbox" name="flags.daggerheart.rangeMeasurementOverride" {{checked
|
||||
document.flags.daggerheart.rangeMeasurementOverride}} />
|
||||
</div>
|
||||
</div>
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.SETTINGS.Scene.rangeMeasurement"}}</legend>
|
||||
|
||||
{{#if variantRules.rangeMeasurement.enabled}}
|
||||
{{formGroup data.schema.fields.rangeMeasurement.fields.setting value=data._source.rangeMeasurement.setting name="flags.daggerheart.rangeMeasurement.setting" id="rangeMeasurementSetting" localize=true blank=false}}
|
||||
|
||||
{{#if (eq data.rangeMeasurement.setting "custom")}}
|
||||
{{formGroup data.schema.fields.rangeMeasurement.fields.melee value=data._source.rangeMeasurement.melee name="flags.daggerheart.rangeMeasurement.melee" localize=true}}
|
||||
{{formGroup data.schema.fields.rangeMeasurement.fields.veryClose value=data._source.rangeMeasurement.veryClose name="flags.daggerheart.rangeMeasurement.veryClose" localize=true}}
|
||||
{{formGroup data.schema.fields.rangeMeasurement.fields.close value=data._source.rangeMeasurement.close name="flags.daggerheart.rangeMeasurement.close" localize=true}}
|
||||
{{formGroup data.schema.fields.rangeMeasurement.fields.far value=data._source.rangeMeasurement.far name="flags.daggerheart.rangeMeasurement.far" localize=true}}
|
||||
{{/if}}
|
||||
{{#if (eq data.rangeMeasurement.setting "default")}}
|
||||
{{formGroup variantRules.schema.fields.rangeMeasurement.fields.melee value=variantRules._source.rangeMeasurement.melee localize=true disabled=true}}
|
||||
{{formGroup variantRules.schema.fields.rangeMeasurement.fields.veryClose value=variantRules._source.rangeMeasurement.veryClose localize=true disabled=true}}
|
||||
{{formGroup variantRules.schema.fields.rangeMeasurement.fields.close value=variantRules._source.rangeMeasurement.close localize=true disabled=true}}
|
||||
{{formGroup variantRules.schema.fields.rangeMeasurement.fields.far value=variantRules._source.rangeMeasurement.far localize=true disabled=true}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<span class="helper-text">{{localize "DAGGERHEART.SETTINGS.Scene.disabledText"}}</span>
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
</div>
|
||||
12
templates/scene/tabs.hbs
Normal file
12
templates/scene/tabs.hbs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<nav class="sheet-tabs tabs{{#if verticalTabs}} vertical{{/if}}"
|
||||
aria-roledescription="{{localize "SHEETS.FormNavLabel"}}">
|
||||
{{#each tabs as |tab|}}
|
||||
<a data-action="tab" data-group="{{tab.group}}" data-tab="{{tab.id}}"
|
||||
{{#if tab.cssClass}}class="{{tab.cssClass}}"{{/if}}
|
||||
{{#if tab.tooltip}}data-tooltip="{{tab.tooltip}}"{{/if}}>
|
||||
{{#if tab.icon}}<i class="{{tab.icon}}" inert></i>{{/if}}
|
||||
{{#if tab.src}}<img src="{{tab.src}}" />{{/if}}
|
||||
{{#if tab.label}}<span>{{localize tab.label}}</span>{{/if}}
|
||||
</a>
|
||||
{{/each}}
|
||||
</nav>
|
||||
|
|
@ -1,9 +1,17 @@
|
|||
<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
|
||||
localize=true}}
|
||||
{{formGroup
|
||||
fields.displayCountdownUI
|
||||
value=setting.displayCountdownUI
|
||||
localize=true}}
|
||||
{{formGroup
|
||||
fields.showGenericStatusEffects
|
||||
value=setting.showGenericStatusEffects
|
||||
localize=true}}
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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'}}
|
||||
|
|
|
|||
9
templates/sheets/actors/party/header.hbs
Normal file
9
templates/sheets/actors/party/header.hbs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<header class='party-header-sheet'>
|
||||
<img class='profile' src='{{source.img}}' data-action='editImage' data-edit='img' />
|
||||
<div class='item-container'>
|
||||
<div class="item-info">
|
||||
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
|
||||
<h2 class="label">Party</h2>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
82
templates/sheets/actors/party/inventory.hbs
Normal file
82
templates/sheets/actors/party/inventory.hbs
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
<section class='tab {{tabs.inventory.cssClass}} {{tabs.inventory.id}}' data-tab='{{tabs.inventory.id}}'
|
||||
data-group='{{tabs.inventory.group}}'>
|
||||
<div class="search-section">
|
||||
<div class="search-bar">
|
||||
<div class="icon">
|
||||
<i class="fa-solid fa-magnifying-glass"></i>
|
||||
</div>
|
||||
<input type="search" name="search" class="search-inventory" placeholder="Search...">
|
||||
</div>
|
||||
<a class="filter-button">
|
||||
<i class="fa-solid fa-filter"></i>
|
||||
</a>
|
||||
<a data-tooltip="{{localize 'DAGGERHEART.UI.Tooltip.compendiumBrowser'}}" data-action="tempBrowser">
|
||||
<i class="fa-solid fa-book-atlas"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="currency-section">
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.coins}}</span>
|
||||
{{formInput systemFields.gold.fields.coins value=source.system.gold.coins enriched=source.system.gold.coins
|
||||
localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.handfuls}}</span>
|
||||
{{formInput systemFields.gold.fields.handfuls value=source.system.gold.handfuls
|
||||
enriched=source.system.gold.handfuls localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.bags}}</span>
|
||||
{{formInput systemFields.gold.fields.bags value=source.system.gold.bags enriched=source.system.gold.bags
|
||||
localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.chests}}</span>
|
||||
{{formInput systemFields.gold.fields.chests value=source.system.gold.chests
|
||||
enriched=source.system.gold.chests localize=true toggled=true}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="items-section">
|
||||
{{> 'daggerheart.inventory-items'
|
||||
title='TYPES.Item.weapon'
|
||||
type='weapon'
|
||||
actorType='party'
|
||||
collection=document.itemTypes.weapon
|
||||
isGlassy=true
|
||||
canCreate=true
|
||||
hideResources=true
|
||||
hideContextMenu=true
|
||||
}}
|
||||
{{> 'daggerheart.inventory-items'
|
||||
title='TYPES.Item.armor'
|
||||
type='armor'
|
||||
actorType='party'
|
||||
collection=document.itemTypes.armor
|
||||
isGlassy=true
|
||||
canCreate=true
|
||||
hideResources=true
|
||||
hideContextMenu=true
|
||||
}}
|
||||
{{> 'daggerheart.inventory-items'
|
||||
title='TYPES.Item.consumable'
|
||||
type='consumable'
|
||||
actorType='party'
|
||||
collection=document.itemTypes.consumable
|
||||
isGlassy=true
|
||||
canCreate=true
|
||||
hideContextMenu=true
|
||||
}}
|
||||
{{> 'daggerheart.inventory-items'
|
||||
title='TYPES.Item.loot'
|
||||
type='loot'
|
||||
actorType='party'
|
||||
collection=document.itemTypes.loot
|
||||
isGlassy=true
|
||||
canCreate=true
|
||||
hideContextMenu=true
|
||||
}}
|
||||
</div>
|
||||
</section>
|
||||
10
templates/sheets/actors/party/notes.hbs
Normal file
10
templates/sheets/actors/party/notes.hbs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<section
|
||||
class='tab {{tabs.notes.cssClass}} {{tabs.notes.id}}'
|
||||
data-tab='{{tabs.notes.id}}'
|
||||
data-group='{{tabs.notes.group}}'
|
||||
>
|
||||
<fieldset class="fit-height">
|
||||
<legend>{{localize tabs.notes.label}}</legend>
|
||||
{{formInput notes.field value=notes.value enriched=notes.value toggled=true}}
|
||||
</fieldset>
|
||||
</section>
|
||||
40
templates/sheets/actors/party/party-members.hbs
Normal file
40
templates/sheets/actors/party/party-members.hbs
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<section
|
||||
class='tab {{tabs.partyMembers.cssClass}} {{tabs.partyMembers.id}}'
|
||||
data-tab='{{tabs.partyMembers.id}}'
|
||||
data-group='{{tabs.partyMembers.group}}'
|
||||
>
|
||||
|
||||
<div class="actions-section">
|
||||
<button data-action="tagTeamRoll">
|
||||
<i class="fa-solid fa-user-group"></i>
|
||||
<span>Tag Team Roll</span>
|
||||
</button>
|
||||
<button data-action="groupRoll">
|
||||
<i class="fa-solid fa-users"></i>
|
||||
<span>Group Roll</span>
|
||||
</button>
|
||||
{{!-- NOT YET IMPLEMENTED --}}
|
||||
{{!-- <button>
|
||||
<i class="fa-solid fa-handshake-angle"></i>
|
||||
<span>Help Action</span>
|
||||
</button> --}}
|
||||
</div>
|
||||
|
||||
<fieldset class="actors-section glassy">
|
||||
<legend>{{localize tabs.partyMembers.label}}</legend>
|
||||
<ul class="actors-list">
|
||||
{{#each document.system.partyMembers as |actor id|}}
|
||||
{{> 'daggerheart.inventory-item'
|
||||
item=actor
|
||||
type='character'
|
||||
isActor=true
|
||||
}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{#unless document.system.partyMembers.length}}
|
||||
<div class="actors-dragger">
|
||||
<span>{{localize "DAGGERHEART.GENERAL.dropActorsHere"}}</span>
|
||||
</div>
|
||||
{{/unless}}
|
||||
</fieldset>
|
||||
</section>
|
||||
4
templates/sheets/actors/party/projects.hbs
Normal file
4
templates/sheets/actors/party/projects.hbs
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<section class='tab {{tabs.projects.cssClass}} {{tabs.projects.id}}' data-tab='{{tabs.projects.id}}'
|
||||
data-group='{{tabs.projects.group}}'>
|
||||
<h2>Soon tm</h2>
|
||||
</section>
|
||||
99
templates/sheets/actors/party/resources.hbs
Normal file
99
templates/sheets/actors/party/resources.hbs
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
<section
|
||||
class='tab {{tabs.resources.cssClass}} {{tabs.resources.id}}'
|
||||
data-tab='{{tabs.resources.id}}'
|
||||
data-group='{{tabs.resources.group}}'
|
||||
>
|
||||
<div data-action="triggerRest" data-type="longRest" class="actions-section">
|
||||
<button data-type="longRest">
|
||||
<i class="fa-solid fa-bed"></i>
|
||||
<span>{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}</span>
|
||||
</button>
|
||||
<button data-action="triggerRest" data-type="shortRest">
|
||||
<i class="fa-solid fa-utensils"></i>
|
||||
<span>{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<fieldset class="resource-section glassy">
|
||||
<legend>{{localize tabs.resources.label}}</legend>
|
||||
<ul class="actors-list">
|
||||
{{#each document.system.partyMembers as |actor id|}}
|
||||
<li class="actor-resources">
|
||||
<h2 class="actor-name">{{actor.name}}</h2>
|
||||
<img class="actor-img" src="{{actor.img}}">
|
||||
<div class="resources">
|
||||
<div class="slot-section">
|
||||
<div class="slot-bar">
|
||||
{{#times actor.system.resources.hitPoints.max}}
|
||||
<span class='slot {{#if (gte actor.system.resources.hitPoints.value (add this 1))}}filled{{/if}}'
|
||||
data-action='toggleHitPoints' data-actor-id="{{actor.uuid}}" data-value="{{add this 1}}">
|
||||
</span>
|
||||
{{/times}}
|
||||
</div>
|
||||
<div class="slot-label">
|
||||
<span class="label">{{localize "DAGGERHEART.GENERAL.HitPoints.short"}}</span>
|
||||
<span class="value">{{actor.system.resources.hitPoints.value}} / {{actor.system.resources.hitPoints.max}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="slot-section">
|
||||
<div class="slot-bar">
|
||||
{{#times actor.system.resources.stress.max}}
|
||||
<span class='slot {{#if (gte actor.system.resources.stress.value (add this 1))}}filled{{/if}}'
|
||||
data-action='toggleStress' data-actor-id="{{actor.uuid}}" data-value="{{add this 1}}">
|
||||
</span>
|
||||
{{/times}}
|
||||
</div>
|
||||
<div class="slot-label">
|
||||
<span class="label">{{localize "DAGGERHEART.GENERAL.stress"}}</span>
|
||||
<span class="value">{{actor.system.resources.stress.value}} / {{actor.system.resources.stress.max}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if actor.system.armor.system.marks}}
|
||||
<div class="slot-section">
|
||||
<div class="slot-bar">
|
||||
{{#times actor.system.armorScore}}
|
||||
<a class='armor-slot'
|
||||
data-action='toggleArmorSlot' data-actor-id="{{actor.uuid}}" data-item-uuid="{{actor.system.armor.uuid}}" data-value="{{add this 1}}">
|
||||
{{#if (gte actor.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">{{actor.system.armor.system.marks.value}} / {{actor.system.armorScore}}</span>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
||||
<div class="hope-section">
|
||||
<h4>{{localize "DAGGERHEART.GENERAL.hope"}}</h4>
|
||||
{{#times actor.system.resources.hope.max}}
|
||||
<span class='hope-value' data-action='toggleHope' data-actor-id="{{actor.uuid}}" data-value="{{add this 1}}">
|
||||
{{#if (gte actor.system.resources.hope.value (add this 1))}}
|
||||
<i class='fa-solid fa-diamond'></i>
|
||||
{{else}}
|
||||
<i class='fa-regular fa-circle'></i>
|
||||
{{/if}}
|
||||
</span>
|
||||
{{/times}}
|
||||
</div>
|
||||
<div class="threshold-section">
|
||||
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.minor"}}</h4>
|
||||
<h4 class="threshold-value">{{actor.system.damageThresholds.major}}</h4>
|
||||
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.major"}}</h4>
|
||||
<h4 class="threshold-value">{{actor.system.damageThresholds.severe}}</h4>
|
||||
<h4 class="threshold-label">{{localize "DAGGERHEART.GENERAL.DamageThresholds.severe"}}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</fieldset>
|
||||
</section>
|
||||
|
|
@ -10,6 +10,7 @@ Parameters:
|
|||
- isGlassy {boolean} : If true, applies the 'glassy' class to the fieldset.
|
||||
- cardView {boolean} : If true and type is 'domainCard', renders using domain card layout.
|
||||
- isActor {boolean} : Passed through to inventory-item partials.
|
||||
- actorType {boolean} : The actor type of the parent actor
|
||||
- canCreate {boolean} : If true, show createDoc anchor on legend
|
||||
- inVault {boolean} : If true, the domainCard is created with inVault=true
|
||||
- disabled {boolean}: If true, the ActiveEffect is created with disabled=true;
|
||||
|
|
@ -54,6 +55,7 @@ Parameters:
|
|||
{{> 'daggerheart.inventory-item'
|
||||
item=item
|
||||
type=../type
|
||||
actorType=../actorType
|
||||
hideControls=../hideControls
|
||||
hideContextMenu=../hideContextMenu
|
||||
isActor=../isActor
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
Parameters:
|
||||
- type {string} : The type of items in the list
|
||||
- isActor {boolean} : Passed through to inventory-item partials.
|
||||
- actorType {boolean} : The actor type of the parent actor
|
||||
- categoryAdversary {string} : Category adversary id.
|
||||
- noExtensible {boolean} : If true, the inventory-item-content would be collapsable/extendible else it always be showed
|
||||
- hideLabels {boolean} : If true, hide label-tags else show label-tags.
|
||||
|
|
@ -17,7 +18,7 @@ Parameters:
|
|||
|
||||
<li class="inventory-item" data-item-id="{{item.id}}" {{#if (or (eq type 'action' ) (eq type 'attack' ))}}
|
||||
data-action-id="{{item.id}}" {{/if}} data-item-uuid="{{item.uuid}}" data-type="{{type}}" data-no-compendium-edit="{{noCompendiumEdit}}" draggable="true">
|
||||
<div class="inventory-item-header" {{#unless noExtensible}}data-action="toggleExtended" {{/unless}}>
|
||||
<div class="inventory-item-header {{#if (eq actorType 'party')}}padded{{/if}}" {{#unless noExtensible}}data-action="toggleExtended" {{/unless}}>
|
||||
{{!-- Image --}}
|
||||
<div class="img-portait" data-action='{{ifThen (or (hasProperty item "use") (eq type "attack")) "useItem" (ifThen
|
||||
(hasProperty item "toChat" ) "toChat" "editDoc" ) }}' {{#unless hideTooltip}} {{#if (eq type 'attack' )}}
|
||||
|
|
@ -36,7 +37,7 @@ Parameters:
|
|||
<div class="item-label">
|
||||
|
||||
{{!-- Item Name --}}
|
||||
<span class="item-name">{{localize item.name}} {{#unless noExtensible}}<span class="expanded-icon"><i class="fa-solid fa-expand"></i></span>{{/unless}}</span>
|
||||
<span class="item-name">{{localize item.name}} {{#unless (or noExtensible (not item.system.description))}}<span class="expanded-icon"><i class="fa-solid fa-expand"></i></span>{{/unless}}</span>
|
||||
|
||||
{{!-- Tags Start --}}
|
||||
{{#with item}}
|
||||
|
|
@ -75,18 +76,30 @@ Parameters:
|
|||
<i class='fas fa-trash'></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if (eq type 'character')}}
|
||||
<a data-action='deletePartyMember' data-tooltip="CONTROLS.CommonDelete">
|
||||
<i class='fas fa-trash'></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{#if (eq type 'weapon')}}
|
||||
<a class="{{#unless item.system.equipped}}unequipped{{/unless}}" data-action="toggleEquipItem"
|
||||
data-tooltip="DAGGERHEART.UI.Tooltip.{{ifThen item.system.equipped 'unequip' 'equip' }}">
|
||||
<i class="fa-solid fa-hands"></i>
|
||||
</a>
|
||||
{{else if (eq type 'armor')}}
|
||||
<a class="{{#unless item.system.equipped}}unequipped{{/unless}}" data-action="toggleEquipItem"
|
||||
data-tooltip="DAGGERHEART.UI.Tooltip.{{ifThen item.system.equipped 'unequip' 'equip' }}">
|
||||
<i class="fa-solid fa-shield"></i>
|
||||
</a>
|
||||
{{else if (eq type 'domainCard')}}
|
||||
{{#unless (eq actorType 'party')}}
|
||||
{{#if (eq type 'weapon')}}
|
||||
<a class="{{#unless item.system.equipped}}unequipped{{/unless}}" data-action="toggleEquipItem"
|
||||
data-tooltip="DAGGERHEART.UI.Tooltip.{{ifThen item.system.equipped 'unequip' 'equip' }}">
|
||||
<i class="fa-solid fa-hands"></i>
|
||||
</a>
|
||||
{{else if (eq type 'armor')}}
|
||||
<a class="{{#unless item.system.equipped}}unequipped{{/unless}}" data-action="toggleEquipItem"
|
||||
data-tooltip="DAGGERHEART.UI.Tooltip.{{ifThen item.system.equipped 'unequip' 'equip' }}">
|
||||
<i class="fa-solid fa-shield"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<a data-action="deleteItem" data-tooltip="DAGGERHEART.UI.Tooltip.deleteItem">
|
||||
<i class="fa-solid fa-trash"></i>
|
||||
</a>
|
||||
{{/unless}}
|
||||
{{#if (eq type 'domainCard')}}
|
||||
<a data-action="toggleVault"
|
||||
data-tooltip="DAGGERHEART.UI.Tooltip.{{ifThen item.system.inVault 'sendToLoadout' 'sendToVault' }}">
|
||||
<i class="fa-solid {{ifThen item.system.inVault 'fa-arrow-up' 'fa-arrow-down'}}"></i>
|
||||
|
|
@ -97,7 +110,7 @@ Parameters:
|
|||
<i class="{{ifThen item.disabled 'fa-solid fa-toggle-off' 'fa-solid fa-toggle-on'}}"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if (hasProperty item "toChat")}}
|
||||
{{#if (and (hasProperty item "toChat") (not (eq actorType 'party')))}}
|
||||
<a data-action="toChat" data-tooltip="DAGGERHEART.UI.Tooltip.sendToChat">
|
||||
<i class="fa-regular fa-message"></i>
|
||||
</a>
|
||||
|
|
|
|||
35
templates/sheets/global/partials/resource-bar.hbs
Normal file
35
templates/sheets/global/partials/resource-bar.hbs
Normal 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>
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
class='effect-control'
|
||||
data-action='removeItemFromCollection'
|
||||
data-target="subclasses"
|
||||
data-uuid={{subclass.uuid}}
|
||||
data-uuid="{{subclass.uuid}}"
|
||||
data-tooltip='{{localize "CONTROLS.CommonDelete"}}'
|
||||
>
|
||||
<i class='fas fa-trash'></i>
|
||||
|
|
|
|||
124
templates/ui/chat/groupRoll.hbs
Normal file
124
templates/ui/chat/groupRoll.hbs
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
<div class="group-roll">
|
||||
<div class="group-roll-section">
|
||||
<h4 class="divider group-roll-header first">
|
||||
<label>{{localize "DAGGERHEART.UI.Chat.groupRoll.leader"}}</label>
|
||||
</h4>
|
||||
<div class="group-roll-content {{#if system.leader.result}}finished{{/if}}">
|
||||
<div class="group-roll-member">
|
||||
<div class="group-roll-data">
|
||||
<img src="{{system.leader.actor.img}}" />
|
||||
<div class="group-roll-label-container">
|
||||
<div>{{system.leader.actor.name}}</div>
|
||||
<div class="group-roll-label-inner-container">
|
||||
{{#unless (isNullish system.leader.manualSuccess)}}
|
||||
<label class="group-roll-modifier {{#unless system.leader.manualSuccess}}failure{{/unless}}">{{#if system.leader.manualSuccess}}{{localize "DAGGERHEART.GENERAL.hit.single"}}{{else}}{{localize "DAGGERHEART.GENERAL.miss.single"}}{{/if}}</label>
|
||||
{{/unless}}
|
||||
<div class="group-roll-trait">{{localize (concat "DAGGERHEART.CONFIG.Traits." system.leader.trait ".name")}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{#unless system.leader.result}}
|
||||
<div class="group-roll-rolling">
|
||||
<a class="group-roll-button" data-path="leader"><img class="dice-icon normal" src="{{concat 'systems/daggerheart/assets/icons/dice/default/d20.svg'}}" alt=""></a>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="roll-results {{#if system.leader.result}}finished{{/if}}">
|
||||
{{#if (isNullish system.leader.manualSuccess)}}
|
||||
<div class="reroll-result-container">
|
||||
<a class="group-roll-success success" data-success="true" data-path="leader"><i class="fa-solid fa-check"></i></a>
|
||||
<a class="group-roll-success failure" data-path="leader"><i class="fa-solid fa-xmark"></i></a>
|
||||
</div>
|
||||
|
||||
<a class="group-roll-reroll" data-path="leader" data-tooltip="{{localize "DAGGERHEART.UI.Chat.groupRoll.rerollTooltip"}}">
|
||||
<img class="dice-icon normal" src="{{concat 'systems/daggerheart/assets/icons/dice/default/d20.svg'}}" alt=""></img>
|
||||
<i class="fa-solid fa-arrow-rotate-left reroll-icon"></i>
|
||||
</a>
|
||||
{{else}}
|
||||
<div class="reroll-result-container">
|
||||
{{#if system.leader.manualSuccess}}
|
||||
<i class="fa-solid fa-check success"></i>
|
||||
{{else}}
|
||||
<i class="fa-solid fa-xmark failure"></i>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{#if system.leader.result}}
|
||||
<div class="group-roll-main-roll">
|
||||
<h4 class="divider">
|
||||
{{localize "DAGGERHEART.UI.Chat.dualityRoll.abilityCheckTitle" ability=(localize (concat "DAGGERHEART.CONFIG.Traits." system.leader.trait ".name"))}}
|
||||
</h4>
|
||||
<span class="main-roll-content">
|
||||
<span class="main-value">
|
||||
{{system.leader.result.total}}
|
||||
{{#unless (isNullish system.totalModifier)}}
|
||||
{{#if (gte system.totalModifier 0)}}+{{else}}-{{/if}}
|
||||
{{positive system.totalModifier}} = {{add system.leader.result.total system.totalModifier}}
|
||||
{{/unless}}
|
||||
</span>
|
||||
<span class="main-text">{{localize "DAGGERHEART.GENERAL.withThing" thing=system.leader.result.result.label}}</span>
|
||||
</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="group-roll-section">
|
||||
<h4 class="divider group-roll-header">
|
||||
<a class="group-roll-header-expand-section">
|
||||
<i class="fa-solid fa-angle-down"></i>
|
||||
<label>{{localize "DAGGERHEART.UI.Chat.groupRoll.team"}}</label>
|
||||
<i class="fa-solid fa-angle-down"></i>
|
||||
</a>
|
||||
</h4>
|
||||
<div class="group-roll-content">
|
||||
{{#each system.members as |member index|}}
|
||||
<div class="group-roll-member">
|
||||
<div class="group-roll-data">
|
||||
<img src="{{member.actor.img}}" />
|
||||
<div class="group-roll-label-container">
|
||||
<div>{{member.actor.name}}</div>
|
||||
<div class="group-roll-label-inner-container">
|
||||
{{#unless (isNullish member.manualSuccess)}}
|
||||
<label class="group-roll-modifier {{#unless member.manualSuccess}}failure{{/unless}}">{{#if member.manualSuccess}}+1{{else}}-1{{/if}}</label>
|
||||
{{/unless}}
|
||||
<div class="group-roll-trait">{{localize (concat "DAGGERHEART.CONFIG.Traits." member.trait ".name")}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{#unless member.result}}
|
||||
<div class="group-roll-rolling">
|
||||
<a class="group-roll-button" data-path="{{concat "members." index}}"><img class="dice-icon normal" src="{{concat 'systems/daggerheart/assets/icons/dice/default/d20.svg'}}" alt=""></a>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="roll-results">
|
||||
{{#if (isNullish member.manualSuccess)}}
|
||||
<div class="reroll-result-container">
|
||||
<span class="label">{{member.result.total}}</span>
|
||||
|
||||
<a class="group-roll-success success" data-success="true" data-path="{{concat "members." index}}"><i class="fa-solid fa-check"></i></a>
|
||||
<a class="group-roll-success failure" data-path="{{concat "members." index}}"><i class="fa-solid fa-xmark"></i></a>
|
||||
</div>
|
||||
|
||||
<a class="group-roll-reroll" data-path="{{concat "members." index}}" data-tooltip="{{localize "DAGGERHEART.UI.Chat.groupRoll.rerollTooltip"}}">
|
||||
<img class="dice-icon normal" src="{{concat 'systems/daggerheart/assets/icons/dice/default/d20.svg'}}" alt=""></img>
|
||||
<i class="fa-solid fa-arrow-rotate-left reroll-icon"></i>
|
||||
</a>
|
||||
{{else}}
|
||||
<div class="reroll-result-container">
|
||||
<span class="label">{{member.result.total}}</span>
|
||||
{{#if member.manualSuccess}}
|
||||
<i class="fa-solid fa-check success"></i>
|
||||
{{else}}
|
||||
<i class="fa-solid fa-xmark failure"></i>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue