Commit Graph

35 Commits

Author SHA1 Message Date
uberwald 4c33607b2b Refactor: Eliminate code duplication for currency conversion and item pricing
- Add static calculateItemValueSC() and getItemValueSC() helpers to MournbladeCYD2Utility
  to centralize currency conversion logic (1 PO = 100 SC, 1 PA = 10 SC)
- Refactor computeRichesse() and computeValeurEquipement() in Actor to use shared helpers
- Add localizeAllegiance Handlebars helper to display allegiance values localized
  (tous->Tous, chaos->Chaos, loi->Loi, betes->Bêtes, elementaires->Élémentaires)
- Add joinPredilections helper to fix comma display after single Predilection
- Create BaseItemWithPriceDataModel base class for items with pricing fields
  (prixpo, prixca, prixsc, rarete, quantite, equipped)
- Update arme, equipement, protection, monnaie models to extend base class
- Update actor-sheet and creature-sheet templates to use new helpers
- Update partial-item-prix.hbs to display total item value in SC
- Add item-base-sheet.hbs template for future item sheet inheritance

Fixes:
- Allegiance values now display properly localized in Dons & Pactes tabs
- Predilections no longer show trailing comma with single entry
- Equipment value totals now update correctly when items are added/modified
- Currency conversion logic centralized and consistent across the system

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 20:52:46 +02:00
uberwald 0d4bd37f30 Fix: Correction de computeRichesse() pour prendre en compte PO et PA
- computeRichesse() ne prenait en compte que prixsc, maintenant il calcule aussi prixca et prixpo
- Conversion : prixca * 10 + prixpo * 100 (selon le lore)
- Cohérent avec computeValeurEquipement()

Fichier modifié : mournblade-cyd2-actor.js

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 20:16:37 +02:00
uberwald 59fa8c72ff Fix: Correction des taux de conversion monétaire selon le lore Mournblade
- Ancienne conversion : 1 PO = 400 SC, 1 PA = 20 SC (incorrect)
- Nouvelle conversion : 1 PO = 100 SC, 1 PA = 10 SC (selon le lore)

Selon le lore des Jeunes Royaumes :
- 1 Sou d'Argent (SA) = 10 Pièces de Bronze (PB)
- 1 Pièce d'Or (PO) = 10 Sous d'Argent = 100 Pièces de Bronze

Correspondance dans le code :
- SC = Pièces de Bronze (PB)
- PA/CA = Sous d'Argent (SA)
- PO = Pièces d'Or (PO)

Fichiers modifiés :
- mournblade-cyd2-utility.js : Helper calculateItemValueSC et computeMonnaieDetails
- mournblade-cyd2-actor.js : computeValeurEquipement()

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 19:12:17 +02:00
uberwald c5628586f4 Fix: Activation du calcul automatique des totaux d'argent et d'équipement
- Ajout des appels à computeRichesse() et computeValeurEquipement() dans _prepareContext()
- Ces méthodes existent déjà dans l'acteur mais n'étaient pas appelées dans la feuille
- Maintenant, les totaux PO, PA, SC sont calculés automatiquement à partir des items

Fichier modifié : mournblade-cyd2-personnage-sheet.mjs

Répond à la question : 'Où le total restant de ces trois types de pièces apparaît-il ?'
Réponse : Les totaux sont maintenant calculés et affichés dans l'onglet Équipement

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 18:50:36 +02:00
uberwald 29e9230422 Fix: Correction orthographique 'scéance' → 'séance' dans optionsUseTalent
- Correction de la faute d'orthographe dans l'option d'utilisation des Talents
- Avant : 'Une fois par scéance'
- Après : 'Une fois par séance'

Fichier modifié : mournblade-cyd2-config.js (ligne 214)

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 18:27:58 +02:00
uberwald 5c66c29d24 Fix: Correction de l'affichage des valeurs d'Allégeance
- Modification des options d'allégeance pour afficher des valeurs plus courtes et propres
- 'tous' → 'Tous' (déjà correct via MNBL.all)
- 'chaos' → 'Chaos' (déjà correct via MNBL.chaos)
- 'loi' → 'Loi' (déjà correct via MNBL.law)
- 'betes' → 'Bêtes' (nouvelle clé MNBL.betes)
- 'elementaires' → 'Élémentaires' (nouvelle clé MNBL.elementaires)

