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) {
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
_isConteneurContenu(item, conteneur) {
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) {
let subObjet = this.getObjet(id);
if (subObjet?.id == conteneurId) {
if (subObjet?.id == conteneur.id) {
return true; // Loop detected !
}
if (subObjet?.type == 'conteneur') {
return this._isConteneurContenu(subObjet, conteneurId);
if (subObjet?.isConteneur()) {
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}) !`);
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} !`);
return false; // Loop detected !
}

View File

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