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