feat: gestion des Dés de Totems (influence, instincts, interdits)
Release Creation / build (release) Failing after 1m32s

- VermineTotemDice : influence Humain/Adapté (+1D/-1D par domaine, règles
  p. 121), gains/pertes via Instincts/Interdits avec limites (3D/totem,
  5D total) et règles d'échange.
- roll.mjs applique l'influence selon le Totem dominant (au lieu de
  l'ancienne logique basée sur identity.totem).
- Dialogue TotemDiceDialog (instinct Humain/autre totem, interdit Humain,
  acte grave ±2D) + bouton et ligne d'influence sur la fiche personnage.
- Dés de Totem gagnés en cas d'échec à l'apprentissage Dé d'Évolution
  (dés dépensés, garde capacité vide).
- Couleur de texte @color-text-light-2 assombrie (#c9e0c0 → #3f9b55)
  pour la lisibilité dans tous les dialogues.

fix: robustesse et visibilité des évolutions

- buyEvolutionDialog : n'efface les Dés d'Évolution que si l'item est créé.
- Flag mutation éditable sur la fiche item evolution + badge
  Adaptation/Mutation dans la liste du personnage.
- loseDie : applique aussi la limite totale de 5 dés au gain Adapté.
- Case "acte grave" conservée entre les rendus du dialogue.
This commit is contained in:
2026-08-06 15:32:55 +02:00
parent 3cb96410b9
commit b0a3aff648
23 changed files with 884 additions and 100 deletions
+44
View File
@@ -0,0 +1,44 @@
<div class="roll-dialog-content">
<h3 class="combat-mode-label">{{ localize 'VERMINE.totem_dice' }}</h3>
<div class="learning-summary">
<span class="label">{{ localize 'VERMINE.influence' }}:</span>
<span class="exp-value totem-influence">{{ influenceLabel }}</span>
</div>
<div class="totem-dice-state flexrow flex-group-center">
<div class="totem-state">
<span class="label totem-human">{{ localize 'TOTEMS.human.name' }}:</span>
<span class="value">{{ humanValue }} / {{ humanMax }}</span>
</div>
<div class="totem-state">
<span class="label totem-adapted">{{ localize 'TOTEMS.adapted.name' }}:</span>
<span class="value">{{ adaptedValue }} / {{ adaptedMax }}</span>
</div>
</div>
<div class="flexrow bonus-item full-width">
<label class="label" for="totem-serious">{{ localize 'VERMINE.totem_serious' }}</label>
<input type="checkbox" data-roll="true" id="totem-serious" name="totem-serious" {{checked serious}} />
</div>
<p class="learning-hint">{{ localize 'VERMINE.totem_manage_hint' }}</p>
<div class="totem-actions flexrow flex-wrap">
<button type="button" data-action="gainHuman">
<i class="fas fa-hand-holding-heart"></i> {{ localize 'VERMINE.totem_instinct_human' }}
</button>
<button type="button" data-action="gainAdapted">
<i class="fas fa-paw"></i> {{ localize 'VERMINE.totem_instinct_adapted' }}
</button>
<button type="button" data-action="loseHuman">
<i class="fas fa-ban"></i> {{ localize 'VERMINE.totem_interdit_human' }}
</button>
</div>
<footer class="sheet-footer flexrow">
<button type="button" data-action="close">
<i class="fas fa-times"></i> {{localize "VERMINE.close"}}
</button>
</footer>
</div>