Commandes pour les signes draconiques
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
import { RdDItemSigneDraconique } from "./item-signedraconique.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { TMRType } from "./tmr-utility.js";
|
||||
import { TMRType, TMRUtility } from "./tmr-utility.js";
|
||||
|
||||
/**
|
||||
* Item sheet pour signes draconiques
|
||||
@ -48,16 +49,10 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
});
|
||||
formData.tmrs = RdDSigneDraconiqueItemSheet.listTMRTypes(formData.data.typesTMR ?? []);
|
||||
formData.tmrs = TMRUtility.listSelectedTMR(formData.data.typesTMR ?? []);
|
||||
return formData;
|
||||
}
|
||||
|
||||
static listTMRTypes(typesTMR) {
|
||||
return Object.values(TMRType).map(value => Misc.upperFirst(value.name))
|
||||
.sort()
|
||||
.map(name => { return { name: name, selected: typesTMR.includes(name) } });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
@ -75,28 +70,12 @@ export class RdDSigneDraconiqueItemSheet extends ItemSheet {
|
||||
this.object.update({ 'data.typesTMR': selectedTMR });
|
||||
}
|
||||
|
||||
async onValeurXpSort(qualite, valeur) {
|
||||
let tplData = Misc.templateData(this.object);
|
||||
if (valeur != tplData.valeur[qualite])
|
||||
{
|
||||
await this.object.update({ [`data.valeur.${qualite}`]: valeur });
|
||||
|
||||
tplData = Misc.templateData(this.object);
|
||||
switch (qualite) {
|
||||
case "norm":
|
||||
if (valeur > tplData.valeur.sign) await this.object.update({ 'data.valeur.sign': valeur });
|
||||
if (valeur > tplData.valeur.part) await this.object.update({ 'data.valeur.part': valeur });
|
||||
break;
|
||||
case "sign":
|
||||
if (valeur < tplData.valeur.norm) await this.object.update({ 'data.valeur.norm': valeur });
|
||||
if (valeur > tplData.valeur.part) await this.object.update({ 'data.valeur.part': valeur });
|
||||
break;
|
||||
case "part":
|
||||
if (valeur < tplData.valeur.norm) await this.object.update({ 'data.valeur.norm': valeur });
|
||||
if (valeur < tplData.valeur.sign) await this.object.update({ 'data.valeur.sign': valeur });
|
||||
break;
|
||||
}
|
||||
}
|
||||
async onValeurXpSort(event) {
|
||||
const codeReussite = event.currentTarget.attributes['data-typereussite']?.value ?? 0;
|
||||
const xp = Number(event.currentTarget.value);
|
||||
const oldValeur = Misc.templateData(this.object).valeur;
|
||||
const newValeur = RdDItemSigneDraconique.calculValeursXpSort(codeReussite, xp, oldValeur);
|
||||
await this.object.update({ 'data.valeur': newValeur });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
Reference in New Issue
Block a user