Files
fvtt-celestopol/templates/chat-message.hbs
LeRatierBretonnier 1e92232013 feat: ajout du Mod. de situation (-8 à +8) dans toutes les fenêtres de jet
- Select situationMod (-8 → +8 par pas de 1) visible sur tous les jets (y compris résistance)
- Intégré dans la prévisualisation de formule (update dynamique)
- Pris en compte dans totalModifier au même titre que les autres mods
- Respecte la règle 'Puiser' (malus ignoré si puiser activé)
- Affiché dans la carte de tchat si non nul (symbole ◈)
- i18n : CELESTOPOL.Roll.situationMod

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 00:44:56 +02:00

186 lines
7.4 KiB
Handlebars
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div class="celestopol chat-roll {{resultClass}}">
{{!-- En-tête : acteur + domaine --}}
<div class="roll-header">
{{#if actorImg}}
<img src="{{actorImg}}" class="actor-img" alt="{{actorName}}">
{{/if}}
<div class="roll-info">
<span class="actor-name">{{actorName}}</span>
{{!-- Arme (mode combat) --}}
{{#if isCombat}}
<span class="weapon-info-header">
<span class="weapon-icon-small">⚔</span>
<span class="weapon-name-small">{{weaponName}}</span>
{{#if (gt weaponDegats "0")}}<span class="weapon-degats-small">+{{weaponDegats}}</span>{{/if}}
</span>
{{/if}}
<span class="skill-info">
{{#if statLabel}}<span class="stat-lbl">{{statLabel}}</span><span class="sep"> </span>{{/if}}
<span class="skill-lbl">{{skillLabel}}</span>
</span>
{{#if woundLabel}}<span class="wound-info">⚠ {{woundLabel}}</span>{{/if}}
</div>
</div>
{{!-- Zone dés --}}
<div class="dice-zone">
{{#each diceResults as |die|}}
<span class="die-face d8 {{#if (eq die 8)}}max{{/if}}{{#if (eq die 1)}}min{{/if}}">{{die}}</span>
{{/each}}
{{#if useFortune}}<span class="fortune-fixed-badge">+8</span>{{/if}}
</div>
{{!-- Formule détaillée --}}
<div class="formula-line">
<span class="fl-label">{{localize "CELESTOPOL.Roll.formula"}} :</span>
{{#if useFortune}}
<span class="fl-ndice">1d8</span>
<span class="fl-op">+</span>
<span class="fl-mod fortune" title="{{localize "CELESTOPOL.Roll.fortuneFixed"}}">8</span>
{{else}}
<span class="fl-ndice">{{nbDice}}d8</span>
{{/if}}
<span class="fl-eq"> = </span>
<span class="fl-sum">{{diceSum}}</span>
{{#if useFortune}}
<span class="fl-op">+</span>
<span class="fl-mod fortune">8</span>
{{/if}}
{{#if skillValue}}
<span class="fl-op">+</span>
<span class="fl-mod" title="{{localize "CELESTOPOL.Roll.skillValue"}}">{{skillValue}}</span>
{{/if}}
{{#if woundMalus}}
<span class="fl-op"></span>
<span class="fl-mod wound" title="{{localize "CELESTOPOL.Roll.woundMalus"}}">{{abs woundMalus}}</span>
{{/if}}
{{#if modifier}}
<span class="fl-op">{{#if (gt modifier 0)}}+{{else}}{{/if}}</span>
<span class="fl-mod">{{abs modifier}}</span>
{{/if}}
{{#if aspectMod}}
<span class="fl-op">{{#if (gt aspectMod 0)}}+{{else}}{{/if}}</span>
<span class="fl-asp" title="{{localize "CELESTOPOL.Roll.usedAspect"}}">✦{{abs aspectMod}}</span>
{{/if}}
{{#if situationMod}}
<span class="fl-op">{{#if (gt situationMod 0)}}+{{else}}{{/if}}</span>
<span class="fl-mod sit" title="{{localize "CELESTOPOL.Roll.situationMod"}}">◈{{abs situationMod}}</span>
{{/if}}
<span class="fl-sep">=</span>
<span class="fl-total">{{total}}</span>
</div>
{{!-- Seuil et marge --}}
<div class="threshold-line">
<span class="vs-wrap">
<span class="vs-label">vs</span>
<span class="diff-label">{{difficultyLabel}}</span>
{{#unless isCombat}}<span class="diff-val">({{difficultyValue}})</span>{{/unless}}
</span>
{{#if margin}}
<span class="margin-badge {{#if marginAbove}}above{{else}}below{{/if}}">
{{#if marginAbove}}+{{/if}}{{margin}}
</span>
{{/if}}
</div>
{{!-- Infos bonus (Destin, Fortune, Aspect) --}}
{{#if useDestin}}
<div class="used-info">
<span class="used-destin">✦ {{localize "CELESTOPOL.Roll.usedDestin"}}</span>
</div>
{{/if}}
{{#if useFortune}}
<div class="used-info">
<span class="used-fortune">⚜ {{localize "CELESTOPOL.Roll.usedFortune"}}</span>
</div>
{{/if}}
{{#if puiserRessources}}
<div class="used-info used-puiser">
<span>💪 {{localize "CELESTOPOL.Roll.usedPuiser"}}</span>
</div>
{{/if}}
{{!-- Résultat du Dé de la Lune (narratif) --}}
{{#if hasMoonDie}}
<div class="moon-die-result {{moonResultClass}}">
<span class="moon-die-face">{{moonFaceSymbol}}</span>
<div class="moon-die-info">
<span class="moon-die-phase">{{moonFaceLabel}}</span>
<span class="moon-die-type">{{moonResultLabel}}</span>
<span class="moon-die-desc">{{moonResultDesc}}</span>
</div>
</div>
{{/if}}
{{!-- Bandeau résultat --}}
<div class="roll-result-banner {{resultClass}}">
{{#if autoSuccess}}
<span class="result-icon">★</span>
<span class="result-label">{{localize "CELESTOPOL.Roll.autoSuccess"}}</span>
{{else if isTie}}
<span class="result-icon">⚖</span>
<span class="result-label">{{localize "CELESTOPOL.Combat.tie"}}</span>
<span class="result-desc">{{localize "CELESTOPOL.Combat.tieDesc"}}</span>
{{else if isCriticalSuccess}}
<span class="result-icon">✦✦</span>
<span class="result-label">{{localize "CELESTOPOL.Roll.criticalSuccess"}}</span>
{{#if isCombat}}
{{#if isRangedDefense}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.rangedDefenseSuccess"}}</span>
{{else}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.successHit"}}{{#if (gt weaponDegats "0")}} +{{weaponDegats}} {{localize "CELESTOPOL.Combat.weaponDamage"}}{{/if}}</span>
{{/if}}
{{else}}
<span class="result-desc">{{localize "CELESTOPOL.Roll.criticalSuccessDesc"}}</span>
{{/if}}
{{else if isSuccess}}
<span class="result-icon">✦</span>
<span class="result-label">{{localize "CELESTOPOL.Roll.success"}}</span>
{{#if isCombat}}
{{#if isRangedDefense}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.rangedDefenseSuccess"}}</span>
{{else}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.successHit"}}{{#if (gt weaponDegats "0")}} +{{weaponDegats}} {{localize "CELESTOPOL.Combat.weaponDamage"}}{{/if}}</span>
{{/if}}
{{/if}}
{{else if isCriticalFailure}}
<span class="result-icon">✖✖</span>
<span class="result-label">{{localize "CELESTOPOL.Roll.criticalFailure"}}</span>
{{#if isCombat}}
{{#if (eq weaponType "melee")}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.failureHit"}}</span>
{{else if isRangedDefense}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.rangedDefenseFailure"}}</span>
{{else}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.distanceNoWound"}}</span>
{{/if}}
{{else}}
<span class="result-desc">{{localize "CELESTOPOL.Roll.criticalFailureDesc"}}</span>
{{/if}}
{{else if isFailure}}
<span class="result-icon">✖</span>
<span class="result-label">{{localize "CELESTOPOL.Roll.failure"}}</span>
{{#if isCombat}}
{{#if (eq weaponType "melee")}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.failureHit"}}</span>
{{else if isRangedDefense}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.rangedDefenseFailure"}}</span>
{{else}}
<span class="result-desc">{{localize "CELESTOPOL.Combat.distanceNoWound"}}</span>
{{/if}}
{{/if}}
{{/if}}
</div>
{{!-- Blessure auto-cochée (résistance ratée ou combat mêlée raté) --}}
{{#if woundTaken}}
<div class="resistance-wound-notice">
<span class="wound-icon">🩹</span>
<span>{{#if isCombat}}{{#if isRangedDefense}}{{localize "CELESTOPOL.Combat.rangedDefensePlayerWounded"}}{{else}}{{localize "CELESTOPOL.Combat.playerWounded"}}{{/if}}{{else}}{{localize "CELESTOPOL.Roll.woundTaken"}}{{/if}}</span>
</div>
{{/if}}
</div>