- Add soustype field to CreatureDataModel
- Add optionsSousTypeCreature to config with localization support
- Add sous-type select dropdown to creature-sheet.hbs header
- Add translation keys to fr.json
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
The getItemValueSC static method was still incorrectly placed inside the
init() method, causing 'Unexpected strict mode reserved word' error at line 103.
This moves it to the class level with calculateItemValueSC.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
The static methods calculateItemValueSC and getItemValueSC were incorrectly
placed inside the init() method, causing a SyntaxError in strict mode.
This moves them to the class level where they belong.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- 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>
- 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>
- 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>
- 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>
- 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>
- Suppression de la virgule finale lorsqu'il n'y a qu'une seule Prédilection affichée
- Utilisation du helper subtract pour vérifier si c'est la dernière prédilection dans la liste
- Correction appliquée à la fois sur actor-sheet.hbs et creature-sheet.hbs
Avant : 'Prédilection1,' (virgule inutile)
Après : 'Prédilection1' (pas de virgule) ou 'Prédilection1, Prédilection2' (virgule seulement entre les éléments)
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- Ajout des nouvelles corrections pour le popup, le coût en Pouvoir, et l'amélioration des Profils
- Mise à jour de l'état des fonctionnalités demandées
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- 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>
- Ajout d'une carte Combat (case bleue) dans l'en-tête de la fiche
de personnage, similaire à celle des créatures
- Affiche en temps réel :
* Initiative (calculée : Adresse + bonus)
* Défense (calculée : base + bonus + protection - adversité)
* Protection (calculée à partir des armures/boucliers équipés)
- Ajout des clés i18n pour les libellés abrégés :
* MNBL.initShort: Init.
* MNBL.defShort: Déf.
* MNBL.protShort: Prot.
Ces valeurs sont déjà calculées par getCombatValues() et
protectionTotal dans le contexte de la feuille.
Permet aux joueurs de voir d'un coup d'œil leurs
caractéristiques de combat actuelles.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- 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>
- 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>
- 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>
- 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>
- 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>
- Added MNBL.details and MNBL.description to lang/fr.json
- Removed conditional display of effects tab in partial-item-nav.hbs
- Effects tab now always visible in item sheets
- Added MNBL i18n keys verification to test script
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Added missing localization keys for ActiveEffect management:
- createError: Erreur lors de la création de l'effet
- deleteError: Erreur lors de la suppression de l'effet
- applyError: Erreur lors de l'application de l'effet
- applyItemError: Erreur lors de l'application de l'effet sur l'item
- selectActor: Sélectionnez un acteur pour appliquer l'effet
- toggleError: Erreur lors de l'activation/désactivation de l'effet
Added test verification for EFFECT i18n keys
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- 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>
- ActiveEffectDuration#type was renamed to #units in Foundry VTT v14
- Updated partial-active-effects.hbs to use duration.units
- Updated partial-item-effects.hbs to use duration.units
- Added test verification for duration.type usage
- Support for duration.type will be removed in v16
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- 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>
- Added verification for deprecated ActiveEffectDialog.create() calls
- Updated test script to check all critical fixes
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
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>
Améliore l'affichage des compétences dans le chat en ajoutant :
- La liste des prédilections avec leurs propriétés (nom, description, maîtrisée, acquise, utilisée)
- La description est déjà affichée (déjà présente dans le template)
Cela permet aux joueurs de voir toutes les informations importantes
lorsqu'une compétence est postée dans le chat.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>