Petits fixes suite à tests #552
@ -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 });
|
||||||
}
|
}
|
||||||
|
@ -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) {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user