Fix: les rencontres persistantes disparaissent

Après un échec, il était impossible de se débarasser d'une rencontre
persistante. Maintenant, les rencontres persistantes vaincues sont
bien supprimées.
This commit is contained in:
Vincent Vandemeulebrouck 2022-12-17 17:50:55 +01:00
parent 80a904e533
commit fd156960a7

View File

@ -405,6 +405,8 @@ export class RdDTMRDialog extends Dialog {
/* -------------------------------------------- */ /* -------------------------------------------- */
async _tentativeMaitrise(rencData) { async _tentativeMaitrise(rencData) {
this.rencontreState = 'normal';
rencData.reve = this.actor.getReveActuel(); rencData.reve = this.actor.getReveActuel();
rencData.etat = this.actor.getEtatGeneral(); rencData.etat = this.actor.getEtatGeneral();
@ -450,7 +452,6 @@ export class RdDTMRDialog extends Dialog {
this._tentativeMaitrise(rencData); this._tentativeMaitrise(rencData);
this._deleteTmrMessages(rencData.actor, rencData.nbRounds); this._deleteTmrMessages(rencData.actor, rencData.nbRounds);
}, 2000); }, 2000);
this.rencontreState == 'normal';
} }
formatMessageRencontre(rencData, template) { formatMessageRencontre(rencData, template) {
@ -460,14 +461,14 @@ export class RdDTMRDialog extends Dialog {
messageDuree = ` Au total, vous avez passé ${rencData.nbRounds} rounds à vous battre!`; messageDuree = ` Au total, vous avez passé ${rencData.nbRounds} rounds à vous battre!`;
} }
else { else {
messageDuree = ` Vous avez passé ${rencData.nbRounds} rounds à lutter!`; messageDuree = ` Vous avez passé ${rencData.nbRounds} rounds à lutter!`;
} }
} }
try { try {
const compiled = Handlebars.compile(template); const compiled = Handlebars.compile(template);
return compiled(rencData) + messageDuree ; return compiled(rencData) + messageDuree;
} catch (error) { } catch (error) {
return template + messageDuree ; return template + messageDuree;
} }
} }
@ -520,7 +521,7 @@ export class RdDTMRDialog extends Dialog {
} }
this.currentRencontre = await this._jetDeRencontre(tmr); this.currentRencontre = await this._jetDeRencontre(tmr);
if (this.currentRencontre) { if (this.currentRencontre) {
if (this.rencontresExistantes.find(it => it.id == this.currentRencontre.id)){ if (this.rencontresExistantes.find(it => it.id == this.currentRencontre.id)) {
// rencontre en attente suite à dérobade // rencontre en attente suite à dérobade
await this.maitriserRencontre(); await this.maitriserRencontre();
} }
@ -550,7 +551,7 @@ export class RdDTMRDialog extends Dialog {
this.currentRencontre = present.clone({ this.currentRencontre = present.clone({
'system.force': await RdDDice.rollTotal(present.system.formule), 'system.force': await RdDDice.rollTotal(present.system.formule),
'system.coord': tmr.coord 'system.coord': tmr.coord
}, {save: false}); }, { save: false });
await EffetsDraconiques.presentCites.ouvrirLePresent(this.actor, presentCite); await EffetsDraconiques.presentCites.ouvrirLePresent(this.actor, presentCite);
this.removeToken(tmr, presentCite); this.removeToken(tmr, presentCite);