82 lines
2.7 KiB
JavaScript
82 lines
2.7 KiB
JavaScript
import { RdDSheetUtility } from "../rdd-sheet-utility.js";
|
|
import { RdDBaseActorSheet } from "./base-actor-sheet.js";
|
|
|
|
/* -------------------------------------------- */
|
|
/**
|
|
* Extend the basic ActorSheet with some very simple modifications
|
|
* @extends {ActorSheet}
|
|
*/
|
|
export class RdDBaseActorReveSheet extends RdDBaseActorSheet {
|
|
|
|
/* -------------------------------------------- */
|
|
/** @override */
|
|
activateListeners(html) {
|
|
super.activateListeners(html);
|
|
|
|
// Everything below here is only needed if the sheet is editable
|
|
if (!this.options.editable) return;
|
|
|
|
this.html.find('.item-action').click(async event => {
|
|
const item = RdDSheetUtility.getItem(event, this.actor);
|
|
item?.actionPrincipale(this.actor, async () => this.render())
|
|
});
|
|
|
|
this.html.find('.encaisser-direct').click(async event => {
|
|
this.actor.encaisser();
|
|
})
|
|
this.html.find('.remise-a-neuf').click(async event => {
|
|
if (game.user.isGM) {
|
|
this.actor.remiseANeuf();
|
|
}
|
|
});
|
|
|
|
this.html.find('.carac-label a').click(async event => {
|
|
let caracName = event.currentTarget.attributes.name.value;
|
|
this.actor.rollCarac(caracName.toLowerCase());
|
|
});
|
|
|
|
this.html.find('a.competence-label').click(async event => {
|
|
this.actor.rollCompetence(RdDSheetUtility.getItemId(event));
|
|
});
|
|
|
|
this.html.find('.delete-active-effect').click(async event => {
|
|
if (game.user.isGM) {
|
|
let effect = this.html.find(event.currentTarget).parents(".active-effect").data('effect');
|
|
this.actor.removeEffect(effect);
|
|
}
|
|
});
|
|
this.html.find('.enlever-tous-effets').click(async event => {
|
|
if (game.user.isGM) {
|
|
await this.actor.removeEffects();
|
|
}
|
|
});
|
|
|
|
if (this.options.vueDetaillee) {
|
|
// On carac change
|
|
this.html.find('.carac-value').change(async event => {
|
|
let caracName = event.currentTarget.name.replace(".value", "").replace("system.carac.", "");
|
|
this.actor.updateCarac(caracName, parseInt(event.target.value));
|
|
});
|
|
// On competence change
|
|
this.html.find('.competence-value').change(async event => {
|
|
let compName = event.currentTarget.attributes.compname.value;
|
|
//console.log("Competence changed :", compName);
|
|
this.actor.updateCompetence(compName, parseInt(event.target.value));
|
|
});
|
|
}
|
|
|
|
this.html.find('.vue-detaillee').click(async event => {
|
|
this.options.vueDetaillee = !this.options.vueDetaillee;
|
|
this.render(true);
|
|
});
|
|
|
|
this.html.find('.endurance-plus').click(async event => {
|
|
this.actor.santeIncDec("endurance", 1);
|
|
});
|
|
this.html.find('.endurance-moins').click(async event => {
|
|
this.actor.santeIncDec("endurance", -1);
|
|
});
|
|
}
|
|
|
|
}
|