Toujours lutter sur les data

This commit is contained in:
Vincent Vandemeulebrouck
2021-03-09 00:27:09 +01:00
parent ebf4e08766
commit fcec20ed2e
33 changed files with 299 additions and 570 deletions

View File

@@ -18,7 +18,7 @@ const nomCategorieParade = {
export class RdDItemArme extends Item {
static isArme(item) {
return (item.data.type == 'competencecreature' && item.data.iscombat) || item.data.type == 'arme';
return (item.data.type == 'competencecreature' && item.data.data.iscombat) || item.data.type == 'arme';
}
/* -------------------------------------------- */
@@ -51,20 +51,20 @@ export class RdDItemArme extends Item {
/* -------------------------------------------- */
static getCategorieParade(arme) {
if (arme.data.categorie_parade) {
return arme.data.categorie_parade;
if (arme.data.data.categorie_parade) {
return arme.data.data.categorie_parade;
}
// pour compatibilité avec des personnages existants
if (arme.type == 'competencecreature' || arme.data.categorie == 'creature' ) {
return arme.data.categorie_parade || (arme.data.isparade ? 'sans-armes' : '');
if (arme.type == 'competencecreature' || arme.data.data.categorie == 'creature' ) {
return arme.data.data.categorie_parade || (arme.data.data.isparade ? 'sans-armes' : '');
}
if (!arme.type.match(/arme|competencecreature/)) {
return '';
}
if (arme.data.competence == undefined) {
if (arme.data.data.competence == undefined) {
return 'competencecreature';
}
let compname = arme.data.competence.toLowerCase();
let compname = arme.data.data.competence.toLowerCase();
if (compname.match(/^(dague de jet|javelot|fouet|arc|arbalête|fronde|hache de jet|fléau)$/)) return '';
if (compname.match('hache')) return 'haches';
@@ -122,20 +122,20 @@ export class RdDItemArme extends Item {
/* -------------------------------------------- */
static armeUneOuDeuxMains(arme, aUneMain) {
if (arme) {
arme.data.unemain = arme.data.unemain || !arme.data.deuxmains;
const uneOuDeuxMains = arme.data.unemain && arme.data.deuxmains;
const containsSlash = !Number.isInteger(arme.data.dommages) && arme.data.dommages.includes("/");
arme.data.data.unemain = arme.data.data.unemain || !arme.data.data.deuxmains;
const uneOuDeuxMains = arme.data.data.unemain && arme.data.data.deuxmains;
const containsSlash = !Number.isInteger(arme.data.data.dommages) && arme.data.data.dommages.includes("/");
if (containsSlash) { // Sanity check
arme = duplicate(arme);
const tableauDegats = arme.data.dommages.split("/");
const tableauDegats = arme.data.data.dommages.split("/");
if (aUneMain)
arme.data.dommagesReels = Number(tableauDegats[0]);
arme.data.data.dommagesReels = Number(tableauDegats[0]);
else // 2 mains
arme.data.dommagesReels = Number(tableauDegats[1]);
arme.data.data.dommagesReels = Number(tableauDegats[1]);
}
else {
arme.data.dommagesReels = Number(arme.data.dommages);
arme.data.data.dommagesReels = Number(arme.data.data.dommages);
}
if (uneOuDeuxMains != containsSlash) {
@@ -146,12 +146,13 @@ export class RdDItemArme extends Item {
}
static isArmeUtilisable(item) {
return item.data.type == 'arme' && (item.data.resistance > 0 || item.data.portee_courte>0);
return item.data.type == 'arme' && (item.data.data.resistance > 0 || item.data.data.portee_courte>0);
}
static mainsNues(actorData={}) {
const mainsNues = {
name: 'Mains nues',
img: "systems/foundryvtt-reve-de-dragon/icons/competence_corps_a_corps.webp",
data: {
equipe: true,
rapide: true,
@@ -183,8 +184,8 @@ export class RdDItemArme extends Item {
}
}
static computeNiveauArme(arme, competences) {
const compName = arme.data.competence;
static computeNiveauArme(armeData, competences) {
const compName = armeData.data.competence;
const compArme = competences.find(it => it.name == compName);
return compArme?.data.niveau ?? -8;
}