From ce6680d5e8b14ac5b5fa8fdf22763d0d24068965 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Wed, 16 Dec 2020 00:42:52 +0100 Subject: [PATCH] Filtrage des armes de tir&lancer Pas disponibles pour une parade --- module/rdd-combat.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/module/rdd-combat.js b/module/rdd-combat.js index 15853905..bb9d9908 100644 --- a/module/rdd-combat.js +++ b/module/rdd-combat.js @@ -203,8 +203,7 @@ export class RdDCombat { let content = "" + this.defender.name + " doit se défendre :"; // parades - let filterArmesParade = this._getFilterArmesParade(rollData.competence.data.categorie); - for (const arme of this.defender.data.items.filter(filterArmesParade)) { + for (const arme of this._filterArmesParade(this.defender.data.items, rollData.competence.data.categorie)) { content += "
Parer avec " + arme.name + ""; } @@ -240,13 +239,22 @@ export class RdDCombat { } /* -------------------------------------------- */ - _getFilterArmesParade(categorie) { + _filterArmesParade(items, categorie) { switch (categorie) { case 'tir': case 'lancer': - return arme => arme.type == "arme" && arme.data.competence.toLowerCase().match("bouclier"); + return items.filter(item => item.data.competence.toLowerCase().match("bouclier")); default: - return arme => (arme.type == "arme" && RdDItemCompetence.isCompetenceMelee(arme.data.competence)) || (arme.type == "competencecreature" && arme.data.isparade) + return items.filter(item => { + if (item.type == 'competencecreature') { + return item.data.isparade; + } + if (item.type == 'arme') { + const comp = this.defender.getCompetence(item.data.competence); + return comp && comp.data.categorie == 'melee'; + } + return false; + }); } } /* -------------------------------------------- */