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!
50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
import { RdDUtility } from "../rdd-utility.js";
|
|
import { RdDBaseActorSheet } from "./base-actor-sheet.js";
|
|
|
|
/* -------------------------------------------- */
|
|
export class RdDActorVehiculeSheet extends RdDBaseActorSheet {
|
|
|
|
/** @override */
|
|
static get defaultOptions() {
|
|
return foundry.utils.mergeObject(RdDBaseActorSheet.defaultOptions, {
|
|
template: "systems/foundryvtt-reve-de-dragon/templates/actor-vehicule-sheet.html",
|
|
width: 640, height: 720,
|
|
}, { inplace: false })
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
async getData() {
|
|
let formData = await super.getData();
|
|
foundry.utils.mergeObject(formData,
|
|
{
|
|
editable: this.isEditable,
|
|
cssClass: this.isEditable ? "editable" : "locked",
|
|
effects: this.actor.effects.map(e => foundry.utils.deepClone(e)),
|
|
limited: this.actor.limited,
|
|
owner: this.actor.isOwner,
|
|
});
|
|
|
|
this.timerRecherche = undefined;
|
|
return formData;
|
|
}
|
|
|
|
activateListeners(html) {
|
|
super.activateListeners(html);
|
|
if (!this.options.editable) return;
|
|
|
|
this.html.find('.resistance-moins').click(async event => {
|
|
this.actor.vehicleIncDec("resistance", -1);
|
|
});
|
|
this.html.find('.resistance-plus').click(async event => {
|
|
this.actor.vehicleIncDec("resistance", 1);
|
|
});
|
|
this.html.find('.structure-moins').click(async event => {
|
|
this.actor.vehicleIncDec("structure", -1);
|
|
});
|
|
this.html.find('.structure-plus').click(async event => {
|
|
this.actor.vehicleIncDec("structure", 1);
|
|
});
|
|
}
|
|
|
|
}
|