#88 Gestion argent

This commit is contained in:
2020-12-31 00:55:02 +01:00
parent fcd4d615dd
commit 5175be2801
7 changed files with 198 additions and 17 deletions

View File

@ -164,6 +164,7 @@ export class RdDUtility {
'systems/foundryvtt-reve-de-dragon/templates/item-tarot-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-tete-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-ombre-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-monnaie-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/competence-categorie.html',
'systems/foundryvtt-reve-de-dragon/templates/competence-carac-defaut.html',
'systems/foundryvtt-reve-de-dragon/templates/competence-base.html',
@ -245,6 +246,7 @@ export class RdDUtility {
data.data.ombres = this.checkNull(data.itemsByType['ombre']);
data.data.tetes = this.checkNull(data.itemsByType['tete']);
data.data.taches = this.checkNull(data.itemsByType['tache']);
data.data.monnaie = this.checkNull(data.itemsByType['monnaie']);
data.data.objets = data.data.conteneurs.concat(data.data.materiel).concat(data.data.armes).concat(data.data.armures).concat(data.data.munitions).concat(data.data.livres).concat(data.data.potions).concat(data.data.herbes).concat(data.data.ingredients);
}
@ -743,7 +745,7 @@ export class RdDUtility {
return;
}
if ((game.user.isGM && !defenderToken.actor.hasPlayerOwner) || (defenderToken.actor.hasPlayerOwner && (game.user.character.id == defenderToken.actor.data._id))) {
console.log("User is pushing message...", game.user.name);
//console.log("User is pushing message...", game.user.name);
game.system.rdd.rollDataHandler[data.attackerId] = duplicate(data.rollData);
data.whisper = [game.user];
data.blind = true;
@ -873,7 +875,7 @@ export class RdDUtility {
let actor = game.actors.get( actorId );
actor.tmrApp.forceDemiRevePosition(coord);
});
// Gestio spécifique des sorts en réserve multiples (ie têtes)
// Gestion spécifique des sorts en réserve multiples (ie têtes)
html.on("click", '#sort-reserve', event => {
let coord = event.currentTarget.attributes['data-tmr-coord'].value;
let sortId = event.currentTarget.attributes['data-sort-id'].value;
@ -881,6 +883,12 @@ export class RdDUtility {
let actor = game.actors.get( actorId );
actor.tmrApp.lancerSortEnReserve(coord, sortId);
});
// Gestion du bouton payer
html.on("click", '#payer-button', event => {
let sumdenier = event.currentTarget.attributes['data-somme-denier'].value;
if (game.user.character )
game.user.character.payerDenier(sumdenier);
});
}
/* -------------------------------------------- */
@ -893,6 +901,27 @@ export class RdDUtility {
}
ChatMessage.create( msg );
}
/* -------------------------------------------- */
static afficherDemandePayer(som1, som2) {
som1 = (som1) ? som1.toLowerCase() : "0d";
som2 = (som2) ? som2.toLowerCase() : "0d";
let regExp = /(\d+)(\w+)/g;
let p1 = regExp.exec( som1);
regExp = /(\d+)(\w+)/g;
let p2 = regExp.exec( som2);
let sumd = 0;
let sums = 0;
if (p1[2] == 'd') sumd += Number(p1[1]);
if (p1[2] == 's') sums += Number(p1[1]);
if (p2[2] == 'd') sumd += Number(p2[1]);
if (p2[2] == 's') sums += Number(p2[1]);
let sumtotald = sumd + (sums*100);
let msgPayer = "La somme de "+sums+" Sols et "+sumd+" Deniers est à payer, cliquer sur le lien ci-dessous si besoin.<br>";
msgPayer += "<a id='payer-button' data-somme-denier='"+sumtotald+"'>Payer</a>"
ChatMessage.create( { content: msgPayer } );
}
/* -------------------------------------------- */
/* Manage chat commands */
@ -915,11 +944,14 @@ export class RdDUtility {
}
return false
} else if (command === "/tmrr") {
TMRUtility.getRencontre(commands[1], commands[2] )
return false
TMRUtility.getRencontre(commands[1], commands[2] )
return false
} else if (command === "/tmra") {
TMRUtility.getTMRAleatoire( )
return false
TMRUtility.getTMRAleatoire( )
return false
} else if (command === "/payer") {
RdDUtility.afficherDemandePayer( commands[1], commands[2] )
return false
}
return true;