diff --git a/module/rdd-utility.js b/module/rdd-utility.js
index db6ef01c..a2fb6c2c 100644
--- a/module/rdd-utility.js
+++ b/module/rdd-utility.js
@@ -204,9 +204,9 @@ export class RdDUtility {
}
/* -------------------------------------------- */
- static buildListOptions( min, max ) {
+ static buildListOptions(min, max) {
let options = ""
- for(let i=min; i<= max; i++) {
+ for (let i = min; i <= max; i++) {
options += ``
}
return options;
@@ -530,24 +530,38 @@ export class RdDUtility {
// Gestion du bouton payer
html.on("click", '.payer-button', event => {
let sumdenier = event.currentTarget.attributes['data-somme-denier'].value;
- let quantite = 1;
- if (event.currentTarget.attributes['data-quantite']) {
- quantite = event.currentTarget.attributes['data-quantite'].value;
- }
+ let quantite = event.currentTarget.attributes['data-quantite']?.value ?? 1;
let jsondata = event.currentTarget.attributes['data-jsondata']
let objData
if (jsondata) {
objData = JSON.parse(jsondata.value)
}
- if (game.user.character) {
- game.user.character.payerDenier(sumdenier, objData, quantite);
- } else {
- let msgPayer = "Vous devez avoir un acteur relié pour effectuer le paiement";
- ChatMessage.create({ content: msgPayer, whisper: [game.user] });
+ let actor = RdDUtility.getSelectedActor("Pour effectuer le paiement:");
+ if (actor) {
+ actor.payerDenier(sumdenier, objData, quantite);
}
});
}
+ static getSelectedActor(msgPlayer = '') {
+ if (canvas.tokens.controlled.length == 1) {
+ let token = canvas.tokens.controlled[0];
+ if (token.actor && token.data.actorLink) {
+ return token.actor;
+ }
+ msgPlayer += "
le token sélectionné doit être lié à un personnage";
+ }
+ if (game.user.character) {
+ return game.user.character;
+ }
+ msgPlayer += "
vous pouvez sélectionner un seul token lié à un personnage";
+ msgPlayer += "
vous devez être connecté comme joueur avec un personnage sélectionné";
+
+ ui.notifications.warn(msgPlayer);
+ ChatMessage.create({ content: msgPlayer, whisper: [game.user] });
+ return undefined;
+ }
+
/* -------------------------------------------- */
static createMonnaie(name, valeur_deniers, img = "", enc = 0.01) {
let piece = {