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:
parent
8f1ee315ef
commit
e1ca7ab738
@ -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 });
|
||||
}
|
||||
|
@ -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() {
|
||||
@ -40,10 +47,10 @@ export class Monnaie {
|
||||
|
||||
static monnaiesManquantes(disponibles) {
|
||||
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);
|
||||
}
|
||||
return []; //manquantes;
|
||||
return manquantes;
|
||||
}
|
||||
|
||||
static deValeur(monnaie, valeur) {
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user