aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-08-28 16:16:37 +0200
committerShauren <shauren.trinity@gmail.com>2021-10-23 14:45:40 +0200
commit00b9c23e28dc19a3a9f45d1d5b86d203f55b2a7e (patch)
treec1c73d740b29ef3e621640b9868da3bfd412ec83 /src/server/game
parent34f9666f209ab3f281bf81de92c4bc1a164b0059 (diff)
Core/Entities: Fixed an issue where creatures would not properly assist formation members in certain scenarios. Tagging #21967.
(cherry picked from commit a001bc63b1182babddbb188f7c762c6168a98b5c)
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Combat/ThreatManager.cpp3
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp5
2 files changed, 3 insertions, 5 deletions
diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp
index 685a972599a..867a34c4c44 100644
--- a/src/server/game/Combat/ThreatManager.cpp
+++ b/src/server/game/Combat/ThreatManager.cpp
@@ -19,6 +19,7 @@
#include "Creature.h"
#include "CombatPackets.h"
#include "CreatureAI.h"
+#include "CreatureGroups.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
#include "Player.h"
@@ -391,6 +392,8 @@ void ThreatManager::AddThreat(Unit* target, float amount, SpellInfo const* spell
SaveCreatureHomePositionIfNeed(cOwner);
if (CreatureAI* ownerAI = cOwner->AI())
ownerAI->JustEngagedWith(target);
+ if (CreatureGroup* formation = cOwner->GetFormation())
+ formation->MemberEngagingTarget(cOwner, target);
}
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index c507376f0be..e7548f76cf8 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -35,7 +35,6 @@
#include "CreatureAI.h"
#include "CreatureAIImpl.h"
#include "CreatureAIFactory.h"
-#include "CreatureGroups.h"
#include "DB2Stores.h"
#include "Formulas.h"
#include "GameTime.h"
@@ -7682,10 +7681,6 @@ void Unit::EngageWithTarget(Unit* enemy)
m_threatManager.AddThreat(enemy, 0.0f, nullptr, true, true);
else
SetInCombatWith(enemy);
-
- if (Creature* creature = ToCreature())
- if (CreatureGroup* formation = creature->GetFormation())
- formation->MemberEngagingTarget(creature, enemy);
}
void Unit::AttackedTarget(Unit* target, bool canInitialAggro)