Files
fvtt-chroniques-de-l-etrange/templates/actor/parts/cde-character-treasures.html
T
uberwald 6b2ead8fbb feat: portée armes, récupération 3T, socket loksyu, import batch
Portée des armes
- Suppression des malus de portée (mediane/longue/extreme)
- Sélecteur filtré : seules les portées <= portée max de l'arme

Récupération (3 Trésors)
- Nouveau bouton dans l'onglet Trésors
- Jet basé sur l'aspect du Gardien Céleste
- Dé pair : +1 Hei Yang, +1 San
- Dé impair : +1 Hei Yin, +1 Zing
- Fenêtre de bonus dice pour les pouvoirs (Acupuncture...)
- Ignore les malus de palier San/Zing

Socket Loksyu/TinJi
- Les joueurs peuvent mettre à jour Loksyu/TinJi via socket
- Le MJ proxy les écritures (game.settings world = GM only)
- Opérations atomiques pour éviter les races conditions (roll simultanés)

Import batch
- 4 nouveaux migrators item (weapon/armor/sanhei/ingredient)
- magicOrder dans la migration character
- Confirmation en 2 clics avant l'import
- Détection des doublons avec le monde
- Progression en direct pendant l'import
- Dédoublonnage non-silencieux + flag _duplicate calculé en direct

UI
- Noms d'items en Signika (plus lisible qu'Averia)
- ASCII art au lancement dans la console
- Clés i18n manquantes ajoutées (BonusMalus, EnablePrompt, Material, Roll, ThrowType)

Fix divers
- Calcul puissance sort : utilise l'élément de la spécialité, pas celui de l'école
- preLocalizeConfig préserve labelelementkey pour la résolution d'aspect
- combat.js: guard undefined ids dans rollInitiative
2026-06-28 19:18:03 +02:00

72 lines
4.6 KiB
HTML

{{!-- Recovery button --}}
<div class="cde-recovery-bar">
<button type="button" class="cde-recovery-btn" data-action="recovery">
<i class="fas fa-heartbeat"></i> {{ localize "CDE.Recovery" }}
</button>
</div>
{{!-- HEI — Essence --}}
<div class="tab-sous-titre">{{ localize "CDE.HEI" }} — {{ localize "CDE.Essence2" }}</div>
<div class="cde-tt-block">
<div class="cde-tt-row cde-tt-labels">
<span>Yang max</span>
<span>Yang</span>
<span class="cde-tt-center"></span>
<span>Yin</span>
<span>Yin max</span>
</div>
<div class="cde-tt-row cde-tt-values">
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.heiyang.max" value="{{systemData.threetreasures.heiyang.max}}" />
<input class="cde-circle-input" type="number" name="system.threetreasures.heiyang.value" value="{{systemData.threetreasures.heiyang.value}}" />
<img class="cde-tt-yinyang" src="systems/fvtt-chroniques-de-l-etrange/images/yin_yang.webp" alt="Yin Yang" />
<input class="cde-circle-input" type="number" name="system.threetreasures.heiyin.value" value="{{systemData.threetreasures.heiyin.value}}" />
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.heiyin.max" value="{{systemData.threetreasures.heiyin.max}}" />
</div>
</div>
{{!-- SAN-ZING — Santé --}}
<div class="tab-sous-titre">{{ localize "CDE.SAN-ZING" }} — {{ localize "CDE.MentalHealth-PhysicalHealth" }}</div>
<div class="cde-tt-sanzing">
<div class="cde-tt-sz-header">
<span>San max</span>
<span>San</span>
<span>Malus</span>
<span>Zing</span>
<span>Zing max</span>
</div>
<div class="cde-tt-sz-row">
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.dicelevel.level0d.san.max" value="{{systemData.threetreasures.dicelevel.level0d.san.max}}" />
<input class="cde-circle-input" type="number" name="system.threetreasures.dicelevel.level0d.san.value" value="{{systemData.threetreasures.dicelevel.level0d.san.value}}" />
<span class="cde-tt-level">0 dé</span>
<input class="cde-circle-input" type="number" name="system.threetreasures.dicelevel.level0d.zing.value" value="{{systemData.threetreasures.dicelevel.level0d.zing.value}}" />
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.dicelevel.level0d.zing.max" value="{{systemData.threetreasures.dicelevel.level0d.zing.max}}" />
</div>
<div class="cde-tt-sz-row">
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.dicelevel.level1d.san.max" value="{{systemData.threetreasures.dicelevel.level1d.san.max}}" />
<input class="cde-circle-input" type="number" name="system.threetreasures.dicelevel.level1d.san.value" value="{{systemData.threetreasures.dicelevel.level1d.san.value}}" />
<span class="cde-tt-level">- 1 dé</span>
<input class="cde-circle-input" type="number" name="system.threetreasures.dicelevel.level1d.zing.value" value="{{systemData.threetreasures.dicelevel.level1d.zing.value}}" />
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.dicelevel.level1d.zing.max" value="{{systemData.threetreasures.dicelevel.level1d.zing.max}}" />
</div>
<div class="cde-tt-sz-row">
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.dicelevel.level2d.san.max" value="{{systemData.threetreasures.dicelevel.level2d.san.max}}" />
<input class="cde-circle-input" type="number" name="system.threetreasures.dicelevel.level2d.san.value" value="{{systemData.threetreasures.dicelevel.level2d.san.value}}" />
<span class="cde-tt-level">- 2 dés</span>
<input class="cde-circle-input" type="number" name="system.threetreasures.dicelevel.level2d.zing.value" value="{{systemData.threetreasures.dicelevel.level2d.zing.value}}" />
<input class="cde-circle-input cde-circle-sm" type="number" name="system.threetreasures.dicelevel.level2d.zing.max" value="{{systemData.threetreasures.dicelevel.level2d.zing.max}}" />
</div>
</div>
{{!-- PTAO — Expérience --}}
<div class="tab-sous-titre">{{ localize "CDE.PTAO" }} — {{ localize "CDE.Experience" }}</div>
<div class="cde-tt-block">
<div class="cde-tt-row cde-tt-labels">
<span>{{ localize "CDE.Total" }}</span>
<span>{{ localize "CDE.Present" }}</span>
</div>
<div class="cde-tt-row cde-tt-values">
<input class="cde-circle-input" type="number" name="system.experience.max" value="{{systemData.experience.max}}" />
<input class="cde-circle-input" type="number" name="system.experience.value" value="{{systemData.experience.value}}" />
</div>
</div>