diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Combat/ThreatManager.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp index 63606ddb307..b6d6e7ffe7c 100644 --- a/src/server/game/Combat/ThreatManager.cpp +++ b/src/server/game/Combat/ThreatManager.cpp @@ -342,10 +342,10 @@ void ThreatManager::AddThreat(Unit* target, float amount, SpellInfo const* spell if (!redirInfo.empty()) { float const origAmount = amount; - // intentional copy - there's a nested AddThreat call further down that might cause AI calls which cast spells - auto const redirects = redirInfo; - for (auto const& pair : redirects) // (victim,pct) + // intentional iteration by index - there's a nested AddThreat call further down that might cause AI calls which might modify redirect info through spells + for (size_t i=0; i<redirInfo.size(); ++i) { + auto const pair = redirInfo[i]; // (victim,pct) Unit* redirTarget = nullptr; auto it = _myThreatListEntries.find(pair.first); // try to look it up in our threat list first (faster) if (it != _myThreatListEntries.end()) |