IMplémentation de la ajorité des remarques de Nepherius

This commit is contained in:
2026-04-06 17:48:30 +02:00
parent a3f7b11f82
commit 1022597bf8
51 changed files with 1900 additions and 443 deletions

View File

@@ -27,38 +27,83 @@
{{#if woundMalus}}
<span class="dminus"> {{abs woundMalus}}</span>
{{/if}}
{{#if armorMalus}}
<span class="dminus armor-malus"> {{abs armorMalus}}</span>
{{/if}}
</div>
{{#if woundLabel}}
<div class="wound-info">⚠ {{woundLabel}}</div>
{{/if}}
{{#if armorMalus}}
<div class="wound-info armor-info">🛡 {{localize "CELESTOPOL.Roll.armorMalus"}}</div>
{{/if}}
</div>
</div>
<div class="roll-form-rows">
{{!-- Difficulté : sélect standard OU input Corps PNJ en combat --}}
{{!-- Difficulté : Corps PNJ en combat, fixe 11 en test normal --}}
{{#if isCombat}}
<div class="form-row-line form-corps-pnj">
<label for="corpsPnj">{{localize "CELESTOPOL.Combat.corpsPnj"}}</label>
<input type="number" id="corpsPnj" name="corpsPnj" value="7" min="1" max="30" class="corps-pnj-input">
</div>
{{else}}
<div class="form-row-line">
<label for="difficulty">{{localize "CELESTOPOL.Roll.difficulty"}}</label>
<select id="difficulty" name="difficulty">
{{#each difficultyChoices as |diff key|}}
<option value="{{key}}" {{#if (eq key ../defaultDifficulty)}}selected{{/if}}>
{{localize diff.label}}{{#if diff.value}} ({{diff.value}}){{/if}}
</option>
{{!-- Sélecteur de cible PNJ (si des tokens NPCs sont disponibles) --}}
{{#if availableTargets.length}}
<div class="form-row-line form-target-row">
<label for="targetSelect"><i class="fas fa-crosshairs"></i> {{localize "CELESTOPOL.Combat.targetLabel"}}</label>
<select id="targetSelect" name="targetSelect">
<option value="">— {{localize "CELESTOPOL.Combat.targetAuto"}} —</option>
{{#each availableTargets as |t|}}
<option value="{{t.corps}}">{{t.name}}</option>
{{/each}}
</select>
</div>
{{/if}}
<div class="form-row-line form-corps-pnj" id="corps-pnj-row">
<label for="corpsPnj">{{localize "CELESTOPOL.Combat.corpsPnj"}}</label>
<input type="number" id="corpsPnj" name="corpsPnj" value="7" min="1" max="30" class="corps-pnj-input">
</div>
<div class="form-row-line form-target-confirmed" id="target-confirmed-row" style="display:none">
<span class="target-confirmed-badge"><i class="fas fa-crosshairs"></i> <span id="target-confirmed-name"></span></span>
</div>
{{!-- Modificateurs tir (distance uniquement) --}}
{{#if isRangedAttack}}
<div class="form-row-line form-ranged-mod">
<label for="rangedMod"><i class="fas fa-bullseye"></i> {{localize "CELESTOPOL.Combat.rangedMod"}}</label>
<select id="rangedMod" name="rangedMod">
{{#each rangedModChoices as |choice|}}
<option value="{{choice.value}}" {{#if (eq choice.id "none")}}selected{{/if}}>{{choice.label}}</option>
{{/each}}
</select>
</div>
{{/if}}
{{else}}
<div class="form-row-line form-threshold-fixed">
<label>{{localize "CELESTOPOL.Roll.threshold"}}</label>
<span class="threshold-value" id="threshold-display">11</span>
</div>
{{!-- Test en opposition : le résultat sera masqué, MJ décide --}}
{{#unless isResistance}}
<div class="form-opposition-row">
<label class="opposition-toggle" for="isOpposition">
<input type="checkbox" id="isOpposition" name="isOpposition">
<span class="opposition-icon">⚔</span>
<span class="opposition-text">
<span class="opposition-main">{{localize "CELESTOPOL.Roll.opposition"}}</span>
<span class="opposition-sub">{{localize "CELESTOPOL.Roll.oppositionDesc"}}</span>
</span>
</label>
</div>
{{/unless}}
{{/if}}
{{!-- Options non disponibles en test de résistance --}}
{{#unless isResistance}}
{{!-- Modificateur & Aspect côte à côte --}}
{{!-- Modificateur & Aspect côte à côte (tests normaux) --}}
<div class="form-two-col">
<div class="form-row-line">
<label for="modifier">{{localize "CELESTOPOL.Roll.modifier"}}</label>
@@ -78,6 +123,23 @@
</div>
</div>
{{else}}
{{!-- En résistance : Bonus/Malus d'Aspect disponible --}}
<div class="form-row-line form-resistance-aspect">
<label for="aspectModifier">{{localize "CELESTOPOL.Roll.aspect"}}</label>
<select id="aspectModifier" name="aspectModifier">
{{#each aspectChoices as |choice|}}
<option value="{{choice.value}}" {{#if (eq choice.value 0)}}selected{{/if}}>{{choice.label}}</option>
{{/each}}
</select>
</div>
{{/unless}}{{!-- /isResistance aspect --}}
{{!-- Options non disponibles en test de résistance (lune, destin, puiser, fortune) --}}
{{#unless isResistance}}
{{!-- Dé de la Lune --}}
<div class="form-moon-row">
<label class="moon-toggle" for="rollMoonDie">
@@ -132,7 +194,7 @@
</div>
{{/if}}
{{/unless}}{{!-- /isResistance --}}
{{/unless}}{{!-- /isResistance (lune, destin, puiser, fortune) --}}
{{!-- Modificateur de situation (-8 à +8) — tous les jets --}}
<div class="form-row-line form-situation-mod">