diff options
-rw-r--r-- | src/game/ThreatManager.cpp | 9 | ||||
-rw-r--r-- | src/game/ThreatManager.h | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/game/ThreatManager.cpp b/src/game/ThreatManager.cpp index 58423794154..0e902c05864 100644 --- a/src/game/ThreatManager.cpp +++ b/src/game/ThreatManager.cpp @@ -361,10 +361,15 @@ void ThreatManager::addThreat(Unit* pVictim, float pThreat, SpellSchoolMask scho { float reducedThreat = threat * pVictim->GetReducedThreatPercent() / 100; threat -= reducedThreat; - if(pVictim->GetMisdirectionTarget()) - iThreatContainer.addThreat(pVictim->GetMisdirectionTarget(), reducedThreat); + if(Unit *unit = pVictim->GetMisdirectionTarget()) + _addThreat(unit, reducedThreat); } + _addThreat(pVictim, threat); +} + +void ThreatManager::_addThreat(Unit *pVictim, float threat) +{ HostilReference* ref = iThreatContainer.addThreat(pVictim, threat); // Ref is not in the online refs, search the offline refs next if(!ref) diff --git a/src/game/ThreatManager.h b/src/game/ThreatManager.h index 1cecee3a4be..d4a3910e91e 100644 --- a/src/game/ThreatManager.h +++ b/src/game/ThreatManager.h @@ -175,6 +175,8 @@ class TRINITY_DLL_SPEC ThreatManager Unit* iOwner; ThreatContainer iThreatContainer; ThreatContainer iThreatOfflineContainer; + + void _addThreat(Unit* target, float threat); public: explicit ThreatManager(Unit *pOwner); |