Second round de corrections et améliorations

This commit is contained in:
2026-04-19 18:55:34 +02:00
parent 783d4a16e6
commit d62d14c1da
33 changed files with 2225 additions and 390 deletions

View File

@@ -1,13 +1,4 @@
<div class="{{cssClass}} flexcol" style="align-content: flex-start;align-items: baseline;overflow: hidden;height: 100%;">
<nav class="sheet-sidebar tabs" data-group="sidebar">
<!-- <a class="item tab-select" data-tab="personal" title="Personal"><i class="fa-solid fa-id-card"></i></a> -->
<a class="item tab-select" data-tab="health" title="{{ localize 'MGT2.Actor.Health' }}"><i class="fa-solid fa-heart-pulse"></i></a>
<a class="item tab-select" data-tab="skills" title="{{ localize 'MGT2.Actor.TabSkills' }}"><i class="fa-solid fa-head-side"></i></a>
<a class="item tab-select" data-tab="inventory" title="{{ localize 'MGT2.Actor.Inventory' }}"><i class="fa-solid fa-briefcase-blank"></i></a>
<a class="item tab-select" data-tab="relations" title="{{ localize 'MGT2.Actor.Contacts' }}"><i class="fa-solid fa-users"></i></a>
<a class="item tab-select" data-tab="notes" title="{{ localize 'MGT2.Actor.Notes' }}"><i class="fa-solid fa-books"></i></a>
<a class="item tab-select" data-tab="biography" title="{{ localize 'MGT2.Actor.Biography' }}"><i class="fa-solid fa-book-user"></i></a>
</nav>
<section class="character-header">
<div class="character-header-img">
<img class="profile" src="{{img}}" data-edit="img" title="{{name}}" height="130" width="100" />
@@ -387,7 +378,7 @@
{{#each skills as |skill id|}}
<div class="table-row" data-item-id="{{skill._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left flex-fix">
<a data-roll="skill" data-roll-skill="{{skill._id}}"><i class="fa-solid fa-dice"></i></a>{{skill.name}}{{#if skill.system.skill.speciality}} ({{skill.system.skill.speciality}}){{/if}}
<a class="roll" data-roll="skill" data-roll-skill="{{skill._id}}"><i class="fa-solid fa-dice"></i></a>{{skill.name}}{{#if skill.system.skill.speciality}} ({{skill.system.skill.speciality}}){{/if}}
</div>
<div class="row-item row-item-center">{{skill.system.level}}</div>
<div class="row-item item-controls">
@@ -410,7 +401,7 @@
{{#each psionics as |psionic id|}}
<div class="table-row" data-item-id="{{psionic._id}}" role="rowgroup">
<div class="row-item row-item-left">
<a data-roll="psionic" data-item-id="{{psionic._id}}"><i class="fa-solid fa-dice"></i></a>{{psionic.name}}
<a class="roll" data-roll="psionic" data-item-id="{{psionic._id}}"><i class="fa-solid fa-dice"></i></a>{{psionic.name}}
</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{psionic.system.level}}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{psionic.system.psionic.cost}}</div>
@@ -446,7 +437,7 @@
{{#each weapons as |weapon id|}}
<div class="table-row{{#if weapon.subInfo}} table-row-mb-4{{/if}} drag-item-list" data-item-id="{{weapon._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left flex-3 row-large">
<a data-roll="item" data-item-id="{{weapon._id}}"><i class="fa-solid fa-dice"></i></a>{{weapon.name}}{{#if weapon.subInfo}}<div class="item-options">{{weapon.subInfo}}</div>{{/if}}
<a class="roll" data-roll="item" data-item-id="{{weapon._id}}"><i class="fa-solid fa-dice"></i></a>{{weapon.name}}{{#if weapon.subInfo}}<div class="item-options">{{weapon.subInfo}}</div>{{/if}}
</div>
<div class="row-item row-item-2 row-item-center">{{weapon.range}}</div>
<div class="row-item row-item-20 row-item-center">{{weapon.system.damage}}</div>
@@ -471,7 +462,7 @@
{{#each armors as |armor id|}}
<div class="table-row{{#if armor.subInfo}} table-row-mb-4{{/if}} drag-item-list" data-item-id="{{armor._id}}" role="rowgroup">
<div class="row-item row-item-40 row-item-left">
<a data-roll="item" data-item-id="{{armor._id}}"><i class="fa-solid fa-dice"></i></a>{{armor.name}}{{#if armor.subInfo}}<div class="item-options">{{armor.subInfo}}</div>{{/if}}
<a class="roll" data-roll="item" data-item-id="{{armor._id}}"><i class="fa-solid fa-dice"></i></a>{{armor.name}}{{#if armor.subInfo}}<div class="item-options">{{armor.subInfo}}</div>{{/if}}
</div>
<div class="row-item row-item-10 row-item-center">{{armor.system.radiations}}</div>
<div class="row-item row-item-10 row-item-center">{{armor.system.protection}}</div>
@@ -514,7 +505,7 @@
{{#each computers as |computer id|}}
<div class="table-row drop-item-list" data-item-id="{{computer._id}}" role="rowgroup">
<div class="row-item row-item-50 row-item-left">
<a data-roll="item" data-item-id="{{computer._id}}"><i class="fa-solid fa-dice"></i></a>{{computer.name}}{{#if computer.subInfo}}<div class="item-options">{{computer.subInfo}}</div>{{/if}}
<a class="roll" data-roll="item" data-item-id="{{computer._id}}"><i class="fa-solid fa-dice"></i></a>{{computer.name}}{{#if computer.subInfo}}<div class="item-options">{{computer.subInfo}}</div>{{/if}}
</div>
<div class="row-item row-item-2 row-item-center {{overloadClass}}">{{computer.system.processingUsed}}/{{computer.system.processing}}
{{#if computer.system.overload}}<a title="Overload"><i class="fa-solid fa-triangle-exclamation"></i></a>{{/if}}
@@ -740,9 +731,16 @@
<p>À FAIRE</p>
</div> -->
{{/if}}
<nav class="sheet-sidebar tabs" data-group="sidebar">
<a class="item tab-select" data-tab="health" title="{{ localize 'MGT2.Actor.Health' }}"><i class="fa-solid fa-heart-pulse"></i><span class="tab-label">SANTÉ</span></a>
<a class="item tab-select" data-tab="skills" title="{{ localize 'MGT2.Actor.TabSkills' }}"><i class="fa-solid fa-head-side"></i><span class="tab-label">COMP.</span></a>
<a class="item tab-select" data-tab="inventory" title="{{ localize 'MGT2.Actor.Inventory' }}"><i class="fa-solid fa-briefcase-blank"></i><span class="tab-label">ÉQUIP.</span></a>
<a class="item tab-select" data-tab="relations" title="{{ localize 'MGT2.Actor.Contacts' }}"><i class="fa-solid fa-users"></i><span class="tab-label">CONT.</span></a>
<a class="item tab-select" data-tab="notes" title="{{ localize 'MGT2.Actor.Notes' }}"><i class="fa-solid fa-books"></i><span class="tab-label">NOTES</span></a>
<a class="item tab-select" data-tab="biography" title="{{ localize 'MGT2.Actor.Biography' }}"><i class="fa-solid fa-book-user"></i><span class="tab-label">BIO</span></a>
</nav>
</div>
<section class="actor-footer">
<div><a name="config" title="Config" style="margin-right: 0.5rem;"><i class="fa-solid fa-gear"></i></a></div>
</section>
</div>
<section class="actor-footer">
<div><a name="config" title="Config" style="margin-right: 0.5rem;"><i class="fa-solid fa-gear"></i></a></div>
</section>
</div>

View File

@@ -0,0 +1,26 @@
<form class="flexcol" autocomplete="off" style="padding: 0 6px;">
<div class="form-group">
<label>{{ localize 'MGT2.Creature.SkillLabel' }}: <strong>{{skillName}}</strong>
({{ localize 'MGT2.Creature.SkillLevel' }} {{skillLevel}})</label>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.CustomDM' }}</label>
<input type="number" name="dm" value="0" />
</div>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.Difficulty' }}</label>
<select name="difficulty">
{{selectOptions config.Difficulty selected="Average" localize=true}}
</select>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.RollMode' }}</label>
<select name="rollMode">
<option value="publicroll">{{ localize 'MGT2.RollPrompt.PublicRoll' }}</option>
<option value="gmroll">{{ localize 'MGT2.RollPrompt.PrivateGMRoll' }}</option>
<option value="blindroll">{{ localize 'MGT2.RollPrompt.BlindGMRoll' }}</option>
<option value="selfroll">{{ localize 'MGT2.RollPrompt.SelfRoll' }}</option>
</select>
</div>
<input type="hidden" name="difficultyLabel" value="" />
</form>

View File

@@ -0,0 +1,267 @@
<div class="{{cssClass}} flexcol creature-sheet">
{{!-- ── HEADER ── --}}
<header class="creature-header">
<div class="creature-header-img">
<img class="profile" src="{{img}}" data-edit="img" title="{{name}}" />
</div>
<div class="creature-header-body">
<input class="creature-name" name="name" type="text" value="{{name}}" placeholder="{{ localize 'MGT2.Creature.Name' }}" />
<div class="creature-stats-row">
{{!-- PdV --}}
<div class="creature-stat">
<label class="upcase">{{ localize 'MGT2.Creature.Life' }}</label>
<div class="creature-stat-value">
<input type="number" name="system.life.value" value="{{system.life.value}}" min="0" class="stat-current" />
<span>/</span>
<input type="number" name="system.life.max" value="{{system.life.max}}" min="0" class="stat-max" />
</div>
</div>
{{!-- Vitesse --}}
<div class="creature-stat">
<label class="upcase">{{ localize 'MGT2.Creature.Speed' }}</label>
<div class="creature-stat-value">
<input type="number" name="system.speed" value="{{system.speed}}" min="0" class="stat-current" />
<span class="stat-unit">m</span>
</div>
</div>
{{!-- Armure --}}
<div class="creature-stat">
<label class="upcase">{{ localize 'MGT2.Creature.Armor' }}</label>
<div class="creature-stat-value">
<input type="number" name="system.armor" value="{{system.armor}}" min="0" class="stat-current" />
</div>
</div>
{{!-- Initiative (calculated) --}}
<div class="creature-stat">
<label class="upcase">{{ localize 'MGT2.Creature.Initiative' }}</label>
<div class="creature-stat-value">
<span class="stat-readonly">{{showDM system.initiativeBonus}}</span>
</div>
</div>
{{!-- PSI (shown only if > 0) --}}
{{#if system.psi}}
<div class="creature-stat">
<label class="upcase">{{ localize 'MGT2.Creature.Psi' }}</label>
<div class="creature-stat-value">
<input type="number" name="system.psi" value="{{system.psi}}" min="0" class="stat-current" />
</div>
</div>
{{/if}}
</div>
{{!-- Comportement --}}
<div class="creature-behavior-row">
<label class="upcase">{{ localize 'MGT2.Creature.Behavior' }}</label>
<select name="system.behavior.type" class="behavior-select">
<option value=""></option>
{{selectOptions config.CreatureBehaviorType selected=system.behavior.type localize=true}}
</select>
<span class="behavior-sep">,</span>
<select name="system.behavior.subtype" class="behavior-select">
<option value=""></option>
{{selectOptions config.CreatureBehaviorSubType selected=system.behavior.subtype localize=true}}
</select>
{{!-- Taille indicative --}}
<span class="creature-size-badge" title="{{ localize 'MGT2.Creature.SizeHint' }}">
{{sizeTraitLabel}} — {{sizeLabel}}
</span>
</div>
</div>
</header>
{{!-- ── TAB CONTENT ── --}}
<div class="creature-body">
{{!-- ── TAB : COMPÉTENCES ── --}}
<div class="tab" data-group="primary" data-tab="skills">
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-left upcase" style="flex: 3">{{ localize 'MGT2.Creature.SkillName' }}</div>
<div class="row-item row-item-center upcase" style="flex: 1">{{ localize 'MGT2.Creature.SkillLevel' }}</div>
<div class="row-item row-item-left upcase" style="flex: 3">{{ localize 'MGT2.Creature.SkillNote' }}</div>
<div class="row-item row-item-right" style="flex: 0 0 3rem">
<a data-action="addSkill" data-prop="skills" title="{{ localize 'MGT2.Creature.AddSkill' }}"><i class="fas fa-plus"></i></a>
</div>
</div>
{{#each system.skills as |skill i|}}
<div class="table-row">
<div class="row-item row-item-left" style="flex: 3">
{{#if ../isEditable}}
<input type="text" name="system.skills.{{i}}.name" value="{{skill.name}}" placeholder="{{ localize 'MGT2.Creature.SkillName' }}" />
{{else}}
<span>{{skill.name}}</span>
{{/if}}
</div>
<div class="row-item row-item-center" style="flex: 1">
{{#if ../isEditable}}
<input type="number" name="system.skills.{{i}}.level" value="{{skill.level}}" min="-3" max="6" class="text-center" />
{{else}}
<span>{{showDM skill.level}}</span>
{{/if}}
</div>
<div class="row-item row-item-left" style="flex: 3">
{{#if ../isEditable}}
<input type="text" name="system.skills.{{i}}.note" value="{{skill.note}}" placeholder="{{ localize 'MGT2.Creature.SkillNote' }}" />
{{else}}
<span class="text-muted">{{skill.note}}</span>
{{/if}}
</div>
<div class="row-item row-item-right item-controls" style="flex: 0 0 3rem">
<a data-action="rollSkill" data-index="{{i}}" title="{{ localize 'MGT2.Creature.RollSkill' }}"><i class="fas fa-dice-d6"></i></a>
{{#if ../isEditable}}
<a data-action="deleteSkill" data-prop="skills" data-index="{{i}}" title="{{ localize 'MGT2.Creature.Delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</div>
{{/each}}
{{#unless system.skills.length}}
<div class="table-row">
<div class="row-item row-item-center text-muted" style="flex:1">{{ localize 'MGT2.Creature.NoSkills' }}</div>
</div>
{{/unless}}
</div>
</div>
{{!-- ── TAB : ATTAQUES ── --}}
<div class="tab" data-group="primary" data-tab="attacks">
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-left upcase" style="flex: 3">{{ localize 'MGT2.Creature.AttackName' }}</div>
<div class="row-item row-item-center upcase" style="flex: 2">{{ localize 'MGT2.Creature.AttackDamage' }}</div>
<div class="row-item row-item-left upcase" style="flex: 3">{{ localize 'MGT2.Items.Description' }}</div>
<div class="row-item row-item-right" style="flex: 0 0 4rem">
{{#if isEditable}}
<a data-action="addAttack" data-prop="attacks" title="{{ localize 'MGT2.Creature.AddAttack' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</div>
</div>
{{#each system.attacks as |atk i|}}
<div class="table-row">
<div class="row-item row-item-left" style="flex: 3">
{{#if ../isEditable}}
<input type="text" name="system.attacks.{{i}}.name" value="{{atk.name}}" placeholder="{{ localize 'MGT2.Creature.AttackName' }}" />
{{else}}
<span>{{atk.name}}</span>
{{/if}}
</div>
<div class="row-item row-item-center creature-damage" style="flex: 2">
{{#if ../isEditable}}
<input type="text" name="system.attacks.{{i}}.damage" value="{{atk.damage}}" class="text-center" />
{{else}}
<span class="damage-formula">{{atk.damage}}</span>
{{/if}}
</div>
<div class="row-item row-item-left" style="flex: 3">
{{#if ../isEditable}}
<input type="text" name="system.attacks.{{i}}.description" value="{{atk.description}}" />
{{else}}
<span class="text-muted">{{atk.description}}</span>
{{/if}}
</div>
<div class="row-item row-item-right item-controls" style="flex: 0 0 4rem">
<a data-action="rollAttack" data-index="{{i}}" title="{{ localize 'MGT2.Creature.RollAttack' }}"><i class="fas fa-dice-d6 color-primary"></i></a>
{{#if ../isEditable}}
<a data-action="deleteAttack" data-prop="attacks" data-index="{{i}}" title="{{ localize 'MGT2.Creature.Delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</div>
{{/each}}
{{#unless system.attacks.length}}
<div class="table-row">
<div class="row-item row-item-center text-muted" style="flex:1">{{ localize 'MGT2.Creature.NoAttacks' }}</div>
</div>
{{/unless}}
</div>
</div>
{{!-- ── TAB : TRAITS ── --}}
<div class="tab" data-group="primary" data-tab="traits">
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-left upcase" style="flex: 3">{{ localize 'MGT2.Creature.TraitName' }}</div>
<div class="row-item row-item-center upcase" style="flex: 1">{{ localize 'MGT2.Creature.TraitValue' }}</div>
<div class="row-item row-item-left upcase" style="flex: 4">{{ localize 'MGT2.Items.Description' }}</div>
<div class="row-item row-item-right" style="flex: 0 0 3rem">
{{#if isEditable}}
<a data-action="addTrait" data-prop="traits" title="{{ localize 'MGT2.Creature.AddTrait' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</div>
</div>
{{#each system.traits as |trait i|}}
<div class="table-row">
<div class="row-item row-item-left" style="flex: 3">
{{#if ../isEditable}}
<input type="text" name="system.traits.{{i}}.name" value="{{trait.name}}" placeholder="{{ localize 'MGT2.Creature.TraitName' }}" />
{{else}}
<span class="trait-name">{{trait.name}}</span>
{{/if}}
</div>
<div class="row-item row-item-center" style="flex: 1">
{{#if ../isEditable}}
<input type="text" name="system.traits.{{i}}.value" value="{{trait.value}}" class="text-center" />
{{else}}
<span class="trait-value">{{trait.value}}</span>
{{/if}}
</div>
<div class="row-item row-item-left" style="flex: 4">
{{#if ../isEditable}}
<input type="text" name="system.traits.{{i}}.description" value="{{trait.description}}" />
{{else}}
<span class="text-muted">{{trait.description}}</span>
{{/if}}
</div>
<div class="row-item row-item-right item-controls" style="flex: 0 0 3rem">
{{#if ../isEditable}}
<a data-action="deleteTrait" data-prop="traits" data-index="{{i}}" title="{{ localize 'MGT2.Creature.Delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</div>
{{/each}}
{{#unless system.traits.length}}
<div class="table-row">
<div class="row-item row-item-center text-muted" style="flex:1">{{ localize 'MGT2.Creature.NoTraits' }}</div>
</div>
{{/unless}}
</div>
</div>
{{!-- ── TAB : INFORMATIONS ── --}}
<div class="tab" data-group="primary" data-tab="info">
<div class="creature-info-tab">
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.biography" rows="8" class="creature-description">{{system.biography}}</textarea>
</div>
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Notes' }}</label>
<textarea name="system.notes" rows="4" class="creature-description">{{system.notes}}</textarea>
</div>
</div>
</div>
{{!-- ── VERTICAL SIDEBAR TABS (outside window, right side) ── --}}
<nav class="sheet-sidebar tabs" data-group="primary">
<a class="item tab-select" data-tab="skills" title="{{ localize 'MGT2.Creature.TabSkills' }}"><i class="fa-solid fa-head-side"></i><span class="tab-label">COMP.</span></a>
<a class="item tab-select" data-tab="attacks" title="{{ localize 'MGT2.Creature.TabAttacks' }}"><i class="fa-solid fa-bolt"></i><span class="tab-label">ATT.</span></a>
<a class="item tab-select" data-tab="traits" title="{{ localize 'MGT2.Creature.TabTraits' }}"><i class="fa-solid fa-star"></i><span class="tab-label">TRAITS</span></a>
<a class="item tab-select" data-tab="info" title="{{ localize 'MGT2.Creature.TabInfo' }}"><i class="fa-solid fa-circle-info"></i><span class="tab-label">INFO</span></a>
</nav>
</div>{{!-- .creature-body --}}
</div>

View File

@@ -0,0 +1,37 @@
<div class="mgt2-chat-roll mgt2-creature-roll">
<div class="mgt2-roll-header">
<img class="creature-chat-img" src="{{creatureImg}}" title="{{creatureName}}" />
<div class="mgt2-roll-header-text">
<span class="mgt2-roll-char-name">{{creatureName}}</span>
<div class="mgt2-roll-meta">
<span class="mgt2-roll-type">{{rollLabel}}</span>
{{#if difficulty}}
<span class="mgt2-roll-sep"></span>
<span class="mgt2-roll-difficulty">{{difficultyLabel}}</span>
{{/if}}
</div>
</div>
</div>
{{#if modifiers}}
<div class="mgt2-roll-modifiers">
{{#each modifiers as |mod|}}
<span class="mgt2-roll-mod-tag">{{mod}}</span>
{{/each}}
</div>
{{/if}}
<div class="dice-roll">
<div class="dice-result">
<div class="dice-formula">{{formula}}</div>
{{{tooltip}}}
<h4 class="dice-total {{#if success}}success{{else if failure}}failure{{/if}}">{{total}}</h4>
</div>
</div>
{{#if success}}
<div class="mgt2-outcome is-success"><i class="fa-solid fa-check"></i> {{ localize 'MGT2.Chat.Roll.Success' }}</div>
{{else if failure}}
<div class="mgt2-outcome is-failure"><i class="fa-solid fa-xmark"></i> {{ localize 'MGT2.Chat.Roll.Failure' }}</div>
{{/if}}
</div>

View File

@@ -1,46 +1,56 @@
<div class="roll-info">
<div class="roll-object-name">{{rollObjectName}}</div>
{{#if rollTypeName}}
{{#if rollDifficulty}}
<div class="roll-type-group"><div class="roll-type-name">{{rollTypeName}}</div><div class="roll-type-name">{{ localize rollDifficultyLabel }}</div></div>
{{else}}
<div class="roll-type-name">{{rollTypeName}}</div>
<div class="mgt2-chat-roll">
<div class="mgt2-roll-header">
<span class="mgt2-roll-char-name">{{rollObjectName}}</span>
{{#if rollTypeName}}
<div class="mgt2-roll-meta">
<span class="mgt2-roll-type">{{rollTypeName}}</span>
{{#if rollDifficulty}}
<span class="mgt2-roll-sep"></span>
<span class="mgt2-roll-difficulty">{{rollDifficultyLabel}}</span>
{{/if}}
</div>
{{/if}}
{{/if}}
</div>
{{#if rollMessage}}
<div>{{rollMessage}}</div>
<div class="mgt2-roll-modifier">{{rollMessage}}</div>
{{/if}}
{{#if rollModifiers}}
{{#each rollModifiers as |rollModifier i| }}
<div>{{rollModifier}}</div>
{{/each}}
<div class="mgt2-roll-modifiers">
{{#each rollModifiers as |mod i|}}
<span class="mgt2-roll-mod-tag">{{mod}}</span>
{{/each}}
</div>
{{/if}}
</div>
<div class="dice-roll">
{{#if flavor}}
<div class="dice-flavor">{{flavor}}</div>
<div class="dice-roll">
{{#if flavor}}
<div class="dice-flavor">{{flavor}}</div>
{{/if}}
<div class="dice-result">
<div class="dice-formula">{{formula}}</div>
{{{tooltip}}}
<h4 class="dice-total {{#if rollSuccess}}success{{else if rollFailure}}failure{{/if}}">{{total}}</h4>
</div>
</div>
{{#if rollSuccess}}
<div class="mgt2-outcome is-success"><i class="fa-solid fa-check"></i> {{ localize 'MGT2.Chat.Roll.Success' }}</div>
{{else if rollFailure}}
<div class="mgt2-outcome is-failure"><i class="fa-solid fa-xmark"></i> {{ localize 'MGT2.Chat.Roll.Failure' }}</div>
{{/if}}
<div class="dice-result"><div class="dice-formula">{{formula}}</div>{{{tooltip}}}<h4 class="dice-total">{{total}}</h4></div>
</div>
{{#if rollSuccess}}
<div class="roll-success">{{ localize 'MGT2.Chat.Roll.Success' }}</div>
{{else if rollFailure}}
<div class="roll-success">{{ localize 'MGT2.Chat.Roll.Failure' }}</div>
{{/if}}
{{#if showButtons}}
<div class="mgt2-buttons">
{{#if hasDamage}}
<button data-action="damage" title="{{ localize 'MGT2.Chat.Roll.ApplyDamages' }}"><i class="fa-regular fa-heart-circle-minus"></i></button>
<!-- <button data-action="healing" data-multiplier="1" title="Apply Healing"><i class="fa-regular fa-heart-circle-plus"></i></button> -->
{{#if showButtons}}
<div class="mgt2-buttons">
{{#if hasDamage}}
<button data-action="damage" title="{{ localize 'MGT2.Chat.Roll.ApplyDamages' }}"><i class="fa-regular fa-heart-circle-minus"></i></button>
{{/if}}
{{#if showRollDamage}}
<button data-action="rollDamage">{{ localize 'MGT2.Chat.Roll.Damages' }}</button>
{{/if}}
{{#each cardButtons as |cardButton i|}}
<button data-index="{{i}}" title="{{cardButton.label}}">{{cardButton.label}}</button>
{{/each}}
</div>
{{/if}}
{{#if showRollRequest}}
<button data-action="requestRoll" data-roll="characteristic" data-roll-characteristic="strength" title="Roll!"><i class="fa-solid fa-dice"></i></button>
{{/if}}
{{#if showRollDamage}}
<button data-action="rollDamage" title="Roll">{{ localize 'MGT2.Chat.Roll.Damages' }}</button>
{{/if}}
{{#each cardButtons as |cardButton i| }}
<button data-index="{{i}}" title="{{cardButton.label}}">{{cardButton.label}}</button>
{{/each}}
</div>
{{/if}}
</div>