diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-02-14 12:14:36 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-02-14 12:14:36 +0100 |
commit | 3fd1a2b78c8791576679e93ce1d43038db2212c5 (patch) | |
tree | 751a0725a2735b520a77bd6bab54bf6dce2bb4b1 /src/server/game/Combat/ThreatManager.cpp | |
parent | 412610e495684cfa8eb2f4ff7c25d450e1a016ea (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.cpp | 9 |
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(); |