66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
/* -------------------------------------------- */
|
|
import { BoLUtility } from "./bol-utility.js";
|
|
import { BoLRoll } from "../controllers/bol-rolls.js";
|
|
|
|
/* -------------------------------------------- */
|
|
export class BoLCharacterSummary extends Application {
|
|
|
|
/* -------------------------------------------- */
|
|
static displayPCSummary(){
|
|
let pcList = new BoLCharacterSummary()
|
|
pcList.render(true)
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
static createSummaryPos() {
|
|
return { top: 200, left: 200 };
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
constructor() {
|
|
if ( !game.user.isGM ) { // Uniquement si GM
|
|
return;
|
|
}
|
|
|
|
super();
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
static get defaultOptions() {
|
|
return mergeObject(super.defaultOptions, {
|
|
template: "systems/bol/templates/apps/character-summary-template.html",
|
|
popOut: true,
|
|
resizable: true,
|
|
classes: ["bol", "dialog"], width: 820, height: 'fit-content'
|
|
})
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
getData() {
|
|
let formData = super.getData();
|
|
|
|
formData.pcs = game.actors.filter( ac => ac.type == "character" && ac.hasPlayerOwner )
|
|
formData.config = game.bol.config
|
|
|
|
return formData
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
/** @override */
|
|
async activateListeners(html) {
|
|
super.activateListeners(html);
|
|
|
|
html.find('.summary-roll').click((event) => {
|
|
const li = $(event.currentTarget).parents(".item")
|
|
const actor = game.actors.get(li.data("actor-id"))
|
|
let type = $(event.currentTarget).data("type")
|
|
let key = $(event.currentTarget).data("key")
|
|
if ( type == "attribute") {
|
|
BoLRoll.attributeCheck(actor, key, event)
|
|
} else if (type == "aptitude") {
|
|
BoLRoll.aptitudeCheck(actor, key, event)
|
|
}
|
|
})
|
|
}
|
|
|
|
} |