Fix: soucis avec plusieurs queues&souffles

=> montée laborieuse, mauvaises rencontres

Simplification de EffetsDraconiques: passer l'actor pour tester
si l'acteur a un effet sur lui, ou un item pour tester si un item
correspond
This commit is contained in:
Vincent Vandemeulebrouck
2022-04-23 01:02:03 +02:00
parent 9a8ef9f316
commit f0d23bb1d0
4 changed files with 49 additions and 83 deletions

View File

@ -2373,14 +2373,13 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
isRencontreSpeciale() { // Gestion queue/souffle 'Mauvaise Rencontre en Perpective'
let addMsg = "";
let rencSpecial = this.data.items.find(item => EffetsDraconiques.isMauvaiseRencontre(item));
let rencSpecial = EffetsDraconiques.mauvaiseRencontre(this);
if (rencSpecial) {
rencSpecial = Misc.data(rencSpecial); // To keep it
if (rencSpecial.type != 'souffle') {
this.deleteEmbeddedDocuments('Item', [rencSpecial._id]); // Suppression dans la liste des queues
this.deleteEmbeddedDocuments('Item', [rencSpecial.id]); // Suppression dans la liste des queues
addMsg = " La queue a été supprimée de votre fiche automatiquement";
} else {
addMsg = " Vous devez gérer manuellement le décompte de mauvaises rencontres manuellement.";
addMsg = " Vous devez gérer manuellement le décompte de mauvaises rencontres.";
}
ChatMessage.create({
content: "Vous êtes sous le coup d'une Mauvaise Rencontre en Persective." + addMsg,
@ -3138,7 +3137,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
countMonteeLaborieuse() { // Return +1 par queue/ombre/souffle Montée Laborieuse présente
let countMonteeLaborieuse = this.filterItemsData(it => EffetsDraconiques.isMonteeLaborieuse(it)).length;
let countMonteeLaborieuse = EffetsDraconiques.countMonteeLaborieuse(this);
if (countMonteeLaborieuse > 0) {
ChatMessage.create({
content: `Vous êtes sous le coup d'une Montée Laborieuse : vos montées en TMR coûtent ${countMonteeLaborieuse} Point de Rêve de plus.`,