From 6a66df09ebb158de53c947b1f4aa827ba2a942d0 Mon Sep 17 00:00:00 2001 From: megamage Date: Fri, 16 Jan 2009 18:49:41 -0600 Subject: *Fix misdirection. --HG-- branch : trunk --- src/game/ThreatManager.cpp | 9 +++++++-- src/game/ThreatManager.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src') 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); -- cgit v1.2.3