Petits fixes suite à tests #552

Merged
uberwald merged 4 commits from VincentVk/foundryvtt-reve-de-dragon:v10-fixes into v10 2022-09-16 08:34:19 +02:00
3 changed files with 13 additions and 7 deletions
Showing only changes of commit e1ca7ab738 - Show all commits

View File

@ -200,7 +200,6 @@ export class RdDActor extends Actor {
async checkMonnaiePresence() { // Ajout opportuniste si les pièces n'existent pas. async checkMonnaiePresence() { // Ajout opportuniste si les pièces n'existent pas.
if (!this.items) return; // Sanity check during import if (!this.items) return; // Sanity check during import
let manquantes = Monnaie.monnaiesManquantes(this.itemTypes['monnaie']); let manquantes = Monnaie.monnaiesManquantes(this.itemTypes['monnaie']);
//console.log("Manque : ", manquantes);
if (manquantes.length > 0) { if (manquantes.length > 0) {
await this.createEmbeddedDocuments('Item', manquantes, { renderSheet: false }); 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: "" } system: { quantite: 0, valeur_deniers: 1000, encombrement: 0.004, description: "" }
} }
] ]
const VALEURS_STANDARDS = MONNAIES_STANDARD.map(it =>it.system.valeur_deniers);
export class Monnaie { export class Monnaie {
static isSystemMonnaie(item) { static isSystemMonnaie(item, items) {
let present = MONNAIES_STANDARD.find(monnaie => monnaie.system.valeur_deniers == item?.system?.valeur_deniers); if (item.type == 'monnaie') {
return present; 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() { static monnaiesData() {
@ -40,10 +47,10 @@ export class Monnaie {
static monnaiesManquantes(disponibles) { static monnaiesManquantes(disponibles) {
const manquantes = MONNAIES_STANDARD.filter(standard => !disponibles.find(disponible => Monnaie.deValeur(disponible, standard.system?.valeur_deniers))); const manquantes = MONNAIES_STANDARD.filter(standard => !disponibles.find(disponible => Monnaie.deValeur(disponible, standard.system?.valeur_deniers)));
if (manquantes.length>0) { if (manquantes.length > 0) {
console.error('monnaiesManquantes', manquantes, ' avec monnaies', disponibles, MONNAIES_STANDARD); console.error('monnaiesManquantes', manquantes, ' avec monnaies', disponibles, MONNAIES_STANDARD);
} }
return []; //manquantes; return manquantes;
} }
static deValeur(monnaie, valeur) { static deValeur(monnaie, valeur) {

View File

@ -861,7 +861,7 @@ export class RdDUtility {
let itemId = li.data("item-id"); let itemId = li.data("item-id");
let objet = actorSheet.actor.getObjet(itemId); 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"); ui.notifications.warn("Suppression des monnaies de base impossible");
return; return;
} }