120 lines
4.0 KiB
JavaScript
120 lines
4.0 KiB
JavaScript
import { MournbladeUtility } from "./mournblade-utility.js";
|
|
|
|
export class MournbladeRollDialog extends Application {
|
|
|
|
/* -------------------------------------------- */
|
|
static async create(actor, rollData ) {
|
|
return new MournbladeRollDialog(actor, rollData);
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
constructor(actor, rollData, options = {}) {
|
|
super(options);
|
|
this.actor = actor;
|
|
this.rollData = rollData;
|
|
}
|
|
|
|
static get defaultOptions() {
|
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
|
classes: ["fvtt-mournblade", "sheet", "item"],
|
|
template: "systems/fvtt-mournblade/templates/roll-dialog-generic.hbs",
|
|
width: 400,
|
|
height: "auto",
|
|
title: "Test de Capacité"
|
|
});
|
|
}
|
|
|
|
getData() {
|
|
const data = foundry.utils.duplicate(this.rollData);
|
|
if (!data.config) {
|
|
data.config = game.system.mournblade.config;
|
|
}
|
|
return data;
|
|
}
|
|
|
|
_onCancel() {
|
|
this.close();
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
_onRoll(dice) {
|
|
this.rollData.mainDice = dice;
|
|
MournbladeUtility.rollMournblade(this.rollData);
|
|
this.close();
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
activateListeners(html) {
|
|
super.activateListeners(html);
|
|
|
|
// Roll buttons
|
|
html.find(".rolld10").click(this._onRoll.bind(this, "1d10"));
|
|
html.find(".rolld20").click(this._onRoll.bind(this, "1d20"));
|
|
html.find(".cancel").click(this._onCancel.bind(this));
|
|
|
|
function onLoad() {
|
|
}
|
|
$(function () { onLoad(); });
|
|
|
|
html.find('.apply-modifier').change(async (event) => {
|
|
let modifierIdx = $(event.currentTarget).data("modifier-idx")
|
|
let modifier = this.rollData.modifiers[modifierIdx]
|
|
modifier.system.apply = event.currentTarget.checked
|
|
})
|
|
|
|
html.find('#modificateur').change(async (event) => {
|
|
this.rollData.modificateur = Number(event.currentTarget.value)
|
|
})
|
|
html.find('#typeAttaque').change(async (event) => {
|
|
this.rollData.typeAttaque = String(event.currentTarget.value)
|
|
})
|
|
html.find('#difficulte').change(async (event) => {
|
|
this.rollData.difficulte = Number(event.currentTarget.value)
|
|
})
|
|
html.find('#attrKey').change(async (event) => {
|
|
this.rollData.attrKey = String(event.currentTarget.value)
|
|
})
|
|
html.find('#runemode').change(async (event) => {
|
|
this.rollData.runemode = String(event.currentTarget.value)
|
|
})
|
|
html.find('#runeame').change(async (event) => {
|
|
this.rollData.runeame = Number(event.currentTarget.value)
|
|
})
|
|
html.find('#isMonte').change(async (event) => {
|
|
this.rollData.desavantages.isMonte = event.currentTarget.checked
|
|
})
|
|
|
|
html.find('#cibleausol').change(async (event) => {
|
|
this.rollData.desavantages.cibleausol = event.currentTarget.checked
|
|
})
|
|
html.find('#cibledesarmee').change(async (event) => {
|
|
this.rollData.desavantages.cibledesarmee = event.currentTarget.checked
|
|
})
|
|
html.find('#ciblerestreint').change(async (event) => {
|
|
this.rollData.desavantages.ciblerestreint = event.currentTarget.checked
|
|
})
|
|
html.find('#cibleimmobilisée').change(async (event) => {
|
|
this.rollData.desavantages.cibleimmobilisée = event.currentTarget.checked
|
|
})
|
|
html.find('#ciblesurplomb').change(async (event) => {
|
|
this.rollData.desavantages.ciblesurplomb = event.currentTarget.checked
|
|
})
|
|
|
|
html.find('#doubleD20').change(async (event) => {
|
|
this.rollData.doubleD20 = event.currentTarget.checked
|
|
})
|
|
html.find('#visee').change(async (event) => {
|
|
this.rollData.visee = event.currentTarget.checked
|
|
})
|
|
html.find('#cibleconsciente').change(async (event) => {
|
|
this.rollData.cibleconsciente = event.currentTarget.checked
|
|
})
|
|
html.find('#ciblecourt').change(async (event) => {
|
|
this.rollData.ciblecourt = event.currentTarget.checked
|
|
})
|
|
html.find('#typeCouvert').change(async (event) => {
|
|
this.rollData.typeCouvert = String(event.currentTarget.value)
|
|
})
|
|
|
|
}
|
|
} |