Commit Graph

17 Commits

Author SHA1 Message Date
6fa09cc27d feat: logo de pause Célestopol 1922
- Hook renderPause remplace le logo Foundry par assets/ui/logo_jeu.png
- CSS : suppression rotation, ombre dorée, texte 'PAUSED' masqué

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 00:58:19 +02:00
a316fb9c61 feat: icônes SVG art-déco pour tous les types d'item + icônes par défaut
- aspect.svg : diamant à facettes avec coupe brillant et reflet
- equipment.svg : clé vintage ornée avec tête circulaire et dents géométriques
- preCreateItem hook : définit img par défaut par type d'item

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 00:53:30 +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
56620f31de Blessures: malus déjà auto-appliqué — fix i18n manquants + nettoyage
- Ajout clés i18n CELESTOPOL.Wound.* (anodin, dérisoire, négligeable…)
  → corrige l'affichage brut des clés dans la fenêtre de jet
- Suppression du setting 'autoWounds' (mort-né, le malus est toujours appliqué)
- Le malus de blessures est inclus automatiquement dans tous les jets
  via getWoundMalus() → prepareDerivedData() → blessures.lvl

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 22:42:21 +02:00
3cd35b4a72 fix: migration obsolète — utilise _source.items pour détecter items non-initialisés
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 21:41:46 +02:00
0b53b19cf8 fix: migration auto des items de types obsolètes au démarrage
- Hook 'ready' (GM uniquement) supprime les items dont le type n'est
  plus enregistré (ex: 'attribute' de l'ancienne version)
- Évite l'erreur 'type X is not a valid type for Item Document class'

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 21:31:31 +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
8b9c22ff4d Items : labels de type localisés + nom par défaut à la création
- TYPES.Item.weapon = 'Arme', TYPES.Item.armure = 'Armure' dans fr.json
- Hook preCreateItem : nom par défaut = label du type pour tous les items

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 17:14:45 +02:00
5a8b151451 Nouveaux items Arme et Armure (DataModel + feuille + CSS)
Items:
- CelestopolWeapon : degats (0/1/2/X), portee (contact/courte/longue), description
- CelestopolArmure : protection (1-2), malus (0-2), description

Config:
- WEAPON_DAMAGE_TYPES et WEAPON_RANGE_TYPES ajoutés dans system.mjs
- Enregistrement des DataModels, sheets et templates dans fvtt-celestopol.mjs
- system.json : types weapon et armure avec htmlFields

UI:
- weapon.hbs : badge de dégâts avec hint, sélecteurs portée/dégâts
- armure.hbs : blocs protection + malus art-déco
- items.less : styles .weapon et .armure

i18n: clés Weapon.*, Armure.*, Sheet.weapon, Sheet.armure

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 17:03:23 +02:00
6bad05809e Fix deprecation : loadTemplates → foundry.applications.handlebars.loadTemplates (v13)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 16:51:49 +02:00
2e06b70761 Fix deprecation : ItemSheet → foundry.appv1.sheets.ItemSheet (v13)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 16:50:29 +02:00
ae183bb1ff Fix deprecation : ActorSheet → foundry.appv1.sheets.ActorSheet (v13)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 16:49:42 +02:00
ad118ae60c Suppression item Attribut : redondant avec le DataModel personnage
- DataModel CelestopolAttribute supprimé (items.mjs)
- CelestopolAttributeSheet supprimée (item-sheets.mjs)
- Imports/registrations retirés (fvtt-celestopol.mjs)
- Section 'Attributs' supprimée de character-competences.hbs
- Action createAttribute + contexte attributes retirés (character-sheet.mjs)
- Template attribute.hbs supprimé
- Clés i18n attribute/attributes/newAttribute supprimées (fr.json)
- Type 'attribute' retiré des htmlFields (system.json)
- htmlFields anomaly corrigés : technique/narratif/exemples

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 16:49:16 +02:00
54151f8f6f Fix crash init : MOON_DICE_PHASES supprimé → nouveau setting rollMoonDieByDefault
SYSTEM.MOON_DICE_PHASES a été supprimé lors du refactoring 2d8.
Remplacement du setting 'defaultMoonPhase' (String + choices) par
'rollMoonDieByDefault' (Boolean) cohérent avec la nouvelle mécanique.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 16:36:59 +02: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
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