/** * 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 }); } }