achat quantite illimitée

This commit is contained in:
Vincent Vandemeulebrouck 2021-05-20 02:49:48 +02:00
parent 053b949414
commit 862ad1faec
3 changed files with 26 additions and 18 deletions

View File

@ -3386,7 +3386,7 @@ export class RdDActor extends Actor {
ui.notifications.info("Inutile de se vendre à soi-même");
return;
}
if (!game.user.isGM) {
if (!Misc.isElectedUser()) {
RdDActor.remoteActorCall({
userId: Misc.connectedGMOrUser(),
actorId: this.vendeur?.id ?? this.acheteur?.id,
@ -3430,10 +3430,14 @@ export class RdDActor extends Actor {
if (acheteur) {
// TODO: achat depuis un compendium
const achat = duplicate(Misc.data(vendeur?.getObjet(itemId) ?? game.items.get(itemId)));
const itemData = Misc.data(vendeur?.getObjet(itemId) ?? game.items.get(itemId));
const achat = {
type: itemData.type,
img: itemData.img,
name: itemData.name,
data: itemData.data
}
achat.data.quantite = venteData.quantiteTotal;
achat._id = undefined;
// TODO: investigate bug - création marche mal...
await acheteur.createEmbeddedDocuments("Item", [achat]);
}
if (coutDeniers > 0) {
@ -3445,18 +3449,19 @@ export class RdDActor extends Actor {
content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-achat-item.html', venteData)
});
if (venteData.quantiteNbLots <= venteData.nombreLots) {
ChatUtility.removeChatMessageId(chatMessageIdVente);
if (!venteData.quantiteIllimite) {
if (venteData.quantiteNbLots <= venteData.nombreLots) {
ChatUtility.removeChatMessageId(chatMessageIdVente);
}
else {
venteData.quantiteNbLots -= venteData.nombreLots;
venteData.jsondata = JSON.stringify(venteData.item);
let newMessageVente = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html', venteData);
const messageVente = game.messages.get(chatMessageIdVente);
messageVente.update({ content: newMessageVente });
messageVente.render(true);
}
}
else {
venteData.quantiteNbLots -= venteData.nombreLots;
venteData.jsondata = JSON.stringify(venteData.item);
let newMessageVente = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html', venteData);
const messageVente = game.messages.get(chatMessageIdVente);
messageVente.update({ content: newMessageVente });
messageVente.render(true);
}
}
/* -------------------------------------------- */

View File

@ -29,6 +29,7 @@ export class DialogItemAchat extends Dialog {
vendeur: Misc.data(vendeur),
acheteur: Misc.data(acheteur),
tailleLot: event.currentTarget.attributes['data-tailleLot']?.value ?? 1,
quantiteIllimite : event.currentTarget.attributes['data-quantiteIllimite']?.value == 'true',
quantiteNbLots: event.currentTarget.attributes['data-quantiteNbLots']?.value,
nombreLots: 1,
prixLot: prixLot,

View File

@ -15,13 +15,15 @@
{{item.name}}</h4>
</div>
{{#unless quantiteIllimite}}
<div class="flexrow flex-group-left">
<label>{{#if (gt tailleLot 1)}}Lots disponibles
{{else}}Quantité disponible{{/if}}</label>
<label>{{quantiteNbLots}}</label>
<label>{{#if quantiteIllimite}}
pas de limite
{{else}}
{{quantiteNbLots}}
{{/if}}</label>
</div>
{{/unless}}
<div class="flexrow flex-group-left">
<label>
{{#if (gt tailleLot 1)}}Nombre de lots de {{tailleLot}}