2021-03-22 20:10:37 +01:00
|
|
|
import { Misc } from "./misc.js";
|
|
|
|
|
2021-01-04 00:17:22 +01:00
|
|
|
/* -------------------------------------------- */
|
|
|
|
export class RdDItemCompetenceCreature extends Item {
|
|
|
|
|
2021-01-13 23:47:12 +01:00
|
|
|
/* -------------------------------------------- */
|
|
|
|
static setRollDataCreature(rollData) {
|
2021-03-31 01:21:53 +02:00
|
|
|
rollData.competence = Misc.data(rollData.competence);
|
2021-01-13 23:47:12 +01:00
|
|
|
rollData.carac = { "carac_creature": { label: rollData.competence.name, value: rollData.competence.data.carac_value } };
|
2022-05-14 17:28:27 +02:00
|
|
|
rollData.competence.data.defaut_carac = "carac_creature"
|
|
|
|
rollData.competence.data.categorie = "creature"
|
|
|
|
rollData.selectedCarac = rollData.carac.carac_creature
|
2021-01-13 23:47:12 +01:00
|
|
|
if (rollData.competence.data.iscombat) {
|
2022-07-03 15:32:20 +02:00
|
|
|
rollData.arme = RdDItemCompetenceCreature.toActionArme(rollData.competence);
|
2021-01-13 23:47:12 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-01-04 00:17:22 +01:00
|
|
|
/* -------------------------------------------- */
|
2022-07-03 15:32:20 +02:00
|
|
|
static toActionArme(item) {
|
2021-10-09 00:21:26 +02:00
|
|
|
if (RdDItemCompetenceCreature.isCompetenceAttaque(item)) {
|
2022-07-03 15:32:20 +02:00
|
|
|
// si c'est un Item compétence: cloner pour ne pas modifier la compétence
|
2021-10-09 00:21:26 +02:00
|
|
|
let arme = Misc.data( (item instanceof Item) ? item.clone(): item);
|
2021-01-04 00:17:22 +01:00
|
|
|
mergeObject(arme.data,
|
|
|
|
{
|
2021-10-09 00:21:26 +02:00
|
|
|
competence: arme.name,
|
2021-01-04 00:17:22 +01:00
|
|
|
resistance: 100,
|
|
|
|
equipe: true,
|
2021-10-09 00:21:26 +02:00
|
|
|
dommagesReels: arme.data.dommages,
|
2021-01-04 00:17:22 +01:00
|
|
|
penetration: 0,
|
|
|
|
force: 0,
|
2022-07-03 15:32:20 +02:00
|
|
|
rapide: true,
|
|
|
|
action: 'attaque'
|
2021-01-04 00:17:22 +01:00
|
|
|
});
|
|
|
|
return arme;
|
|
|
|
}
|
2022-07-03 15:32:20 +02:00
|
|
|
console.error("RdDItemCompetenceCreature.toActionArme(", item, ") : impossible de transformer l'Item en arme");
|
2021-01-04 00:17:22 +01:00
|
|
|
return undefined;
|
|
|
|
}
|
|
|
|
|
2021-02-14 09:31:52 +01:00
|
|
|
/* -------------------------------------------- */
|
2021-03-22 20:10:37 +01:00
|
|
|
static isCompetenceAttaque(itemData) {
|
|
|
|
itemData = Misc.data(itemData);
|
|
|
|
return itemData.type == 'competencecreature' && itemData.data.iscombat;
|
2021-01-28 00:27:44 +01:00
|
|
|
}
|
2021-03-22 20:10:37 +01:00
|
|
|
|
2021-02-14 09:31:52 +01:00
|
|
|
/* -------------------------------------------- */
|
2021-03-22 20:10:37 +01:00
|
|
|
static isCompetenceParade(itemData) {
|
|
|
|
itemData = Misc.data(itemData);
|
|
|
|
return itemData.type == 'competencecreature' && itemData.data.isparade;
|
2021-01-28 00:27:44 +01:00
|
|
|
}
|
2021-01-04 00:17:22 +01:00
|
|
|
}
|