aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Combat/ThreatManager.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-02-14 12:14:36 +0100
committerShauren <shauren.trinity@gmail.com>2024-02-14 12:14:36 +0100
commit3fd1a2b78c8791576679e93ce1d43038db2212c5 (patch)
tree751a0725a2735b520a77bd6bab54bf6dce2bb4b1 /src/server/game/Combat/ThreatManager.cpp
parent412610e495684cfa8eb2f4ff7c25d450e1a016ea (diff)
Core/Creatures: Implemented CREATURE_STATIC_FLAG_3_NO_THREAT_FEEDBACK
Diffstat (limited to 'src/server/game/Combat/ThreatManager.cpp')
-rw-r--r--src/server/game/Combat/ThreatManager.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp
index b9d136e5e13..9376d42b010 100644
--- a/src/server/game/Combat/ThreatManager.cpp
+++ b/src/server/game/Combat/ThreatManager.cpp
@@ -810,6 +810,9 @@ void ThreatManager::UnregisterRedirectThreat(uint32 spellId, ObjectGuid const& v
void ThreatManager::SendClearAllThreatToClients() const
{
+ if (Creature const* owner = _owner->ToCreature(); owner && owner->IsThreatFeedbackDisabled())
+ return;
+
WorldPackets::Combat::ThreatClear threatClear;
threatClear.UnitGUID = _owner->GetGUID();
_owner->SendMessageToSet(threatClear.Write(), false);
@@ -817,6 +820,9 @@ void ThreatManager::SendClearAllThreatToClients() const
void ThreatManager::SendRemoveToClients(Unit const* victim) const
{
+ if (Creature const* owner = _owner->ToCreature(); owner && owner->IsThreatFeedbackDisabled())
+ return;
+
WorldPackets::Combat::ThreatRemove threatRemove;
threatRemove.UnitGUID = _owner->GetGUID();
threatRemove.AboutGUID = victim->GetGUID();
@@ -825,6 +831,9 @@ void ThreatManager::SendRemoveToClients(Unit const* victim) const
void ThreatManager::SendThreatListToClients(bool newHighest) const
{
+ if (Creature const* owner = _owner->ToCreature(); owner && owner->IsThreatFeedbackDisabled())
+ return;
+
auto fillSharedPacketDataAndSend = [&](auto& packet)
{
packet.UnitGUID = _owner->GetGUID();