foundryvtt-reve-de-dragon/module/rdd-roll-encaisser.js

56 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-11-07 21:06:37 +01:00
/**
* Extend the base Dialog entity by defining a custom window to perform roll.
* @extends {Dialog}
*/
export class RdDEncaisser extends Dialog {
/* -------------------------------------------- */
2020-11-10 13:53:51 +01:00
constructor(html, actor) {
2020-11-07 21:06:37 +01:00
let myButtons = { rollButton: {
label: "Lancer",
callback: html => this.performEncaisser(html, false)
} };
// Common conf
let dialogConf = {
content: html,
buttons: myButtons,
default: "rollButton"
}
let dialogOptions = { classes: [ "rdddialog"] }
// Select proper roll dialog template and stuff
dialogConf.title = "Jet d'Encaissement",
2020-11-10 13:53:51 +01:00
dialogOptions.width = 320;
dialogOptions.height = 160;
2020-11-07 21:06:37 +01:00
super(dialogConf, dialogOptions);
this.actor = actor;
2020-11-10 13:53:51 +01:00
this.modifier = 0;
2020-11-07 21:06:37 +01:00
}
/* -------------------------------------------- */
performEncaisser (html, isReserve=false) {
2020-11-10 13:53:51 +01:00
//console.log("On va encaisser !!", this.modifier);
let result = Number(new Roll("2d10").roll().result);
result += Number(this.modifier);
this.actor.encaisserDommagesHorsCombat(result);
//console.log("ENCAISSER:", result);
2020-11-07 21:06:37 +01:00
}
/* -------------------------------------------- */
activateListeners(html) {
super.activateListeners(html);
2020-11-10 13:53:51 +01:00
// Setup everything onload
$(function() {
$("#modificateurDegats").val( "0" );
});
html.find('#modificateurDegats').click((event) => {
this.modifier = event.currentTarget.value; // Update the selected bonus/malus
});
2020-11-07 21:06:37 +01:00
}
}