aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Combat/ThreatManager.h
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-05-04 14:49:08 +0200
committerShauren <shauren.trinity@gmail.com>2021-09-26 16:12:33 +0200
commit16eb5032ad0e8fbc9cd9d3229be65a8f0190347b (patch)
tree5041f78ab1509768a1502641e8c9a1203385ca7d /src/server/game/Combat/ThreatManager.h
parentc926e2fc940fdf8e328dddb829e0aaafea1e8a90 (diff)
Core/Threat: Re-add fixtate system. I am being told Netherspite needs it.
(cherry picked from commit fd33b1cd02a1c69fc78f47f079eadc43c331d054)
Diffstat (limited to 'src/server/game/Combat/ThreatManager.h')
-rw-r--r--src/server/game/Combat/ThreatManager.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Combat/ThreatManager.h b/src/server/game/Combat/ThreatManager.h
index a10807cb061..a3755fdf167 100644
--- a/src/server/game/Combat/ThreatManager.h
+++ b/src/server/game/Combat/ThreatManager.h
@@ -160,6 +160,12 @@ class TC_GAME_API ThreatManager
// Removes all targets from the threat list (will cause evade in UpdateVictim if called)
void ClearAllThreat();
+ // Fixtate on the passed target; this target will always be selected until the fixtate is cleared
+ // (if the target is not in the threat list, does nothing)
+ void FixtateTarget(Unit* target);
+ void ClearFixtate() { FixtateTarget(nullptr); }
+ Unit* GetFixtateTarget() const;
+
// sends SMSG_THREAT_UPDATE to all nearby clients (used by client to forward threat list info to addons)
void SendThreatListToClients() const;
@@ -204,6 +210,7 @@ class TC_GAME_API ThreatManager
std::unordered_map<ObjectGuid, ThreatReference*> _myThreatListEntries;
ThreatReference const* _currentVictimRef;
ThreatReference const* ReselectVictim();
+ ThreatReference const* _fixtateRef;
///== OTHERS' THREAT LISTS ==
void PutThreatenedByMeRef(ObjectGuid const& guid, ThreatReference* ref);