simplification/organisation RdDActorSheet.getData
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
import { RdDItemCompetenceCreature } from "./item-competencecreature.js"
|
||||
import { RdDCombatManager } from "./rdd-combat.js";
|
||||
|
||||
const nomCategorieParade = {
|
||||
"sans-armes": "Sans arme / armes naturelles",
|
||||
@ -30,6 +31,17 @@ export class RdDItemArme extends Item {
|
||||
return RdDItemArme.mainsNues();
|
||||
}
|
||||
|
||||
static computeNiveauArmes(armes, competences) {
|
||||
for (const arme of armes) {
|
||||
arme.data.niveau = RdDItemArme.niveauCompetenceArme(arme, competences);
|
||||
}
|
||||
}
|
||||
|
||||
static niveauCompetenceArme(arme, competences) {
|
||||
const compArme = competences.find(it => it.name == arme.data.competence);
|
||||
return compArme?.data.niveau ?? -8;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getNomCategorieParade(arme) {
|
||||
const categorie = arme?.data ? RdDItemArme.getCategorieParade(arme) : arme;
|
||||
@ -38,7 +50,7 @@ export class RdDItemArme extends Item {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static needArmeResist(armeAttaque, armeParade) {
|
||||
if (!armeAttaque || !armeParade){
|
||||
if (!armeAttaque || !armeParade) {
|
||||
return false;
|
||||
}
|
||||
// Epées parant une arme de bois (cf. page 115 ), une résistance est nécessaire
|
||||
@ -54,7 +66,7 @@ export class RdDItemArme extends Item {
|
||||
return arme.data.categorie_parade;
|
||||
}
|
||||
// pour compatibilité avec des personnages existants
|
||||
if (arme.type == 'competencecreature' || arme.data.categorie == 'creature' ) {
|
||||
if (arme.type == 'competencecreature' || arme.data.categorie == 'creature') {
|
||||
return arme.data.categorie_parade || (arme.data.isparade ? 'sans-armes' : '');
|
||||
}
|
||||
if (!arme.type.match(/arme|competencecreature/)) {
|
||||
@ -86,7 +98,7 @@ export class RdDItemArme extends Item {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static needParadeSignificative(armeAttaque, armeParade) {
|
||||
if (!armeAttaque || !armeParade){
|
||||
if (!armeAttaque || !armeParade) {
|
||||
return false;
|
||||
}
|
||||
// categories d'armes à la parade (cf. page 115 )
|
||||
@ -145,10 +157,16 @@ export class RdDItemArme extends Item {
|
||||
}
|
||||
|
||||
static isArmeUtilisable(item) {
|
||||
return item.type == 'arme' && item.data.equipe && (item.data.resistance > 0 || item.data.portee_courte>0);
|
||||
return item.type == 'arme' && item.data.equipe && (item.data.resistance > 0 || item.data.portee_courte > 0);
|
||||
}
|
||||
|
||||
static mainsNues(actorData={}) {
|
||||
static ajoutCorpsACorps(armes, competences, carac) {
|
||||
let corpsACorps = competences.find(it => it.name == 'Corps à corps') ?? { data: { niveau: -6 } };
|
||||
let init = RdDCombatManager.calculInitiative(corpsACorps.data.niveau, carac['melee'].value);
|
||||
armes.push(RdDItemArme.mainsNues({ niveau: corpsACorps.data.niveau, initiative: init }));
|
||||
}
|
||||
|
||||
static mainsNues(actorData = {}) {
|
||||
const mainsNues = {
|
||||
name: 'Mains nues',
|
||||
data: {
|
||||
@ -163,8 +181,8 @@ export class RdDItemArme extends Item {
|
||||
}
|
||||
};
|
||||
if (actorData) {
|
||||
mergeObject( mainsNues.data, actorData, {overwrite:false});
|
||||
mergeObject(mainsNues.data, actorData, { overwrite: false });
|
||||
}
|
||||
return mainsNues
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user