import { Misc } from "./misc.js"; const MONNAIES_STANDARD = [ { name: "Etain (1 denier)", type: 'monnaie', img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp", system: { quantite: 0, valeur_deniers: 1, encombrement: 0.001, description: "" } }, { name: "Bronze (10 deniers)", type: 'monnaie', img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_bronze_epees.webp", system: { quantite: 0, valeur_deniers: 10, encombrement: 0.002, description: "" } }, { name: "Argent (1 sol)", type: 'monnaie', img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_argent_sol.webp", system: { quantite: 0, valeur_deniers: 100, encombrement: 0.003, description: "" } }, { name: "Or (10 sols)", type: 'monnaie', img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp", system: { quantite: 0, valeur_deniers: 1000, encombrement: 0.004, description: "" } } ] export class Monnaie { static isSystemMonnaie(item) { let present = MONNAIES_STANDARD.find(monnaie => monnaie.system.valeur_deniers == item?.system?.valeur_deniers); return present; } static monnaiesData() { return MONNAIES_STANDARD; } static filtrerMonnaies(items) { return items.filter(it => it.type == 'monnaie'); } 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); } return []; //manquantes; } static deValeur(monnaie, valeur) { return valeur == monnaie.system.valeur_deniers } static arrondiDeniers(sols) { return sols.toFixed(2); } static triValeurDenier() { return Misc.ascending(item => item.system.valeur_deniers) } }