import { RdDCombatManager } from "./rdd-combat.js"; /* -------------------------------------------- */ export class RdDItemCompetenceCreature extends Item { /* -------------------------------------------- */ static setRollDataCreature(rollData) { rollData.competence = rollData.competence rollData.carac = { "carac_creature": { label: rollData.competence.name, value: rollData.competence.system.carac_value } } rollData.competence.system.defaut_carac = "carac_creature" rollData.competence.system.categorie = "creature" rollData.selectedCarac = rollData.carac.carac_creature if (rollData.competence.system.iscombat) { rollData.arme = RdDItemCompetenceCreature.armeNaturelle(rollData.competence); } } /* -------------------------------------------- */ static armeNaturelle(competencecreature) { if (RdDItemCompetenceCreature.isCompetenceAttaque(competencecreature)) { // si c'est un Item compétence: cloner pour ne pas modifier lma compétence let arme = (competencecreature instanceof Item) ? competencecreature.clone(): competencecreature; mergeObject(arme.system, { competence: arme.name, initiative: RdDCombatManager.calculInitiative(competencecreature.system.niveau, competencecreature.system.carac_value), niveau: competencecreature.system.niveau, equipe: true, resistance: 100, dommagesReels: arme.system.dommages, penetration: 0, force: 0, rapide: true, cac: competencecreature.system.isnaturelle ? "naturelle" : "", action: 'attaque' }); return arme; } console.error("RdDItemCompetenceCreature.toActionArme(", competencecreature, ") : impossible de transformer l'Item en arme"); return undefined; } /* -------------------------------------------- */ static isCompetenceAttaque(item) { return item.type == 'competencecreature' && item.system.iscombat; } /* -------------------------------------------- */ static isCompetenceParade(item) { return item.type == 'competencecreature' && item.system.categorie_parade !== ""; } }