From 59fa8c72ffb3cefc5b8501e4926a832092faefd2 Mon Sep 17 00:00:00 2001 From: LeRatierBretonnier Date: Sun, 7 Jun 2026 19:12:17 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20Correction=20des=20taux=20de=20conversio?= =?UTF-8?q?n=20mon=C3=A9taire=20selon=20le=20lore=20Mournblade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- modules/mournblade-cyd2-actor.js | 4 ++-- modules/mournblade-cyd2-utility.js | 21 ++++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/modules/mournblade-cyd2-actor.js b/modules/mournblade-cyd2-actor.js index 0f6c25d..d300412 100644 --- a/modules/mournblade-cyd2-actor.js +++ b/modules/mournblade-cyd2-actor.js @@ -646,8 +646,8 @@ export class MournbladeCYD2Actor extends Actor { for (let equip of this.items) { if (equip.type == "equipement" || equip.type == "arme" || equip.type == "protection") { valueSC += Number(equip.system.prixsc) * Number(equip.system.quantite ?? 1) - valueSC += (Number(equip.system.prixca) * Number(equip.system.quantite ?? 1)) * 20 - valueSC += (Number(equip.system.prixpo) * Number(equip.system.quantite ?? 1)) * 400 + valueSC += (Number(equip.system.prixca) * Number(equip.system.quantite ?? 1)) * 10 + valueSC += (Number(equip.system.prixpo) * Number(equip.system.quantite ?? 1)) * 100 } } return MournbladeCYD2Utility.computeMonnaieDetails(valueSC) diff --git a/modules/mournblade-cyd2-utility.js b/modules/mournblade-cyd2-utility.js index f9f1f7c..0ac5887 100644 --- a/modules/mournblade-cyd2-utility.js +++ b/modules/mournblade-cyd2-utility.js @@ -49,6 +49,19 @@ export class MournbladeCYD2Utility { Handlebars.registerHelper('subtract', function (a, b) { return parseInt(a) - parseInt(b); }) + + // Helper pour calculer la valeur totale d'un item en SC (Sous de Cuivre / Pièces de Bronze) + // Conversion selon le lore Mournblade : + // 1 SA (Sou d'Argent / Pièce d'Argent) = 10 PB (Pièces de Bronze / Sous de Cuivre) + // 1 PO (Pièce d'Or) = 10 SA = 100 PB + // Donc : 1 CA = 10 SC, 1 PO = 100 SC + Handlebars.registerHelper('calculateItemValueSC', function (prixpo, prixca, prixsc) { + const po = parseInt(prixpo) || 0; + const ca = parseInt(prixca) || 0; + const sc = parseInt(prixsc) || 0; + return po * 100 + ca * 10 + sc; + }); + Handlebars.registerHelper('select', function(value, options) { const html = options.fn(this); const escaped = String(value).replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); @@ -333,9 +346,11 @@ export class MournbladeCYD2Utility { /* -------------------------------------------- */ static computeMonnaieDetails(valueSC) { - let po = Math.floor(valueSC / 400) - let pa = Math.floor((valueSC - (po * 400)) / 20) - let sc = valueSC - (po * 400) - (pa * 20) + // Conversion selon le lore Mournblade : + // 1 PO = 100 SC, 1 CA (PA) = 10 SC + let po = Math.floor(valueSC / 100) + let pa = Math.floor((valueSC - (po * 100)) / 10) + let sc = valueSC - (po * 100) - (pa * 10) return { po, pa, sc, valueSC }