feat: gestion des Dés de Totems (influence, instincts, interdits)
Release Creation / build (release) Failing after 1m32s
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:
@@ -74,6 +74,22 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Influence + gestion des Dés de Totems --}}
|
||||
<div class="totem-influence-row">
|
||||
<span class="totem-influence-label">
|
||||
{{ localize "VERMINE.influence" }}:
|
||||
{{#ifgt system.adaptation.totems.human.value system.adaptation.totems.adapted.value}}
|
||||
<strong class="totem-human">{{ localize "TOTEMS.human.name" }}</strong>
|
||||
{{else ifgt system.adaptation.totems.adapted.value system.adaptation.totems.human.value}}
|
||||
<strong class="totem-adapted">{{ localize "TOTEMS.adapted.name" }}</strong>
|
||||
{{else}}
|
||||
<strong>{{ localize "VERMINE.totem_neutral" }}</strong>
|
||||
{{/ifgt}}
|
||||
</span>
|
||||
<button type="button" class="totem-manage-btn" data-action="openTotemDice"
|
||||
title="{{ localize 'VERMINE.totem_manage' }}"><i class="fas fa-sliders"></i></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<ul class="padding-with-frieze unstyled paper">
|
||||
{{#if system.identity.totem }}
|
||||
|
||||
@@ -97,7 +97,6 @@
|
||||
data-action="edit"
|
||||
data-item-id="{{item._id}}"
|
||||
title="Edit Item">{{item.name}}</a>
|
||||
<span data-tooltip="Compétence">{{item.system.skill}}</span>
|
||||
</div>
|
||||
<div class="item-controls flexrow">
|
||||
{{#if item.system.description}}
|
||||
@@ -192,9 +191,8 @@
|
||||
{{#if isEditMode}}
|
||||
<a
|
||||
class="item-control item-create"
|
||||
title="Create item"
|
||||
data-action="create"
|
||||
data-type="evolution"><i class="fas fa-plus"></i></a>
|
||||
title="Buy evolution"
|
||||
data-action="buyEvolution"><i class="fas fa-cart-shopping"></i></a>
|
||||
{{/if}}
|
||||
</h4>
|
||||
<ol class="list-item">
|
||||
@@ -206,6 +204,11 @@
|
||||
data-action="edit"
|
||||
data-item-id="{{item._id}}"
|
||||
title="Edit Item">{{item.name}}</a>
|
||||
{{#if item.system.mutation}}
|
||||
<span class="evolution-badge mutation">{{ localize 'VERMINE.evolution_mutation' }}</span>
|
||||
{{else}}
|
||||
<span class="evolution-badge adaptation">{{ localize 'VERMINE.evolution_adaptation' }}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="item-controls flexrow">
|
||||
{{#if item.system.description}}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
<div class="roll-dialog-content">
|
||||
<h3 class="combat-mode-label">{{ localize 'VERMINE.buy_evolution' }}</h3>
|
||||
|
||||
<div class="learning-summary">
|
||||
<span class="label">{{ localize 'VERMINE.evolution_available_dice' }}:</span>
|
||||
<span class="exp-value">{{ evolutionDice }}D</span>
|
||||
</div>
|
||||
|
||||
<div class="flexrow bonus-item full-width">
|
||||
<label class="label" for="evolution-name">{{ localize 'VERMINE.evolution_name' }}</label>
|
||||
<input type="text" data-roll="true" id="evolution-name" name="evolution-name" value="{{ defaultName }}" />
|
||||
</div>
|
||||
|
||||
<div class="flexrow bonus-item full-width">
|
||||
<label class="label" for="evolution-level">{{ localize 'VERMINE.evolution_level' }}</label>
|
||||
<select class="info-value" data-roll="true" id="evolution-level" name="evolution-level">
|
||||
{{#each levels}}
|
||||
<option value="{{ this.value }}">{{ this.value }}D — {{ this.cost }}D</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="flexrow bonus-item full-width">
|
||||
<label class="label" for="evolution-mutation">{{ localize 'VERMINE.evolution_mutation' }}</label>
|
||||
<input type="checkbox" data-roll="true" id="evolution-mutation" name="evolution-mutation" />
|
||||
</div>
|
||||
|
||||
<div class="learning-result">
|
||||
<div class="context-item">
|
||||
<span class="context-label">{{ localize 'VERMINE.evolution_total' }}</span>
|
||||
<span class="context-value" id="evolution-total-value">{{ totalLevels }}D</span>
|
||||
</div>
|
||||
<div class="context-item">
|
||||
<span class="context-label">{{ localize 'VERMINE.evolution_mode_max' }}</span>
|
||||
<span class="context-value">{{ modeMax }}D</span>
|
||||
</div>
|
||||
<div class="context-item">
|
||||
<span class="context-label">{{ localize 'VERMINE.game_mode' }}</span>
|
||||
<span class="context-value">{{ modeLabel }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="learning-hint">{{ localize 'VERMINE.evolution_buy_hint' }}</p>
|
||||
|
||||
<footer class="sheet-footer flexrow">
|
||||
<button type="button" data-action="cancel">
|
||||
<i class="fas fa-times"></i> {{localize "VERMINE.cancel"}}
|
||||
</button>
|
||||
<button type="button" data-action="buy">
|
||||
<i class="fas fa-cart-shopping"></i> {{localize "VERMINE.buy_evolution"}}
|
||||
</button>
|
||||
</footer>
|
||||
</div>
|
||||
@@ -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>
|
||||
@@ -13,6 +13,10 @@
|
||||
<label class="resource-label ">{{ localize "VERMINE.level"}}</label>
|
||||
<span class="hexa"><input type="number" name="system.level.value" value="{{system.level.value }}" data-dtype="Number" min="{{system.level.min }}" max="{{system.level.max }}"/></span>
|
||||
</h4>
|
||||
<div class="flexrow bonus-item full-width">
|
||||
<label class="resource-label" for="system.mutation">{{ localize "VERMINE.evolution_mutation"}}</label>
|
||||
<input type="checkbox" name="system.mutation" {{checked system.mutation}}/>
|
||||
</div>
|
||||
<h2>description</h2>
|
||||
|
||||
<fieldset>
|
||||
|
||||
Reference in New Issue
Block a user