forked from public/foundryvtt-reve-de-dragon
Fix: empilement de nouveau possible
Les objets empilables peuvent de nouveau être empilés. Un message indique en cas de drop sur un objet non empilable qui n'est pas un conteneur que l'objet est déplacé dans le conteneur parent ou dans les objets portés.
This commit is contained in:
@ -242,30 +242,32 @@ export class RdDItem extends Item {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// détermine si deux équipements sont similaires: de même type, et avec les même champs hormis la quantité
|
||||
messageEquipementDifferent(other) {
|
||||
if (!other || !this.isEquipement()) return undefined;
|
||||
isEquipementEmpilable(other) {
|
||||
if (!other || !this.isEquipement()) {
|
||||
return [false, undefined];
|
||||
}
|
||||
|
||||
let message = undefined;
|
||||
if (this.system.quantite == undefined) {
|
||||
message = `Impossible de regrouper des ${this.type}, ils ne sont pas empilables`;
|
||||
return [false, `Impossible de regrouper des ${this.type}, ils ne sont pas empilables`];
|
||||
}
|
||||
else if (this.type != other.type) {
|
||||
message = `Impossible de regrouper des ${this.type} avec des ${other.type}`;
|
||||
return [false, `Impossible de regrouper des ${this.type} avec des ${other.type}`];
|
||||
}
|
||||
else if (this.name != other.name) {
|
||||
message = `Impossible de regrouper ${this.name} avec ${other.name}`;
|
||||
return [false, `Impossible de regrouper ${this.name} avec ${other.name}`];
|
||||
}
|
||||
else {
|
||||
const differences = Object.entries(this.system)
|
||||
.filter(([key, value]) => !['quantite', 'cout'].includes(key) && value != other.system[key]);
|
||||
.filter(([key, value]) => !['quantite', 'cout', 'encTotal'].includes(key) && value != other.system[key]);
|
||||
if (differences.length > 0) {
|
||||
message = `Impossible de regrouper les ${this.type} ${this.name}: `;
|
||||
let message = `Impossible de regrouper les ${this.type} ${this.name}: `;
|
||||
for (const [key, value] of differences) {
|
||||
message += `<br>${key}: ${value} vs ${other.system[key]}`;
|
||||
}
|
||||
return [false, message];
|
||||
}
|
||||
}
|
||||
return message;
|
||||
return [true, undefined];
|
||||
}
|
||||
|
||||
async proposerVente() {
|
||||
|
Reference in New Issue
Block a user