Fichiers modifiés:
- lang/fr.json : Ajout des clés MNBL.betes et MNBL.elementaires
- mournblade-cyd2-config.js : Mise à jour des allegeanceOptions pour utiliser les nouvelles clés

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 15:30:27 +02:00
uberwald 92ea0164a2 Fix: Corrections diverses pour Mournblade CYD 2.0
- Modification du popup de bienvenue : simplification de la mention des droits (jeu Titam)
- Ajout du champ 'Coût en Pouvoir des invocations' dans l'onglet Sorcellerie pour suivre le coût des invocations en cours
- Amélioration de l'onglet Détails des Profils : remplacement des sections de texte simples par des sheet-box pour un meilleur rendu visuel
- Ajout de la clé i18n 'coutPouvoirInvocations' dans lang/fr.json
- Ajout du champ coutPouvoirInvocations dans le schéma de données Personnage

Corrections basées sur les demandes : popup, onglet Sorcellerie, onglet Détails Profils

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 14:52:50 +02:00
uberwald 37ff6ebf1d feat: Ajout section Invocations en cours dans l'onglet Sorcellerie
- Ajout du champ system.sorcellerie.invocationsencours (HTMLField)
- Ajout de la clé i18n SORCELLERIE.invocationsencours
- Ajout de la section dans le template avec éditeur riche
- Permet de noter les invocations actives avec leur coût en Pouvoir

L'éditeur riche permet de:
- Glisser-déposer des liens vers des objets du compendium
- Formater le texte (gras, italique, listes)
- Noter le coût temporaire en Pouvoir pour chaque invocation

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 14:34:08 +02:00
uberwald 1c73faeb00 feat: Ajout onglet Sorcellerie sur la fiche de personnage
- Ajout d'un nouvel onglet 'Sorcellerie' dans la navigation
- Déplacement de la section Runes de 'Dons & Pactes' vers 'Sorcellerie'
- Ajout de 3 nouvelles sections avec éditeurs riches :
  * Créatures invoquées
  * Démons liés
  * Enchantements / Automata
- Ajout des champs système pour stocker ces informations (HTMLField)
- Ajout des clés i18n sous le namespace SORCELLERIE

