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
+23 -2
View File
@@ -696,6 +696,27 @@
&:last-child { border-bottom: none; }
}
.evolution-badge {
margin-left: 6px;
padding: 1px 6px;
font-family: "Roboto", sans-serif;
font-size: @font-size-11;
text-transform: uppercase;
border-radius: 3px;
&.adaptation {
color: @color-text-light-0;
background: fade(@color-acid-green, 25%);
border: 1px solid @color-acid-green;
}
&.mutation {
color: @color-text-light-0;
background: fade(@color-hemolymph, 30%);
border: 1px solid @color-hemolymph;
}
}
}
// ── V2 tab navigation — chitin-plate style ─────────────────────────
@@ -706,7 +727,7 @@
margin: 0;
padding: 0;
background: @color-chitin-dark;
border-bottom: 2px solid @color-amber;
border-bottom: 2px solid @color-hemolymph;
min-height: 36px;
> a {
@@ -730,7 +751,7 @@
}
&.active {
background: linear-gradient(180deg, @color-amber 0%, @color-honeycomb 100%);
background: @color-honeycomb;
color: @color-chitin-dark;
&::after {
+4 -4
View File
@@ -69,7 +69,7 @@
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
color: @color-text-light-2;
}
}
@@ -111,7 +111,7 @@
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
color: @color-text-light-2;
}
input[type="number"] {
@@ -134,7 +134,7 @@
}
&.crisis { border-left-color: @color-hemolymph; .gauge-state { color: @color-hemolymph; } }
&.low { border-left-color: @color-amber; .gauge-state { color: @color-amber; } }
&.low { border-left-color: @color-honeycomb; .gauge-state { color: @color-honeycomb; } }
&.stable { border-left-color: @color-acid-green; .gauge-state { color: @color-acid-green; } }
&.opulent { border-left-color: @theme-color-accent; .gauge-state { color: @theme-color-accent; } }
}
@@ -146,7 +146,7 @@
&.high { color: @color-acid-green; }
&.normal { color: @color-text-light-0; }
&.low { color: @color-amber; }
&.low { color: @color-honeycomb; }
&.crisis { color: @color-hemolymph; }
}
}
+1 -1
View File
@@ -188,7 +188,7 @@
.capacity-type {
flex: 0 0 auto;
font-size: @font-size-12;
color: @color-amber;
color: @color-text-light-2;
text-transform: uppercase;
}
+32
View File
@@ -124,5 +124,37 @@
}
}
}
.totem-influence-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 6px;
margin-top: 2px;
font-size: 0.75rem;
.totem-influence-label {
color: @color-text-light-0;
strong.totem-human { color: @totem-human-color; }
strong.totem-adapted { color: @totem-adapted-color; }
}
.totem-manage-btn {
flex: none;
padding: 2px 8px;
cursor: pointer;
color: @color-text-light-0;
background: fade(@color-hemolymph, 20%);
border: 1px solid @color-hemolymph;
border-radius: 3px;
.transition();
&:hover {
color: @theme-color-dark;
background: @color-hemolymph;
}
}
}
}
}
+2 -2
View File
@@ -124,7 +124,7 @@
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
color: @color-text-light-2;
}
}
@@ -171,7 +171,7 @@
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
color: @color-text-light-2;
}
}
}