import { Grammar } from "../grammar.js"; import { ITEM_TYPES } from "../item.js"; 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 */ static get defaultOptions() { return foundry.utils.mergeObject(RdDBaseActorSheet.defaultOptions, { width: 550 }); } /* -------------------------------------------- */ /** @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('.button-encaissement').click(async event => this.actor.encaisser()) this.html.find('.roll-carac').click(async event => { this.actor.rollCarac(Grammar.toLowerCaseNoAccent(event.currentTarget.attributes['data-carac-name'].value))}); this.html.find('.roll-competence').click(async event => this.actor.rollCompetence(RdDSheetUtility.getItemId(event))); 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)); if (game.user.isGM) { this.html.find('.button-remise-a-neuf').click(async event => this.actor.remiseANeuf()) this.html.find('.delete-active-effect').click(async event => this.actor.removeEffect(this.html.find(event.currentTarget).parents(".active-effect").data('effect'))); this.html.find('.enlever-tous-effets').click(async event => await this.actor.removeEffects()); } this.html.find('.competence-add').click(async event => await this.actor.createEmbeddedDocuments("Item", [{ type: ITEM_TYPES.competencecreature, name: 'Nouvelle competence', img: 'systems/foundryvtt-reve-de-dragon/icons/compcreature-serres.webp', system: { carac_value: this.actor.getForce(), } }], { renderSheet: true }) ) } }