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"); ui.notifications.info("Inutile de se vendre à soi-même");
return; return;
} }
if (!game.user.isGM) { if (!Misc.isElectedUser()) {
RdDActor.remoteActorCall({ RdDActor.remoteActorCall({
userId: Misc.connectedGMOrUser(), userId: Misc.connectedGMOrUser(),
actorId: this.vendeur?.id ?? this.acheteur?.id, actorId: this.vendeur?.id ?? this.acheteur?.id,
@ -3430,10 +3430,14 @@ export class RdDActor extends Actor {
if (acheteur) { if (acheteur) {
// TODO: achat depuis un compendium // 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.data.quantite = venteData.quantiteTotal;
achat._id = undefined;
// TODO: investigate bug - création marche mal...
await acheteur.createEmbeddedDocuments("Item", [achat]); await acheteur.createEmbeddedDocuments("Item", [achat]);
} }
if (coutDeniers > 0) { if (coutDeniers > 0) {
@ -3445,6 +3449,7 @@ export class RdDActor extends Actor {
content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-achat-item.html', venteData) content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-achat-item.html', venteData)
}); });
if (!venteData.quantiteIllimite) {
if (venteData.quantiteNbLots <= venteData.nombreLots) { if (venteData.quantiteNbLots <= venteData.nombreLots) {
ChatUtility.removeChatMessageId(chatMessageIdVente); ChatUtility.removeChatMessageId(chatMessageIdVente);
} }
@ -3456,7 +3461,7 @@ export class RdDActor extends Actor {
messageVente.update({ content: newMessageVente }); messageVente.update({ content: newMessageVente });
messageVente.render(true); messageVente.render(true);
} }
}
} }
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

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

View File

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