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 }