Structure de l'onglet Sorcellerie :
1. Runes (liste d'items, comme auparavant)
2. Créatures invoquées (éditeur riche)
3. Démons liés (éditeur riche)
4. Enchantements / Automata (éditeur riche)

Cela permet aux sorciers d'avoir plus d'espace pour noter leurs
nombreuses runes, invocations, etc. et d'y glisser-déposer des liens
vers des objets du compendium.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 14:14:30 +02:00
uberwald 0c42b6ab34 feat: Amélioration de l'onglet Détails des Profils
- Conversion des champs Compétences, Talents (Initié/Aguerri/Maître)
  et Prérequis (Aguerri/Maître) en HTMLField pour permettre
  l'utilisation de l'éditeur riche
- Remplacement des textarea à fond marron par des éditeurs blancs
  (comme pour les Sacrifices des Dons)
- Permet maintenant de glisser-déposer des liens vers des objets
  du compendium (Compétences, Talents, etc.)
- Structure cohérente avec le template des Dons

Modèles modifiés:
- modules/models/profil.mjs: conversion StringField → HTMLField
- templates/item-profil-sheet.hbs: remplacement textarea → éditeur

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 14:07:01 +02:00
uberwald d6e7b62c31 Docs: Mise à jour du pop-up de bienvenue
- Suppression du lien vers titam-france.fr
- Ajout du lien vers lahiette.com pour les règles PAO 0.9
- Conservation de la mention Titam dans la section Droits

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 14:03:36 +02:00
uberwald a3f304c77b Fix: Correction des clés i18n et affichage de l'onglet Effets
- Correction du namespace i18n: MOURNBLADECYD2.EFFECT → EFFECT
- Suppression de la condition {{#if item.effects.length}} dans tous les templates d'items
- Ajout de la clé EFFECT.noItemEffects pour les items sans effets
- Remplacement des textes en dur par des clés i18n dans les partials
- Mise à jour de toutes les références dans le code JavaScript

Cela corrige:
1. Les clés i18n manquantes (namespace incohérent)
2. L'onglet Effets des items qui était vide quand l'item n'avait pas d'effets

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 09:47:22 +02:00
uberwald 14763cc5b3 Fix: Add missing Handlebars subtract helper
- Added subtract helper: parseInt(a) - parseInt(b)
- Helper is used in partial-active-effects.hbs and partial-item-effects.hbs
- Registered in MournbladeCYD2Utility.init() alongside other helpers
- Added test verification for subtract helper registration

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 00:48:55 +02:00
uberwald a1519e7a60 Fix: Replace missing effect.webp icon with existing capacite.webp
- effect.webp icon was missing, causing infinite 404 errors
- Replaced all references with capacite.webp which exists
- Fixed in base-actor-sheet.mjs, base-item-sheet.mjs, mournblade-cyd2-effects.js
- Fixed in partial-active-effects.hbs and partial-item-effects.hbs templates
- Updated test script to check for effect.webp references

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 00:36:12 +02:00
uberwald f28719fc6f Fix: Replace deprecated ActiveEffectDialog.create() with createEmbeddedDocuments
- ActiveEffectDialog.create() was removed in Foundry VTT v14
- Replaced with direct document.createEmbeddedDocuments() call
- After creation, opens the effect sheet for editing
- Fixed in both base-actor-sheet.mjs and base-item-sheet.mjs

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 00:33:44 +02:00
uberwald d0423b2017 Fix: Add missing Handlebars partials to preload function
- Added partial-active-effects.hbs and partial-item-effects.hbs to preloadHandlebarsTemplates()
- These partials were used in sheets but not preloaded, causing render errors
- Fixed lang/fr.json formatting (added closing brace and newline)
- Added test script to validate template loading
- Added CORRECTIONS.md documentation

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-07 00:26:07 +02:00
uberwald 156672d853 ActiveEffects: Add complete ActiveEffects management system
- New: modules/mournblade-cyd2-effects.js with utility methods for creating, applying, and managing effects
- New: templates/partial-active-effects.hbs for displaying actor effects
- New: templates/partial-item-effects.hbs for displaying item effects
- Update: modules/mournblade-cyd2-config.js with effect configuration (types, attribute keys, categories)
- Update: templates/actor-sheet.hbs and creature-sheet.hbs with Effects tab
- Update: templates/partial-item-nav.hbs with conditional Effects tab
- Update: templates/item-talent-sheet.hbs with Effects tab content
- Update: base-actor-sheet.mjs with effect action handlers (create, edit, delete, toggle)
- Update: base-item-sheet.mjs with effect action handlers and context
- Update: modules/mournblade-cyd2-main.js to import and expose MournbladeCYD2Effects
- Update: lang/fr.json with effect-related translations

Features:
- Support for creating permanent and temporary effects
- Support for attribute modifications (ADR, PUI, CLA, PRE, TRE, etc.)
- Support for health, soul, combat, and adversity modifications
- Support for status effects
- Support for runes (pronounced and traced) effects
- Toggle to enable/disable effects
- Duration tracking (rounds, turns, seconds, combat, scene)
- Display of all active modifications summary

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-06 22:51:31 +02:00
uberwald 5ab03920d6 Corrections diverses pour CYD2.0
- Fix: Remplacement de 'Points d'Âme' par 'Points de Pouvoir' dans les messages de chat
- Fix: Ajout de la case Âme avec Seuil de Pouvoir dans les fiches de créature
- Fix: Ajout du champ Seuil de Pouvoir éditable dans les fiches de créature
- Fix: Initiative, Défense et Protection maintenant éditables dans les fiches de créature
- Fix: Ajout du champ Bonus/Malus aux templates de Traits chaotiques et d'espèce
- Fix: Le champ coût en Pouvoir des Runes accepte maintenant du texte (StringField)
- Fix: Rafraîchissement des fiches après drop d'items pour afficher les Traits
- Fix: Ajout des nouveaux types d'items (Trait Démoniaque, Pouvoir Élémentaire, Capacité d'Automata)
- New: Ajout des modèles et templates pour les nouveaux types d'items
- New: Intégration complète des nouveaux types dans les fichiers de configuration

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-06 22:08:53 +02:00
uberwald 9dd6fbd2e7 Fix: Affichage des Traits et corrections diverses
- Fix: Ajout des sections Traits Chaotiques et Traits d'Espèce dans les fiches de créature
  - Ajout de context.traitsChaotiques et context.traitsEspeces dans la feuille de créature
  - Ajout des sections dans le template creature-sheet.hbs avec boutons d'ajout
- Fix: Bouton Ajouter Automatisation fonctionnel dans les Talents
  - Ajout des actions addAutomation et deleteAutomation dans base-item-sheet.mjs
  - Ajout des méthodes #onAddAutomation et #onDeleteAutomation
  - Ajout des attributs data-action sur les boutons du template partial-automation.hbs
  - Ajout des attributs name sur les champs d'automatisation
- Ajout du champ Don lié dans les Tendances
  - Ajout de donlie dans le modèle tendance.mjs
  - Ajout du champ Don lié dans le template item-tendance-sheet.hbs
- Ajout de la catégorie Balance dans les options d'allégeance
  - Ajout dans mournblade-cyd2-config.js
  - Ajout de la traduction dans lang/fr.json
- Correction du libellé Coût en Âme → Coût en points de pouvoir
- Correction du bug de l'éditeur Sacrifices dans les Dons
  - Ajout de owner et editable dans le contexte
  - Renommage de Sacrifices en Sacrifices et Tendances liées
- Ajout de la case Âme avec Seuil de Pouvoir dans les fiches de créature
- Rendre Initiative, Défense et Protection éditables dans les fiches de créature
  - Ajout des champs inittotal, defensetotal, protectiontotal dans creature.mjs
  - Modification du contexte pour prioriser les valeurs manuelles
  - Remplacement des spans par des inputs dans le template

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-06 20:30:04 +02:00
uberwald 76ed974352 Fix: Correction du libellé Coût en Âme et ajout de la catégorie Balance
- Correction du libellé 'Coût en Âme' en 'Coût en points de pouvoir' pour les runes
- Fix: Ajout des gestionnaires d'événements pour les automatisations des Talents
  - Ajout des actions addAutomation et deleteAutomation dans base-item-sheet.mjs
  - Ajout des attributs data-action sur les boutons du template partial-automation.hbs
  - Ajout des attributs name sur les champs d'automatisation pour la sauvegarde
- Ajout de la catégorie 'Balance' dans les options d'allégeance pour Dons et Tendances

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-06 18:32:10 +02:00
uberwald adc104b757 Corrections diverses pour CYD2.03 2026-05-24 16:49:25 +02:00
uberwald 2e14c70a02 Feat: Add 'Coût en Pouvoir' field to Rune items
Ajoute un champ numérique 'coutAme' (entier, défaut=0) pour les runes :
- DataModel: Ajout du champ dans modules/models/rune.mjs
- Template fiche: Ajout du champ 'Coût en Pouvoir' dans templates/item-rune-sheet.hbs
- Template post: Ajout de l'affichage dans templates/post-item.hbs

Ce champ permet de spécifier le coût en Pouvoir pour chaque rune,
et s'affiche à la fois dans la fiche et dans le chat.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-05-24 16:44:45 +02:00
uberwald b877262283 Minor fixes from v14 feedback
Release Creation / build (release) Successful in 8m22s
2026-05-23 23:07:10 +02:00
uberwald 56b58565d1 Derniers fix de sécurité et assimilé 2026-04-04 09:40:30 +02:00
uberwald 1fb80f6abe Rework fiches, jets de dés et CSS 2026-04-03 16:22:51 +02:00
uberwald b255a628fe Fix creature sheet: complete TECHNIQUE tab + copper theme
- Fix tabGroups 'stats'→'principal' (tab content was invisible)
- Add 'creature' CSS class to distinguish from personnage sheet
- New header layout: stat cards (Ressources, Vigueur, Combat)
- Rewrite creature template with full TECHNIQUE tab content:
  * Attributes with icons and level dropdowns (0-35)
  * Vitesse input
  * Santé section (Vigueur seuil)
  * Actions de combat (Initiative, Monté/Déf. totale, Assommer,
    Coup bas, Immobiliser, Repousser, Désengager)
  * Adversités section (reuses personnage CSS classes)
- Copper/orange CSS theme for .creature class overrides
- Add .stat-derived-value CSS for non-editable derived stats

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-03 09:35:12 +02:00
uberwald 9754bbc3a8 Update CSS/Look & feel 2026-04-03 00:39:39 +02:00
uberwald 9fd13b2615 DAtaModels + Appv2 migration : OK 2026-04-02 22:14:30 +02:00
uberwald a37ad2cc82 DAtaModels + Appv2 migration : OK 2026-04-02 21:33:56 +02:00
uberwald f5a5c25533 Fix wrong sheets 2025-10-26 14:44:06 +01:00
uberwald a39d214f1b Ame/Ame max 2025-10-26 13:47:59 +01:00
uberwald 40e11aca1b Ame/Ame max 2025-10-26 11:41:18 +01:00
uberwald 2dc7665a25 Ame/Ame max 2025-10-26 08:49:38 +01:00
uberwald cddc4ce48a New logo 2025-10-26 00:50:45 +02:00
uberwald 7107516a28 Initial import 2025-10-26 00:31:32 +02:00