Vincent Vandemeulebrouck
a103239288
Quand mergeObject est utilisé pour retourner une valeur, faire très attention à ne pas passer un Item/Actor, ou une de ses sous parties en premier paramètre sans préciser l'option { inplace: false } Sinon, le premier paramètre subit une mutation!
41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
import { RdDBaseActorReveSheet } from "./base-actor-reve-sheet.js";
|
|
import { RdDBaseActorSangSheet } from "./base-actor-sang-sheet.js";
|
|
|
|
/**
|
|
* Extend the basic ActorSheet with some very simple modifications
|
|
* @extends {ActorSheet}
|
|
*/
|
|
export class RdDCreatureSheet extends RdDBaseActorSangSheet {
|
|
|
|
/** @override */
|
|
static get defaultOptions() {
|
|
return foundry.utils.mergeObject(RdDBaseActorSangSheet.defaultOptions, {
|
|
template: "systems/foundryvtt-reve-de-dragon/templates/actor-creature-sheet.html",
|
|
width: 640, height: 720
|
|
}, { inplace: false })
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
/** @override */
|
|
activateListeners(html) {
|
|
super.activateListeners(html);
|
|
|
|
// Everything below here is only needed if the sheet is editable
|
|
if (!this.options.editable) return;
|
|
|
|
// On competence change
|
|
this.html.find('.creature-carac').change(async event => {
|
|
let compName = event.currentTarget.attributes.compname.value;
|
|
this.actor.updateCreatureCompetence(compName, "carac_value", parseInt(event.target.value));
|
|
});
|
|
this.html.find('.creature-niveau').change(async event => {
|
|
let compName = event.currentTarget.attributes.compname.value;
|
|
this.actor.updateCreatureCompetence(compName, "niveau", parseInt(event.target.value));
|
|
});
|
|
this.html.find('.creature-dommages').change(async event => {
|
|
let compName = event.currentTarget.attributes.compname.value;
|
|
this.actor.updateCreatureCompetence(compName, "dommages", parseInt(event.target.value));
|
|
});
|
|
}
|
|
}
|