Finished GroupRoll

This commit is contained in:
WBHarry 2025-11-05 23:51:14 +01:00
parent a442cb904b
commit c49079c57c
15 changed files with 632 additions and 42 deletions

View file

@ -1,14 +1,14 @@
<div class="group-roll">
<header class="dialog-header">
<h1>Group Roll</h1>
<h1>{{localize "DAGGERHEART.UI.Chat.groupRoll.title"}}</h1>
</header>
<fieldset class="one-column">
<legend>Leader</legend>
<legend>{{localize "DAGGERHEART.UI.Chat.groupRoll.leader"}}</legend>
{{#unless leader.actor}}
<input type="text" class="leader-change-input" name="leader"/>
<input type="text" class="leader-change-input" />
<div class="drag-area">
<span>Select a Leader</span>
<span>{{localize "DAGGERHEART.UI.Chat.groupRoll.selectLeader"}}</span>
</div>
{{else}}
<div class="actor-item">
@ -18,13 +18,13 @@
<div class="actor-check-info">
<div class="form-fields">
<label>{{localize "DAGGERHEART.GENERAL.Trait.single"}}</label>
<select name="leader.trait" data-dtype="Number">
{{selectOptions traitList selected=leader.trait labelAttr="label" valueAttr="value" }}
<select name="actorLeader.trait">
{{selectOptions traitList selected=leader.trait labelAttr="label" valueAttr="id" localize=true }}
</select>
</div>
<div class="form-fields">
<label>{{localize "DAGGERHEART.GENERAL.difficulty"}}</label>
<input type="number" name="leader.difficulty" value="{{leader.difficulty}}">
<input type="number" name="actorLeader.difficulty" value="{{leader.difficulty}}" data-dtype="Number">
</div>
</div>
</div>
@ -38,10 +38,12 @@
</fieldset>
<fieldset class="one-column">
<legend>Party Team</legend>
<input type="text" class="team-push-input" name="member"/>
<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|}}
{{#each members as |member index|}}
<div class="actor-item">
<img src="{{member.actor.img}}" alt="{{member.actor.name}}">
<div class="actor-info">
@ -49,30 +51,32 @@
<div class="actor-check-info">
<div class="form-fields">
<label>{{localize "DAGGERHEART.GENERAL.Trait.single"}}</label>
<select name="member.trait" data-dtype="Number">
{{selectOptions traitList selected=member.trait labelAttr="label" valueAttr="value" }}
<select name="{{concat "actorsMembers." index ".trait"}}">
{{selectOptions @root.traitList selected=member.trait labelAttr="label" valueAttr="id" localize=true }}
</select>
</div>
<div class="form-fields">
<label>{{localize "DAGGERHEART.GENERAL.difficulty"}}</label>
<input type="number" name="member.difficulty" value="{{member.difficulty}}">
<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}}">
<a data-action="removeMember" data-member-uuid="{{member.actor.uuid}}">
<i class="fa-solid fa-trash"></i>
</a>
</div>
</div>
{{/each}}
{{/if}}
<div class="drag-area">
<span>Select a Member</span>
</div>
{{#unless allSelected}}
<div class="drag-area">
<span>{{localize "DAGGERHEART.UI.Chat.groupRoll.selectMember"}}</span>
</div>
{{/unless}}
</fieldset>
<button class="submit-btn" data-action="roll">
<button class="submit-btn" data-action="roll" {{disabled @root.rollDisabled}}>
<i class="fa-solid fa-dice"></i>
<span>Roll</span>
<span>{{localize "DAGGERHEART.General.roll"}}</span>
</button>
</div>

View file

@ -0,0 +1,120 @@
<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 {{#unless (isNullish system.leader.manualSuccess)}}finished{{/unless}}">
<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 {{#unless (isNullish system.leader.manualSuccess)}}finished{{/unless}}">
{{#if (isNullish system.leader.manualSuccess)}}
<div class="reroll-result-container">
<span class="label">{{system.leader.result.total}}</span>
<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>
{{#unless (isNullish system.leader.manualSuccess)}}
<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}}</span>
<span class="main-text">{{localize "DAGGERHEART.GENERAL.withThing" thing=system.leader.result.result.label}}</span>
</span>
</div>
{{/unless}}
</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>