Fix drop conteneurs

This commit is contained in:
Vincent Vandemeulebrouck 2021-04-14 21:51:29 +02:00
parent 93865f2c4b
commit 44e212cd12
2 changed files with 9 additions and 9 deletions

View File

@ -826,15 +826,15 @@ export class RdDActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
_isConteneurContenu(item, conteneurId) { _isConteneurContenu(item, conteneur) {
if (Misc.data(item)?.type == 'conteneur') { // Si c'est un conteneur, il faut vérifier qu'on ne le déplace pas vers un sous-conteneur lui appartenant if (item?.isConteneur()) { // Si c'est un conteneur, il faut vérifier qu'on ne le déplace pas vers un sous-conteneur lui appartenant
for (let id of Misc.templateData(item).contenu) { for (let id of Misc.templateData(item).contenu) {
let subObjet = this.getObjet(id); let subObjet = this.getObjet(id);
if (subObjet?.id == conteneurId) { if (subObjet?.id == conteneur.id) {
return true; // Loop detected ! return true; // Loop detected !
} }
if (subObjet?.type == 'conteneur') { if (subObjet?.isConteneur()) {
return this._isConteneurContenu(subObjet, conteneurId); return this._isConteneurContenu(subObjet, conteneur);
} }
} }
} }
@ -969,7 +969,7 @@ export class RdDActor extends Actor {
ui.notifications.warn(`Impossible de déplacer un objet (${item.name}) vers un ${destData.type} qui n'est pas un conteneur (${dest.name}) !`); ui.notifications.warn(`Impossible de déplacer un objet (${item.name}) vers un ${destData.type} qui n'est pas un conteneur (${dest.name}) !`);
return false; return false;
} }
if (this._isConteneurContenu(item, conteneurId)) { if (this._isConteneurContenu(item, dest)) {
ui.notifications.warn(`Impossible de déplacer un conteneur parent (${item.name}) dans un de ses contenus ${destData.name} !`); ui.notifications.warn(`Impossible de déplacer un conteneur parent (${item.name}) dans un de ses contenus ${destData.name} !`);
return false; // Loop detected ! return false; // Loop detected !
} }

View File

@ -104,9 +104,9 @@ export class RdDItem extends Item {
async quantiteIncDec(nombre, options = { diminuerQuantite: true, supprimerSiZero: false }) { async quantiteIncDec(nombre, options = { diminuerQuantite: true, supprimerSiZero: false }) {
const itemData = Misc.data(this); const itemData = Misc.data(this);
const quantite = itemData.data.quantite; const quantite = Number(itemData.data.quantite ??-1);
if (quantite != undefined) { if (quantite >=0 ) {
const reste = Math.max(quantite + nombre, 0); const reste = Math.max(quantite + Number(nombre), 0);
if (reste == 0) { if (reste == 0) {
if (options.supprimerSiZero){ if (options.supprimerSiZero){