56 lines
1.6 KiB
JavaScript
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
|
|
});
|
|
}
|
|
|
|
}
|