Fix: encaisser dommages par MJ
Lorsque l'option d'encaisser les dommages était contrôlée par le MJ, les données envoyées par les joueurs ne correspondaient pas aux paramètres de la méthode à exécuter par le MJ. De plus, l'envoi de l'attacker (Actor) était reçu comme un Object, donc inutilisable en tant qu'Actor.
This commit is contained in:
parent
3365852210
commit
fad894704d
@ -421,6 +421,10 @@ 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;
|
||||||
@ -430,8 +434,8 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
|||||||
RdDBaseActor.remoteActorCall({
|
RdDBaseActor.remoteActorCall({
|
||||||
tokenId: this.token?.id,
|
tokenId: this.token?.id,
|
||||||
actorId: this.id,
|
actorId: this.id,
|
||||||
method: 'encaisserDommages',
|
method: 'encaisserDommagesRemote',
|
||||||
args: [rollData, show, attackerId]
|
args: [rollData, attackerId, show]
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1282,7 +1282,7 @@ export class RdDCombat {
|
|||||||
attackerRoll.defenderTokenId = defenderTokenId;
|
attackerRoll.defenderTokenId = defenderTokenId;
|
||||||
|
|
||||||
await this.computeRecul(defenderRoll);
|
await this.computeRecul(defenderRoll);
|
||||||
this.defender.encaisserDommages(attackerRoll, this.attacker, defenderRoll?.show);
|
await this.defender.encaisserDommages(attackerRoll, this.attacker, defenderRoll?.show);
|
||||||
}
|
}
|
||||||
else { // envoi à un GM: les joueurs n'ont pas le droit de modifier les personnages qu'ils ne possèdent pas
|
else { // envoi à un GM: les joueurs n'ont pas le droit de modifier les personnages qu'ils ne possèdent pas
|
||||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||||
|
Loading…
Reference in New Issue
Block a user