14 Commits

Author SHA1 Message Date
3358dea306 Corrections sur factions, aspects, degats et fiches PNJs 2026-04-11 15:02:46 +02:00
1022597bf8 IMplémentation de la ajorité des remarques de Nepherius 2026-04-06 17:48:30 +02:00
11e7adba16 fix: amélioration du contraste texte dans la section XP
- Labels des compteurs : --cel-orange-light → --cel-border (#7a5c20 brun foncé)
- Valeur XP actuelle : --cel-orange → --cel-green (#1b3828 vert foncé)
- Valeur XP dépensée : rgba dorée → --cel-border
- Accordéon référence : --cel-orange-light → --cel-border, hover → --cel-green

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 00:39:00 +02:00
9dbd614c5a feat: gestion de l'expérience (XP)
- Schéma xp dans CelestopolCharacter : actuel (éditable), log[] ({montant, raison, date}), depense (calculé dans prepareDerivedData)
- Bouton 'Dépenser XP' → DialogV2 (montant + raison) : décrémente actuel, logge l'entrée
- Suppression d'entrée de log avec remboursement des points (mode édition)
- Section XP en haut de l'onglet Biographie : compteurs, tableau du log, référentiel des coûts
- i18n : section CELESTOPOL.XP.* complète
- CSS : .xp-section avec compteurs, tableau de log et accordéon de référence

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 00:33:59 +02:00
a5f0224b65 fix: améliore lisibilité des badges arme/armure dans l'onglet Équipement
Remplace le texte orange sur fond beige par un badge vert sombre/fond léger,
plus lisible. Malus en rouge sombre sur fond rouge clair.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 18:58:54 +02:00
43f2f34b2b feat: ajoute l'onglet Équipement dans la fiche PJ
- Nouvel onglet 'Équipement' avec 3 sections : Armes, Armures, Équipements
- Template character-equipement.hbs avec affichage type/dégâts (armes),
  protection/malus (armures), et liste simple (équipements)
- Actions createWeapon et createArmure dans la fiche personnage
- Suppression de la section équipements de l'onglet Biographie
- Clés i18n : Tab.equipement, Item.noWeapons/noArmures/noEquipments
- CSS : styles .tab.equipement avec .equip-section et .item-tag badges

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 17:50:28 +02:00
569edd833d Header personnage : suppression Anomalie, attributs sur ligne initiative
- Suppression du bloc 'Anomalie' (type + valeur) du header
- Attributs (Entregent/Fortune/Rêve/Vision) fusionnés sur la même ligne
  que l'initiative via .header-stat commun
- CSS : remplacement .perso-attributs/.perso-attr par .header-stat unifié

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 16:55:15 +02:00
a881625515 Fix anomalie (onglet Domaine) : fond vert foncé, texte crème lisible
.anomaly-content avait background quasi-transparent (crème) avec
var(--cel-orange-light) illisible. Passage au fond var(--cel-green-dark)
et texte crème pour les labels/chips, cohérent avec le reste du bloc.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 16:44:40 +02:00
65445ae840 Fix styles items : overlay CSS, anomalie NPC/PNJ, checkboxes compétences
- global.less : suppression du ::before cream overlay (causait un masquage
  du header vert sombre sur toutes les fiches items)
  Remplacement : z-index: 1 appliqué à .item-header, .item-tabs, section.tab

- templates/character-main.hbs + npc-main.hbs :
  Correction affichage type anomalie en mode play :
  localize system.anomaly.type → lookup dans anomalyTypes pour label traduit
  'none' s'affiche maintenant 'Aucune'

- templates/npc-competences.hbs :
  Résistance '0 (0)' → 'actuel / total' (format 0/0 plus lisible)

- styles/character.less : skill-level-checkbox
  appearance: none + style custom Art Déco (13×13px, border var(--cel-border),
  checked = fond or, disabled:checked = opaque)
  Remplacement du style browser default (cubes bleus) par des cases élégantes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-28 18:43:59 +01:00
f9ddcdf9da Refonte complète du système Anomalies
- DataModel : renommage value→level (1-4), ajout usesRemaining (0-4), suppression scores/notes
- Config : ajout ANOMALY_DEFINITIONS avec compétences applicables par type (8 anomalies)
- Fiche item anomalie : header avec level/uses visuels (dots), barre de compétences applicables,
  2 onglets Description + Technique/Narratif (suppression onglet Scores)
- Fiche PJ onglet Domaines : bloc anomalie proéminent unique avec:
  - Nom + sous-type + icône
  - Dots niveau (●●○○)
  - Dots usages + bouton Utiliser + bouton Réinitialiser
  - Chips des domaines applicables
- Actions : useAnomaly (décrémente usesRemaining), resetAnomalyUses (reset au niveau)
- Contrainte : max 1 anomalie par personnage (drop + createAnomaly)
- Helpers HBS : lte, gte, lt ajoutés
- i18n : nouvelles clés Anomaly.* (level, usesRemaining, use, resetUses, etc.)
- CSS : .anomaly-block sur fiche PJ, dots animés, .anomaly-uses-row sur fiche item

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-28 18:15:06 +01:00
cff700bd3d Fix roll dialog CSS + JS: template <div> wrapper, moon-section, selectors
- Remplace <form class='roll-dialog celestopol'> par <div class='roll-dialog-content'>
  pour éviter les formulaires HTML imbriqués invalides (DialogV2 a son propre <form>)
- Corrige le sélecteur CSS de .roll-dialog.celestopol vers .application.roll-dialog .roll-dialog-content
- Remplace .form-group.form-moon par .moon-section (classe custom) pour éviter
  les conflits avec le CSS grid de FoundryVTT standard-form (label 130px de hauteur)
- Met à jour le script JS inline pour utiliser document.querySelector('.roll-dialog-content')
- Ajoute white-space: nowrap sur le label Destin pour éviter le wrapping sur 3 lignes
- Supprime .application.roll-dialog .window-content padding override (remplacé par dialog-content)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-28 17:21:18 +01:00
a581853f95 feat: refonte visuelle Art Déco — palette jade/or antique
Remplace le vert saturé rgb(12,76,12) par une palette Art Déco
cohérente avec l'esthétique du jeu (nuit lunaire, Belle Époque 1922).

Palette :
- --cel-green : #1b3828 (jade profond désaturé)
- --cel-orange : #c49a1a (or antique)
- --cel-cream : #f0e8d4 (parchemin chaud)
- --cel-border : #7a5c20 (bordure dorée)
- --cel-cream-dark : #e0d4b8 (rangées alternées)
- --cel-accent : #6b1e28 (bordeaux — échecs)

Changements visuels :
- Header : fond jade sombre + fond_cadrille (soft-light), cadre portrait doré
- Tabs : style Art Déco (border-bottom or, pas de fond orange plein)
- Section headers : couleur or + ::after gradient ornamental
- Stat blocks : jade texturé, valeurs compétences en or, rangées alternées
- Factions table : thead jade texturé, rangées alternées
- Items sheets : header jade, tabs Art Déco, labels or
- Chat : header jade texturé, bannière succès jade+or, échec bordeaux
- Roll dialog : titre et labels en or

Assets copiés depuis celestopol1922 :
- fond_cadrille2.jpg, cercle-vert/jaune-checked/unchecked.png, logo_jeu.png

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-28 11:53:00 +01:00
ea3064d7a2 fix: tests complets - onglets, message de tchat, scores bonus/malus
- Onglets item (Anomalie/Aspect/Attribut): correction tabGroups + data-group sur chaque <a> et <section>
- Onglets acteur (PJ/PNJ): tab.cssClass dans les templates pour l'état actif initial
- Message de tchat: alignement des noms de variables _getChatCardData <-> chat-message.hbs
  - actorName, actorImg, success/failure, diceResults, statLabel/skillLabel localisés
  - difficultyLabel et moonPhaseLabel localisés depuis SYSTEM
- Dialogue de jet (roll-dialog.hbs): correction noms variables + min/max modificateur
- lang/fr.json: ajout Roll.title, Roll.roll, clés Moon (minuscules), Difficulty (unknown/ardu)
- character.mjs: passage statLabel à CelestopolRoll.prompt()
- global.less: padding + overflow-y sur .tab pour contenu visible
- item-scores.hbs: passage system=system au partial + suppression garde isEditable
- Templates anomaly/aspect/attribute: passage system=system au partial item-scores
- chat-message.mjs: getHTML() → renderHTML() (dépréciation FVTT v13)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-28 11:09:17 +01:00
64e23271df 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>
2026-03-28 09:28:34 +01:00