v10.0.29: Fix empilement #566
@ -1187,8 +1187,8 @@ export class RdDActor extends Actor {
|
|||||||
const src = this.getObjet(srcId);
|
const src = this.getObjet(srcId);
|
||||||
const dest = this.getObjet(destId);
|
const dest = this.getObjet(destId);
|
||||||
const cible = this.getContenantOrParent(dest);
|
const cible = this.getContenantOrParent(dest);
|
||||||
const messageEquipementDifferent = item.messageEquipementDifferent(dest);
|
const [empilable, message] = item.isEquipementEmpilable(dest);
|
||||||
if (dest && !messageEquipementDifferent) {
|
if (empilable) {
|
||||||
await this.regrouperEquipementsSimilaires(item, dest);
|
await this.regrouperEquipementsSimilaires(item, dest);
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
@ -1196,9 +1196,11 @@ export class RdDActor extends Actor {
|
|||||||
else if (!cible || this.conteneurPeutContenir(cible, item)) {
|
else if (!cible || this.conteneurPeutContenir(cible, item)) {
|
||||||
await this.enleverDeConteneur(item, src, params.onEnleverConteneur);
|
await this.enleverDeConteneur(item, src, params.onEnleverConteneur);
|
||||||
await this.ajouterDansConteneur(item, cible, params.onAjouterDansConteneur);
|
await this.ajouterDansConteneur(item, cible, params.onAjouterDansConteneur);
|
||||||
}
|
if (message && !dest.isConteneur()) {
|
||||||
else {
|
ui.notifications.info(cible
|
||||||
ui.notifications.info(messageEquipementDifferent);
|
? `${message}<br>${item.name} a été déplacé dans: ${cible.name}`
|
||||||
|
: `${message}<br>${item.name} a été sorti du conteneur`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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é
|
// détermine si deux équipements sont similaires: de même type, et avec les même champs hormis la quantité
|
||||||
messageEquipementDifferent(other) {
|
isEquipementEmpilable(other) {
|
||||||
if (!other || !this.isEquipement()) return undefined;
|
if (!other || !this.isEquipement()) {
|
||||||
|
return [false, undefined];
|
||||||
|
}
|
||||||
|
|
||||||
let message = undefined;
|
|
||||||
if (this.system.quantite == 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) {
|
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) {
|
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 {
|
else {
|
||||||
const differences = Object.entries(this.system)
|
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) {
|
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) {
|
for (const [key, value] of differences) {
|
||||||
message += `<br>${key}: ${value} vs ${other.system[key]}`;
|
message += `<br>${key}: ${value} vs ${other.system[key]}`;
|
||||||
}
|
}
|
||||||
|
return [false, message];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return message;
|
return [true, undefined];
|
||||||
}
|
}
|
||||||
|
|
||||||
async proposerVente() {
|
async proposerVente() {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"id": "foundryvtt-reve-de-dragon",
|
"id": "foundryvtt-reve-de-dragon",
|
||||||
"title": "Rêve de Dragon",
|
"title": "Rêve de Dragon",
|
||||||
"version": "10.0.28",
|
"version": "10.0.29",
|
||||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.0.28.zip",
|
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.0.29.zip",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v10/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v10/system.json",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "10",
|
"minimum": "10",
|
||||||
|
Loading…
Reference in New Issue
Block a user