Commit Graph

40 Commits

Author SHA1 Message Date
uberwald 939247e731 Fix fiche creature 2026-06-07 23:51:31 +02:00
uberwald 6dea5ba479 ALl features OK, excetp creatures sub-type, WIP3 2026-06-07 23:29:02 +02:00
uberwald 494ec3ea84 Feat: Add sous-type field to Creature sheets (Créature, Démon, Automata)
- 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>
2026-06-07 21:42:59 +02:00
uberwald cb4b255b35 Fix: Remove remaining static method from inside init() function
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>
2026-06-07 21:36:14 +02:00
uberwald 116ac66a8a Fix: Move static methods outside of init() function to class level
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>
2026-06-07 21:16:52 +02:00
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