aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-08-28 16:16:37 +0200
committerTreeston <treeston.mmoc@gmail.com>2018-08-28 16:16:37 +0200
commita001bc63b1182babddbb188f7c762c6168a98b5c (patch)
treefb0e49c7509ae87f509fa6222681a4c19e539659 /src
parentda21ca80fc35a325df0fb0ef2f687a91121d42de (diff)
Core/Entities: Fixed an issue where creatures would not properly assist formation members in certain scenarios. Tagging #21967.
Diffstat (limited to 'src')
-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 bd359470c18..e56eb5b2fda 100644
--- a/src/server/game/Combat/ThreatManager.cpp
+++ b/src/server/game/Combat/ThreatManager.cpp
@@ -17,6 +17,7 @@
#include "Creature.h"
#include "CreatureAI.h"
+#include "CreatureGroups.h"
#include "MotionMaster.h"
#include "Player.h"
#include "ThreatManager.h"
@@ -383,6 +384,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 e08bbb5f027..e4fa2f4728c 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -30,7 +30,6 @@
#include "ConditionMgr.h"
#include "CreatureAI.h"
#include "CreatureAIImpl.h"
-#include "CreatureGroups.h"
#include "Formulas.h"
#include "GameTime.h"
#include "GridNotifiersImpl.h"
@@ -8153,10 +8152,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)