Fix vente/don de conteneur

Pour passer par le tchat, le conteneur doit être vide.
Correction du calcul de quantité pour les conteneurs.
This commit is contained in:
Vincent Vandemeulebrouck
2021-12-10 01:18:59 +01:00
parent e02f355405
commit 508d352b0b
4 changed files with 21 additions and 9 deletions

View File

@ -63,8 +63,16 @@ export class RdDItem extends Item {
return Misc.data(this).type == 'conteneur';
}
isVide() {
return this.isConteneur() && (Misc.templateData(this).contenu ?? []).length == 0;
isConteneurNonVide() {
return this.isConteneur() && (Misc.templateData(this).contenu?.length ?? 0) > 0;
}
isConteneurVide() {
return this.isConteneur() && (Misc.templateData(this).contenu?.length ?? 0) == 0;
}
isVideOuNonConteneur() {
return !this.isConteneur() || (Misc.templateData(this).contenu?.length ?? 0) == 0;
}
isAlcool() {
@ -143,7 +151,7 @@ export class RdDItem extends Item {
getActionPrincipale(options = { warnIfNot: true }) {
const itemData = Misc.data(this);
if (itemData.type != 'conteneur' && (itemData.data.quantite ?? 0) <= 0) {
if (!this.isConteneur() && (itemData.data.quantite ?? 0) <= 0) {
if (options.warnIfNot) {
ui.notifications.warn(`Vous n'avez plus de ${itemData.name}.`);
}
@ -217,6 +225,10 @@ export class RdDItem extends Item {
async proposerVente() {
console.log(this);
if (this.isConteneurNonVide()) {
ui.notifications.warn(`Votre ${this.name} n'est pas vide, pas possible de le donner ou le vendre`);
return;
}
const dialog = await DialogItemVente.create(this, (vente) => this._onProposerVente(vente))
dialog.render(true);
}