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

56 lines
1.6 KiB
JavaScript

/**
* Extend the base Dialog entity by defining a custom window to perform roll.
* @extends {Dialog}
*/
export class RdDEncaisser extends Dialog {
/* -------------------------------------------- */
constructor(html, actor) {
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",
dialogOptions.width = 320;
dialogOptions.height = 160;
super(dialogConf, dialogOptions);
this.actor = actor;
this.modifier = 0;
}
/* -------------------------------------------- */
performEncaisser (html, isReserve=false) {
//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);
}
/* -------------------------------------------- */
activateListeners(html) {
super.activateListeners(html);
// Setup everything onload
$(function() {
$("#modificateurDegats").val( "0" );
});
html.find('#modificateurDegats').click((event) => {
this.modifier = event.currentTarget.value; // Update the selected bonus/malus
});
}
}