From 8d94cbb0567f108c6fb29b2f91b8c052910c5880 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Tue, 8 Jun 2021 00:32:27 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Fix:=20achat=20multiples=20rejet=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Il manquait le jsondata et les propriétés lors du remplacement du message de vente dans le tchat --- module/actor.js | 3 +++ module/item.js | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/module/actor.js b/module/actor.js index bb55043e..4af0f4f2 100644 --- a/module/actor.js +++ b/module/actor.js @@ -31,6 +31,7 @@ import { DialogConsommer } from "./dialog-item-consommer.js"; import { DialogFabriquerPotion } from "./dialog-fabriquer-potion.js"; import { RollDataAjustements } from "./rolldata-ajustements.js"; import { DialogItemAchat } from "./dialog-item-achat.js"; +import { RdDItem } from "./item.js"; /* -------------------------------------------- */ @@ -3586,7 +3587,9 @@ export class RdDActor extends Actor { ChatUtility.removeChatMessageId(chatMessageIdVente); } else { + vente["properties"] = new RdDItem(vente.item).getProprietes(); vente.quantiteNbLots -= achat.nombreLots; + vente.jsondata = JSON.stringify(vente.item); messageVente.update({ content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html', vente) }); messageVente.render(true); } diff --git a/module/item.js b/module/item.js index 26b0fb7e..870f0328 100644 --- a/module/item.js +++ b/module/item.js @@ -215,7 +215,7 @@ export class RdDItem extends Item { } async _onProposerVente(venteData) { - venteData["properties"] = this[`_${venteData.item.type}ChatData`](); + venteData["properties"] = this.getProprietes(); if (venteData.isOwned) { if (venteData.quantiteNbLots * venteData.tailleLot > venteData.quantiteMax) { ui.notifications.warn(`Vous avez ${venteData.quantiteMax} ${venteData.item.name}, ce n'est pas suffisant pour vendre ${venteData.quantiteNbLots} de ${venteData.tailleLot}`) @@ -229,11 +229,15 @@ export class RdDItem extends Item { ChatMessage.create(RdDUtility.chatDataSetup(html)); } + getProprietes() { + return this[`_${Misc.data(this).type}ChatData`](); + } + /* -------------------------------------------- */ async postItem() { console.log(this); let chatData = duplicate(Misc.data(this)); - const properties = this[`_${chatData.type}ChatData`](); + const properties = this.getProprietes(); chatData["properties"] = properties if (this.actor) { chatData.actor = { id: this.actor.id }; From c8a5526a5f3c73b631f68e11b96a04f9f0cf1a9a Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Tue, 8 Jun 2021 00:37:35 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Fix:=20Item=20achet=C3=A9=20=C3=A0=20token?= =?UTF-8?q?=20g=C3=A9n=C3=A9rique?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les tokens non liés à l'acteur peuvent maintenant vendre de l'équipement L'équipement n'est pas enlevé de la fiche synthétique du token, l'argent n'est pas ajouté non plus. --- module/actor.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/module/actor.js b/module/actor.js index 4af0f4f2..94369442 100644 --- a/module/actor.js +++ b/module/actor.js @@ -3547,8 +3547,9 @@ export class RdDActor extends Actor { return; } } - if (vendeur) { - let itemVenduData = Misc.data(vendeur.getObjet(itemId)); + const itemVendu = vendeur?.getObjet(itemId); + if (itemVendu) { + let itemVenduData = Misc.data(itemVendu); if ("quantite" in itemVenduData.data ? itemVenduData.data.quantite < achat.quantiteTotal : achat.nombreLots != 1) { await acheteur?.ajouterDeniers(coutDeniers); ui.notifications.warn(`Le vendeur n'a plus assez de ${vente.item.name} !`);