From 2819951dce545438724719836e3a13d3039b8690 Mon Sep 17 00:00:00 2001 From: Ovah Date: Fri, 7 Aug 2020 14:51:40 +0200 Subject: 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) --- src/server/game/Combat/CombatManager.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/server/game/Combat/CombatManager.cpp') 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(); -- cgit v1.2.3