mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
63 lines
No EOL
1.8 KiB
JavaScript
63 lines
No EOL
1.8 KiB
JavaScript
const {HandlebarsApplicationMixin, ApplicationV2} = foundry.applications.api;
|
|
|
|
export default class DhpDeathMove extends HandlebarsApplicationMixin(ApplicationV2) {
|
|
constructor(actor){
|
|
super({});
|
|
|
|
this.actor = actor;
|
|
this.selectedMove = null;
|
|
}
|
|
|
|
get title(){
|
|
return game.i18n.format("DAGGERHEART.Application.DeathMove.Title", { actor: this.actor.name });
|
|
}
|
|
|
|
static DEFAULT_OPTIONS = {
|
|
classes: ["daggerheart", "views", "death-move"],
|
|
position: { width: 800, height: 'auto' },
|
|
actions: {
|
|
selectMove: this.selectMove,
|
|
takeMove: this.takeMove,
|
|
},
|
|
};
|
|
|
|
static PARTS = {
|
|
application: {
|
|
id: "death-move",
|
|
template: "systems/daggerheart/templates/views/deathMove.hbs"
|
|
}
|
|
}
|
|
|
|
async _prepareContext(_options) {
|
|
const context = await super._prepareContext(_options);
|
|
context.selectedMove = this.selectedMove;
|
|
context.options = SYSTEM.GENERAL.deathMoves;
|
|
|
|
return context;
|
|
}
|
|
|
|
|
|
static selectMove(_, button){
|
|
const move = button.dataset.move;
|
|
this.selectedMove = SYSTEM.GENERAL.deathMoves[move];
|
|
|
|
this.render();
|
|
}
|
|
|
|
static async takeMove(){
|
|
const cls = getDocumentClass("ChatMessage");
|
|
const msg = new cls({
|
|
user: game.user.id,
|
|
content: await renderTemplate("systems/daggerheart/templates/chat/deathMove.hbs", {
|
|
player: game.user.character.name,
|
|
title: game.i18n.localize(this.selectedMove.name),
|
|
img: this.selectedMove.img,
|
|
description: game.i18n.localize(this.selectedMove.description),
|
|
}),
|
|
});
|
|
|
|
cls.create(msg.toObject());
|
|
|
|
this.close();
|
|
}
|
|
} |