aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Combat/CombatManager.cpp
diff options
context:
space:
mode:
authorOvah <dreadkiller@gmx.de>2020-08-07 14:51:40 +0200
committerShauren <shauren.trinity@gmail.com>2022-01-26 18:41:41 +0100
commit2819951dce545438724719836e3a13d3039b8690 (patch)
treef5231c0aec78ba2a8052a5974dbe01182ee90653 /src/server/game/Combat/CombatManager.cpp
parentd6c998a1a8f01b05d136667612e8fb350d9fdb59 (diff)
Core/Units: add new functionality for units to block or enable combat interactions (#25168)
* Core/Units: add new functionality for units to block or enable combat entirely via helper to reflect what CREATURE_DIFFICULTYFLAGS_IGNORE_COMBAT and client AI functions imply * yeah... * Nuke Creature::IsCombatDisallowed helper as its unused by now * no combat extra flag may now be changed on transforms if the transformed entry does not have the flag (cherry picked from commit 764f22fc9157ad184baa38995ee4e2d821299935)
Diffstat (limited to 'src/server/game/Combat/CombatManager.cpp')
-rw-r--r--src/server/game/Combat/CombatManager.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/server/game/Combat/CombatManager.cpp b/src/server/game/Combat/CombatManager.cpp
index edf47fdca87..d0401ded76c 100644
--- a/src/server/game/Combat/CombatManager.cpp
+++ b/src/server/game/Combat/CombatManager.cpp
@@ -43,12 +43,9 @@
return false;
if (a->HasUnitState(UNIT_STATE_IN_FLIGHT) || b->HasUnitState(UNIT_STATE_IN_FLIGHT))
return false;
- if (Creature const* aCreature = a->ToCreature())
- if (aCreature->IsCombatDisallowed())
- return false;
- if (Creature const* bCreature = b->ToCreature())
- if (bCreature->IsCombatDisallowed())
- return false;
+ // ... both units must not be ignoring combat
+ if (a->IsIgnoringCombat() || b->IsIgnoringCombat())
+ return false;
if (a->IsFriendlyTo(b) || b->IsFriendlyTo(a))
return false;
Player const* playerA = a->GetCharmerOrOwnerPlayerOrPlayerItself();