From 67ffe7bcf02bc03061ae06285ea55b7eeeb76eff Mon Sep 17 00:00:00 2001 From: treeston Date: Mon, 3 Jul 2017 19:40:04 -0300 Subject: Core/Combat: Fixed issues with creatures sometimes entering combat with friendly targets Close #19980 (cherry picked from commit 07593f6c3488666423093c2c32514a0a378da942) --- src/server/game/Combat/ThreatManager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp index 65d177fddaf..652c5cffb5c 100644 --- a/src/server/game/Combat/ThreatManager.cpp +++ b/src/server/game/Combat/ThreatManager.cpp @@ -407,6 +407,15 @@ void ThreatManager::AddThreat(Unit* victim, float amount, SpellInfo const* spell (void)ignoreModifiers; (void)ignoreRedirection; if (!iOwner->CanHaveThreatList() || iOwner->HasUnitState(UNIT_STATE_EVADE)) return; + + if (iOwner->IsControlledByPlayer() || victim->IsControlledByPlayer()) + { + if (iOwner->IsFriendlyTo(victim) || victim->IsFriendlyTo(iOwner)) + return; + } + else if (!iOwner->IsHostileTo(victim) && !victim->IsHostileTo(iOwner)) + return; + iOwner->SetInCombatWith(victim); victim->SetInCombatWith(iOwner); addThreat(victim, amount, spell ? spell->GetSchoolMask() : victim->GetMeleeDamageSchoolMask(), spell); -- cgit v1.2.3