2021-03-25 03:18:27 +01:00
|
|
|
import { Misc } from "./misc.js";
|
2021-03-19 22:20:01 +01:00
|
|
|
|
2022-09-07 18:47:56 +02:00
|
|
|
const MONNAIES_STANDARD = [
|
2021-03-19 22:20:01 +01:00
|
|
|
{
|
2021-03-25 03:18:27 +01:00
|
|
|
name: "Etain (1 denier)", type: 'monnaie',
|
2021-03-19 22:20:01 +01:00
|
|
|
img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp",
|
2022-09-07 00:09:17 +02:00
|
|
|
system: { quantite: 0, valeur_deniers: 1, encombrement: 0.001, description: "" }
|
2021-03-19 22:20:01 +01:00
|
|
|
},
|
|
|
|
{
|
2021-03-25 03:18:27 +01:00
|
|
|
name: "Bronze (10 deniers)", type: 'monnaie',
|
2021-03-19 22:20:01 +01:00
|
|
|
img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_bronze_epees.webp",
|
2022-09-07 00:09:17 +02:00
|
|
|
system: { quantite: 0, valeur_deniers: 10, encombrement: 0.002, description: "" }
|
2021-03-19 22:20:01 +01:00
|
|
|
},
|
|
|
|
{
|
2021-03-25 03:18:27 +01:00
|
|
|
name: "Argent (1 sol)", type: 'monnaie',
|
2021-03-19 22:20:01 +01:00
|
|
|
img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_argent_sol.webp",
|
2022-09-07 00:09:17 +02:00
|
|
|
system: { quantite: 0, valeur_deniers: 100, encombrement: 0.003, description: "" }
|
2021-03-19 22:20:01 +01:00
|
|
|
},
|
|
|
|
{
|
2021-03-25 03:18:27 +01:00
|
|
|
name: "Or (10 sols)", type: 'monnaie',
|
2021-03-19 22:20:01 +01:00
|
|
|
img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp",
|
2022-09-07 00:09:17 +02:00
|
|
|
system: { quantite: 0, valeur_deniers: 1000, encombrement: 0.004, description: "" }
|
2021-03-19 22:20:01 +01:00
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
export class Monnaie {
|
|
|
|
|
2021-06-02 17:39:16 +02:00
|
|
|
static isSystemMonnaie(item) {
|
2022-09-07 18:47:56 +02:00
|
|
|
let present = MONNAIES_STANDARD.find(monnaie => monnaie.system.valeur_deniers == item?.system?.valeur_deniers);
|
2021-06-02 17:39:16 +02:00
|
|
|
return present;
|
|
|
|
}
|
|
|
|
|
2021-03-19 22:20:01 +01:00
|
|
|
static monnaiesData() {
|
2022-09-07 18:47:56 +02:00
|
|
|
return MONNAIES_STANDARD;
|
2021-03-19 22:20:01 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static filtrerMonnaies(items) {
|
2022-06-12 09:46:58 +02:00
|
|
|
return items.filter(it => it.type == 'monnaie');
|
2021-03-19 22:20:01 +01:00
|
|
|
}
|
|
|
|
|
2022-09-07 18:47:56 +02:00
|
|
|
static monnaiesManquantes(disponibles) {
|
|
|
|
const manquantes = MONNAIES_STANDARD.filter(standard => !disponibles.find(disponible => Monnaie.deValeur(disponible, standard.system?.valeur_deniers)));
|
|
|
|
if (manquantes.length>0) {
|
|
|
|
console.error('monnaiesManquantes', manquantes, ' avec monnaies', disponibles, MONNAIES_STANDARD);
|
|
|
|
}
|
2021-06-02 17:39:16 +02:00
|
|
|
return []; //manquantes;
|
2021-03-25 03:18:27 +01:00
|
|
|
}
|
|
|
|
|
2022-09-07 18:47:56 +02:00
|
|
|
static deValeur(monnaie, valeur) {
|
|
|
|
return valeur == monnaie.system.valeur_deniers
|
2021-03-19 22:20:01 +01:00
|
|
|
}
|
2021-05-07 17:27:02 +02:00
|
|
|
|
|
|
|
static arrondiDeniers(sols) {
|
|
|
|
return sols.toFixed(2);
|
|
|
|
}
|
2021-06-05 02:05:51 +02:00
|
|
|
|
|
|
|
static triValeurDenier() {
|
2022-05-01 00:38:09 +02:00
|
|
|
return Misc.ascending(item => item.system.valeur_deniers)
|
2021-06-05 02:05:51 +02:00
|
|
|
}
|
2021-03-19 22:20:01 +01:00
|
|
|
}
|