Ajout des fonctions de gestion des soins

This commit is contained in:
2026-04-21 10:22:39 +02:00
parent df0a93d715
commit 74f1b581f7
52 changed files with 2697 additions and 650 deletions

View File

@@ -80,19 +80,20 @@
{{!-- ── TAB CONTENT ── --}}
<div class="creature-body">
{{!-- ── TAB : COMBAT (compétences + attaques + traits) ── --}}
<div class="tab" data-group="primary" data-tab="combat">
{{!-- ── TAB : COMPÉTENCES ── --}}
<div class="tab" data-group="primary" data-tab="skills">
{{!-- Compétences --}}
<div class="header upcase">{{ localize 'MGT2.Creature.TabSkills' }}</div>
<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 class="row-item row-item-right item-controls" style="flex: 0 0 3rem">
{{#if isEditable}}<a data-action="addSkill" data-prop="skills" title="{{ localize 'MGT2.Creature.AddSkill' }}"><i class="fas fa-plus"></i></a>{{/if}}
</div>
</div>
{{#each system.skills as |skill i|}}
<div class="table-row">
<div class="row-item row-item-left" style="flex: 3">
@@ -124,29 +125,25 @@
</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">
{{!-- Attaques --}}
<div class="header upcase">{{ localize 'MGT2.Creature.TabAttacks' }}</div>
<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.Creature.AttackSkill' }}</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 class="row-item row-item-right item-controls" 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">
@@ -163,6 +160,22 @@
<span class="damage-formula">{{atk.damage}}</span>
{{/if}}
</div>
<div class="row-item row-item-left" style="flex: 3">
{{#if ../isEditable}}
<select name="system.attacks.{{i}}.skill">
<option value="-1">— {{ localize 'MGT2.RollPrompt.NoSkill' }} —</option>
{{#each ../system.skills as |sk si|}}
<option value="{{si}}" {{#if (eq si ../skill)}}selected{{/if}}>{{sk.name}} ({{showDM sk.level}})</option>
{{/each}}
</select>
{{else}}
{{#if (gte atk.skill 0)}}
<span>{{lookup (lookup ../system.skills atk.skill) "name"}}</span>
{{else}}
<span class="text-muted"></span>
{{/if}}
{{/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}}" />
@@ -178,29 +191,24 @@
</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">
{{!-- Traits --}}
<div class="header upcase">{{ localize 'MGT2.Creature.TabTraits' }}</div>
<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 class="row-item row-item-right item-controls" 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">
@@ -231,34 +239,32 @@
</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>
</div>{{!-- /tab combat --}}
{{!-- ── 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>
{{formInput systemFields.biography enriched=enrichedBiography value=system.biography name="system.biography" toggled=true}}
</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>
{{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
</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="combat" title="{{ localize 'MGT2.Creature.TabCombat' }}"><i class="fa-solid fa-swords"></i><span class="tab-label">COMBAT</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>