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>
This commit is contained in:
@@ -646,8 +646,8 @@ export class MournbladeCYD2Actor extends Actor {
|
|||||||
for (let equip of this.items) {
|
for (let equip of this.items) {
|
||||||
if (equip.type == "equipement" || equip.type == "arme" || equip.type == "protection") {
|
if (equip.type == "equipement" || equip.type == "arme" || equip.type == "protection") {
|
||||||
valueSC += Number(equip.system.prixsc) * Number(equip.system.quantite ?? 1)
|
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.prixca) * Number(equip.system.quantite ?? 1)) * 10
|
||||||
valueSC += (Number(equip.system.prixpo) * Number(equip.system.quantite ?? 1)) * 400
|
valueSC += (Number(equip.system.prixpo) * Number(equip.system.quantite ?? 1)) * 100
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return MournbladeCYD2Utility.computeMonnaieDetails(valueSC)
|
return MournbladeCYD2Utility.computeMonnaieDetails(valueSC)
|
||||||
|
|||||||
@@ -49,6 +49,19 @@ export class MournbladeCYD2Utility {
|
|||||||
Handlebars.registerHelper('subtract', function (a, b) {
|
Handlebars.registerHelper('subtract', function (a, b) {
|
||||||
return parseInt(a) - parseInt(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) {
|
Handlebars.registerHelper('select', function(value, options) {
|
||||||
const html = options.fn(this);
|
const html = options.fn(this);
|
||||||
const escaped = String(value).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
const escaped = String(value).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
||||||
@@ -333,9 +346,11 @@ export class MournbladeCYD2Utility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static computeMonnaieDetails(valueSC) {
|
static computeMonnaieDetails(valueSC) {
|
||||||
let po = Math.floor(valueSC / 400)
|
// Conversion selon le lore Mournblade :
|
||||||
let pa = Math.floor((valueSC - (po * 400)) / 20)
|
// 1 PO = 100 SC, 1 CA (PA) = 10 SC
|
||||||
let sc = valueSC - (po * 400) - (pa * 20)
|
let po = Math.floor(valueSC / 100)
|
||||||
|
let pa = Math.floor((valueSC - (po * 100)) / 10)
|
||||||
|
let sc = valueSC - (po * 100) - (pa * 10)
|
||||||
return {
|
return {
|
||||||
po, pa, sc, valueSC
|
po, pa, sc, valueSC
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user