Amélioration des monnaies

On peut maintenant supprimer es monnaies tant qu'on garde une monnaie
pour chaque valeur de base
This commit is contained in:
Vincent Vandemeulebrouck 2022-09-16 02:22:09 +02:00
parent 8f1ee315ef
commit e1ca7ab738
3 changed files with 13 additions and 7 deletions

View File

@ -200,7 +200,6 @@ export class RdDActor extends Actor {
async checkMonnaiePresence() { // Ajout opportuniste si les pièces n'existent pas.
if (!this.items) return; // Sanity check during import
let manquantes = Monnaie.monnaiesManquantes(this.itemTypes['monnaie']);
//console.log("Manque : ", manquantes);
if (manquantes.length > 0) {
await this.createEmbeddedDocuments('Item', manquantes, { renderSheet: false });
}

View File

@ -22,12 +22,19 @@ const MONNAIES_STANDARD = [
system: { quantite: 0, valeur_deniers: 1000, encombrement: 0.004, description: "" }
}
]
const VALEURS_STANDARDS = MONNAIES_STANDARD.map(it =>it.system.valeur_deniers);
export class Monnaie {
static isSystemMonnaie(item) {
let present = MONNAIES_STANDARD.find(monnaie => monnaie.system.valeur_deniers == item?.system?.valeur_deniers);
return present;
static isSystemMonnaie(item, items) {
if (item.type == 'monnaie') {
const valeur = item.system.valeur_deniers;
if (VALEURS_STANDARDS.includes(valeur)) {
const monnaiesDeValeur = items.filter(it => it.type == 'monnaie' && it.system.valeur_deniers == valeur)
return monnaiesDeValeur.length<=1;
}
}
return false;
}
static monnaiesData() {
@ -43,7 +50,7 @@ export class Monnaie {
if (manquantes.length > 0) {
console.error('monnaiesManquantes', manquantes, ' avec monnaies', disponibles, MONNAIES_STANDARD);
}
return []; //manquantes;
return manquantes;
}
static deValeur(monnaie, valeur) {

View File

@ -861,7 +861,7 @@ export class RdDUtility {
let itemId = li.data("item-id");
let objet = actorSheet.actor.getObjet(itemId);
if (objet.type == 'monnaie' && Monnaie.isSystemMonnaie(objet)) {
if (Monnaie.isSystemMonnaie(objet, actorSheet.actor.items)) {
ui.notifications.warn("Suppression des monnaies de base impossible");
return;
}