Gestion plus fines des entites et corrections sur initiative #915
This commit is contained in:
@ -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':
|
||||
|
Reference in New Issue
Block a user