|
|
|
@ -85,9 +85,9 @@ export class RdDItemCompetence extends Item {
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
|
static getVoieDraconic(competences, voie) {
|
|
|
|
|
return RdDItemCompetence.findFirstItem(competences, voie, {
|
|
|
|
|
preFilter: it => it.isCompetence() && RdDItemCompetence.isDraconic(it),
|
|
|
|
|
description: 'Draconic',
|
|
|
|
|
});
|
|
|
|
|
preFilter: it => it.isCompetence() && RdDItemCompetence.isDraconic(it),
|
|
|
|
|
description: 'Draconic',
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
@ -199,7 +199,7 @@ export class RdDItemCompetence extends Item {
|
|
|
|
|
item.system.isStressLevelUp = (xpManquant > 0 && stressTransforme >= xpManquant && item.system.niveau < item.system.niveau_archetype);
|
|
|
|
|
item.system.stressXpMax = 0;
|
|
|
|
|
if (xpManquant > 0 && stressTransforme > 0 && item.system.niveau < item.system.niveau_archetype) {
|
|
|
|
|
item.system.stressXpMax = Math.min(xpManquant , stressTransforme);
|
|
|
|
|
item.system.stressXpMax = Math.min(xpManquant, stressTransforme);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -219,10 +219,10 @@ export class RdDItemCompetence extends Item {
|
|
|
|
|
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
|
static findCompetence(list, idOrName, options = {}) {
|
|
|
|
|
if (idOrName == undefined) {
|
|
|
|
|
return undefined;
|
|
|
|
|
if (idOrName == undefined || idOrName == "") {
|
|
|
|
|
return RdDItemCompetence.sansCompetence();
|
|
|
|
|
}
|
|
|
|
|
options = mergeObject(options, { preFilter: it => it.isCompetence(), description: 'compétence' }, {overwrite: false});
|
|
|
|
|
options = mergeObject(options, { preFilter: it => it.isCompetence(), description: 'compétence' }, { overwrite: false });
|
|
|
|
|
return RdDItemCompetence.findFirstItem(list, idOrName, options);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -231,6 +231,23 @@ export class RdDItemCompetence extends Item {
|
|
|
|
|
return Misc.findAllLike(name, list, { filter: it => it.isCompetence(), description: 'compétence' });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static sansCompetence() {
|
|
|
|
|
return {
|
|
|
|
|
name: "Sans compétence",
|
|
|
|
|
type: "competence",
|
|
|
|
|
img: "systems/foundryvtt-reve-de-dragon/icons/templates/icone_parchement_vierge.webp",
|
|
|
|
|
system: {
|
|
|
|
|
niveau: 0,
|
|
|
|
|
default_diffLibre: 0,
|
|
|
|
|
base: 0,
|
|
|
|
|
categorie: "Aucune",
|
|
|
|
|
description: "",
|
|
|
|
|
descriptionmj: "",
|
|
|
|
|
defaut_carac: "",
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static findFirstItem(list, idOrName, options) {
|
|
|
|
|
return list.find(it => it.id == idOrName && options.preFilter(it))
|
|
|
|
|
?? Misc.findFirstLike(idOrName, list, options);
|
|
|
|
|