diff options
| author | Ovah <dreadkiller@gmx.de> | 2020-08-07 14:51:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-07 14:51:40 +0200 |
| commit | 764f22fc9157ad184baa38995ee4e2d821299935 (patch) | |
| tree | dd6d9432476de51df4fdd1777096b55de5b83cdf /src/server/game/Entities/Unit | |
| parent | 98b1b20d6beea5e2fdea7e404e8d880953d4b2fb (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
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 1 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index aff1ea83ab4..f695159ee7c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -382,6 +382,7 @@ Unit::Unit(bool isWorldObject) : _oldFactionId = 0; _isWalkingBeforeCharm = false; _instantCast = false; + _isIgnoringCombat = false; } //////////////////////////////////////////////////////////// diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 3ea466d9f0f..3d2110ada04 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1686,6 +1686,11 @@ class TC_GAME_API Unit : public WorldObject float GetCollisionHeight() const override; + // returns if the unit is ignoring any combat interaction + bool IsIgnoringCombat() const { return _isIgnoringCombat; } + // enables/disables combat interaction of this unit. + void SetIgnoringCombat(bool apply) { _isIgnoringCombat = apply; } + std::string GetDebugInfo() const override; protected: explicit Unit (bool isWorldObject); @@ -1832,6 +1837,8 @@ class TC_GAME_API Unit : public WorldObject SpellHistory* m_spellHistory; PositionUpdateInfo _positionUpdateInfo; + + bool _isIgnoringCombat; }; namespace Trinity |
