feat: implémentation complète du système Célestopol 1922 pour FoundryVTT v13

- DataModels (character, npc, anomaly, aspect, attribute, equipment)
- ApplicationV2 sheets (character 5 tabs, npc 3 tabs, 4 item sheets)
- DialogV2 pour les jets de dés avec phase de lune
- Templates Handlebars complets (fiches PJ/PNJ, items, jet, chat)
- Styles LESS → CSS compilé (thème vert foncé / orange CopaseticNF)
- i18n fr.json complet (clés CELESTOPOL.*)
- Point d'entrée fvtt-celestopol.mjs avec hooks init/ready
- Assets : polices CopaseticNF, images UI, icônes items
- Mise à jour copilot-instructions.md avec l'architecture réelle

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-03-28 09:28:34 +01:00
parent 446f9b7500
commit 64e23271df
54 changed files with 3433 additions and 4 deletions

View File

@@ -0,0 +1,49 @@
<div class="celestopol chat-roll {{resultClass}}">
<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>
<span class="skill-info">{{statLabel}} {{skillLabel}}</span>
</div>
</div>
<div class="roll-details">
<div class="dice-results">
{{#each diceResults as |die|}}
<span class="die d6">{{die}}</span>
{{/each}}
</div>
{{#if moonBonus}}
<div class="bonus-line">
<span class="bonus-label">{{localize "CELESTOPOL.Roll.moonBonus"}} ({{moonPhaseLabel}}) :</span>
<span class="bonus-value">+{{moonBonus}}</span>
</div>
{{/if}}
{{#if modifier}}
<div class="bonus-line">
<span class="bonus-label">{{localize "CELESTOPOL.Roll.modifier"}} :</span>
<span class="bonus-value">{{#if (gt modifier 0)}}+{{/if}}{{modifier}}</span>
</div>
{{/if}}
<div class="roll-total-line">
<span class="total-label">{{localize "CELESTOPOL.Roll.total"}}</span>
<span class="total-value">{{total}}</span>
<span class="vs-difficulty">vs {{difficulty}}</span>
</div>
</div>
<div class="roll-result-banner {{resultClass}}">
{{#if success}}
<span class="result-label success">{{localize "CELESTOPOL.Roll.success"}}</span>
{{#if criticalSuccess}}<span class="critical">{{localize "CELESTOPOL.Roll.criticalSuccess"}}</span>{{/if}}
{{else}}
<span class="result-label failure">{{localize "CELESTOPOL.Roll.failure"}}</span>
{{#if criticalFailure}}<span class="critical">{{localize "CELESTOPOL.Roll.criticalFailure"}}</span>{{/if}}
{{/if}}
</div>
</div>