Files
vermine2047/templates/dialogs/experience-phase-dialog.hbs
T
uberwald 9d36b92fa9 feat: nouveaux apprentissages (Capacités de Totem, Historique, Réputation) et expérience de Groupe
- Dialogue d'apprentissage personnage : 4 nouveaux types d'achat.
  - Capacité de Totem : options filtrées (mode de jeu, niveau de
    groupe, totem, non-apprises), difficulté = valeur d'Apprentissage,
    limites 3×N1 / 1×N2-N3 / max 5, marque system.learned de l'item
    (convention type character) et learned.ability du personnage.
  - Élément d'Historique : difficulté 9, handicap 1 si astérisque
    (background.asterisk), marque learned.background + item.
  - Test de Réputation (réduire/augmenter) : réduire = difficulté
    10 − score visé (−1 pt), augmenter = difficulté = réputation
    actuelle (+1 par succès), bornes 0-10, marque learned.reputation.
  - Évolution : option Dé de Totem Adapté ×2 quand Adapté > Humain
    (1D remplacé par un dé adapté compté ×2 via VermineUtils.roll).
- Correction règles : les Dés d'Expérience sont dépensés même en cas
  d'échec du jet d'apprentissage (décompte hors #applySuccess).
- Expérience de Groupe : nouveau dialogue d'apprentissage de Groupe
  (niveau, réserve, capacité de totem), réserve d'expérience et phase
  dans system.experience, boutons sur la fiche Groupe, reset des
  limites par phase (level/reserve/ability).
- Phase d'expérience : filtre par groupe sélectionné, associe chaque
  personnage à son premier groupe, reset des limites de tous les
  nouveaux types d'apprentissage.
- Corrections : l'attaque de créature n'ajoute plus la Réaction du Rôle
  (regles_creatures.txt), suppression de la case XP des en-têtes PJ
  (legacy et AppV2).
- Divers : .eslintrc.js (règles inexistantes/obsolètes retirées),
  libellé jaune de dialogue en couleur chitine, i18n FR/EN, chips
  « appris » sur l'onglet expérience du personnage.
2026-08-05 11:56:59 +02:00

110 lines
5.0 KiB
Handlebars

<div class="roll-dialog-content">
<h3 class="combat-mode-label">{{ localize 'VERMINE.experience_phase' }}</h3>
<details class="difficulty-section" open>
<summary class="flexrow">
<span class="label">{{ localize 'VERMINE.collective_rewards' }}</span>
<span class="current-values"><span id="collective-total">0D</span></span>
</summary>
<div class="flexrow difficulty-controls">
<div class="flexcol">
<label class="label" for="collective-danger">{{ localize 'VERMINE.danger' }}</label>
<select class="info-value" data-roll="true" id="collective-danger" name="collective-danger">
{{#each rewards}}
<option value="{{ this.value }}">{{ this.label }} ({{ this.value }}D)</option>
{{/each}}
</select>
</div>
<div class="flexcol">
<label class="label" for="collective-discoveries">{{ localize 'VERMINE.discoveries' }}</label>
<select class="info-value" data-roll="true" id="collective-discoveries" name="collective-discoveries">
{{#each rewards}}
<option value="{{ this.value }}">{{ this.label }} ({{ this.value }}D)</option>
{{/each}}
</select>
</div>
<div class="flexcol">
<label class="label" for="collective-duration">{{ localize 'VERMINE.duration' }}</label>
<select class="info-value" data-roll="true" id="collective-duration" name="collective-duration">
{{#each rewards}}
<option value="{{ this.value }}">{{ this.label }} ({{ this.value }}D)</option>
{{/each}}
</select>
</div>
</div>
{{#if groups.length}}
<div class="flexrow bonus-item">
<label class="label" for="group-select">{{ localize 'VERMINE.collective_group' }}</label>
<select class="info-value" id="group-select" name="group-select">
<option value="">{{ localize 'VERMINE.none' }}</option>
{{#each groups}}
<option value="{{ this.id }}">{{ this.name }} ({{ this.dice }}D)</option>
{{/each}}
</select>
</div>
{{/if}}
</details>
<div class="exp-phase-characters">
{{#each characters}}
<details class="difficulty-section" data-character-id="{{ this.id }}" data-group-id="{{ this.groupId }}" open>
<summary class="flexrow">
<span class="label">{{ this.name }}</span>
<span class="current-values">{{ localize 'VERMINE.experience_dice' }}: {{ this.dice }}D</span>
</summary>
<div class="flexrow difficulty-controls">
<div class="flexcol">
<label class="label" for="implication-{{ this.id }}">{{ localize 'VERMINE.implication' }}</label>
<select class="info-value" data-roll="true" id="implication-{{ this.id }}" name="implication-{{ this.id }}">
{{#each @root.rewards}}
<option value="{{ this.value }}">{{ this.label }} ({{ this.value }}D)</option>
{{/each}}
</select>
</div>
<div class="flexcol">
<label class="label" for="influence-{{ this.id }}">{{ localize 'VERMINE.influence' }}</label>
<select class="info-value" data-roll="true" id="influence-{{ this.id }}" name="influence-{{ this.id }}">
{{#each @root.rewards}}
<option value="{{ this.value }}">{{ this.label }} ({{ this.value }}D)</option>
{{/each}}
</select>
</div>
<div class="flexcol">
<label class="label" for="interpretation-{{ this.id }}">{{ localize 'VERMINE.interpretation' }}</label>
<select class="info-value" data-roll="true" id="interpretation-{{ this.id }}" name="interpretation-{{ this.id }}">
{{#each @root.rewards}}
<option value="{{ this.value }}">{{ this.label }} ({{ this.value }}D)</option>
{{/each}}
</select>
</div>
</div>
<div class="flexrow bonus-item">
<label class="flexrow">
<input type="checkbox" data-roll="true" id="objective-minor-{{ this.id }}" name="objective-minor-{{ this.id }}" />
<span class="label">{{ localize 'VERMINE.objective_minor' }} (+3D)</span>
</label>
<label class="flexrow">
<input type="checkbox" data-roll="true" id="objective-major-{{ this.id }}" name="objective-major-{{ this.id }}" />
<span class="label">{{ localize 'VERMINE.objective_major' }} (+5D)</span>
</label>
<label class="flexrow">
<input type="checkbox" data-roll="true" id="trauma-{{ this.id }}" name="trauma-{{ this.id }}" />
<span class="label">{{ localize 'VERMINE.trauma_reward' }} (+5D)</span>
</label>
</div>
</details>
{{else}}
<p>{{ localize 'VERMINE.no_character' }}</p>
{{/each}}
</div>
<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="apply">
<i class="fas fa-check"></i> {{localize "VERMINE.apply"}}
</button>
</footer>
</div>