Fix: accorder entités x2 si validation GR
Les entités pouvaient être accordées 2 fois en cas de validation par le GR
This commit is contained in:
parent
d1ec67e485
commit
fedf8f3b29
@ -421,29 +421,13 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async encaisser() { await RdDEncaisser.encaisser(this) }
|
async encaisser() { await RdDEncaisser.encaisser(this) }
|
||||||
|
|
||||||
async encaisserDommagesRemote(rollData, attackerId, show) {
|
|
||||||
const attacker = game.actors.get(attackerId);
|
|
||||||
await this.encaisserDommages(rollData, attacker, show)
|
|
||||||
}
|
|
||||||
async encaisserDommages(rollData, attacker = undefined, show = undefined) {
|
async encaisserDommages(rollData, attacker = undefined, show = undefined) {
|
||||||
if (attacker && !await attacker.accorder(this, 'avant-encaissement')) {
|
if (attacker && !await attacker.accorder(this, 'avant-encaissement')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const attackerId = attacker?.id;
|
|
||||||
if (ReglesOptionnelles.isUsing('validation-encaissement-gr') && !game.user.isGM) {
|
|
||||||
RdDBaseActor.remoteActorCall({
|
|
||||||
tokenId: this.token?.id,
|
|
||||||
actorId: this.id,
|
|
||||||
method: 'encaisserDommagesRemote',
|
|
||||||
args: [rollData, attackerId, show]
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const armure = await this.computeArmure(rollData);
|
const armure = await this.computeArmure(rollData);
|
||||||
if (ReglesOptionnelles.isUsing('validation-encaissement-gr')) {
|
if (ReglesOptionnelles.isUsing('validation-encaissement-gr')){
|
||||||
DialogValidationEncaissement.validerEncaissement(this, rollData, armure,
|
await this.encaisserDommagesValidationGR(rollData, armure, attacker?.id, show);
|
||||||
jet => this.$onEncaissement(jet, show, attacker));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const jet = await RdDUtility.jetEncaissement(rollData, armure, { showDice: SHOW_DICE });
|
const jet = await RdDUtility.jetEncaissement(rollData, armure, { showDice: SHOW_DICE });
|
||||||
@ -451,6 +435,21 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async encaisserDommagesValidationGR(rollData, armure, attackerId, show) {
|
||||||
|
if (!game.user.isGM) {
|
||||||
|
RdDBaseActor.remoteActorCall({
|
||||||
|
tokenId: this.token?.id,
|
||||||
|
actorId: this.id,
|
||||||
|
method: 'encaisserDommagesValidationGR',
|
||||||
|
args: [rollData, armure, attackerId, show]
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
const attacker = game.actors.get(attackerId);
|
||||||
|
DialogValidationEncaissement.validerEncaissement(this, rollData, armure,
|
||||||
|
jet => this.$onEncaissement(jet, show, attacker));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async $onEncaissement(jet, show, attacker) {
|
async $onEncaissement(jet, show, attacker) {
|
||||||
await this.onAppliquerJetEncaissement(jet, attacker);
|
await this.onAppliquerJetEncaissement(jet, attacker);
|
||||||
await this.$afficherEncaissement(jet, show);
|
await this.$afficherEncaissement(jet, show);
|
||||||
|
Loading…
Reference in New Issue
Block a user