Gestion plus fines des entites et corrections sur initiative #915

This commit is contained in:
2021-11-08 14:58:06 +01:00
parent f24331865c
commit 2e83cbd366
7 changed files with 56 additions and 11 deletions

View File

@ -90,7 +90,7 @@ export class RdDCombatManager extends Combat {
let armeCombat, competence;
if (combatant.actor.data.type == 'creature' || combatant.actor.data.type == 'entite') {
for (const competenceItemData of combatant.actor.data.items) {
if (competenceItemData.data.iscombat) {
if (competenceItemData.data.data.iscombat) {
competence = duplicate(competenceItemData);
}
}
@ -434,8 +434,11 @@ export class RdDCombat {
else {
const defender = target?.actor;
const defenderTokenId = target?.data._id;
console.log("Defender: ", defender);
if ( defender.data._id == attacker.data._id) {
ui.notifications.warn("Vous vous attaquez vous-même !!!!");
} else if ( defender.type == 'entite' && defender.data.data.definition.typeentite == 'nonincarne') {
ui.notifications.warn("Vous ne pouvez pas cibler une entité non incarnée !!!!");
} else {
return this.create(attacker, defender, defenderTokenId, target)
}
@ -855,6 +858,11 @@ export class RdDCombat {
await this._sendMessageDefense(attackerRoll, defenderRoll);
}
}
/* -------------------------------------------- */
isPossession( attackerRoll) {
return attackerRoll.selectedCarac.label.toLowerCase() == 'possession';
}
/* -------------------------------------------- */
async _sendMessageDefense(attackerRoll, defenderRoll, essaisPrecedents = undefined) {
@ -873,6 +881,7 @@ export class RdDCombat {
const paramChatDefense = {
passeArme: attackerRoll.passeArme,
essais: attackerRoll.essais,
isPossession: this.isPossession( attackerRoll),
defender: Misc.data(this.defender),
attacker: Misc.data(this.attacker),
attackerId: this.attackerId,
@ -927,7 +936,7 @@ export class RdDCombat {
let items = defender.data.items;
items = items.filter(it => RdDItemArme.isArmeUtilisable(it) || RdDItemCompetenceCreature.isCompetenceParade(it));
for (let item of items) {
item.data.nbUsage = defender.getItemUse(item._id); // Ajout du # d'utilisation ce round
item.data.nbUsage = defender.getItemUse(item.id); // Ajout du # d'utilisation ce round
}
switch (competence.data.categorie) {
case 'tir':