From e07f4f9dc2beea6bc4a98ef915d2c71ff6a6880b Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Wed, 22 Jul 2020 18:06:24 +0200 Subject: [PATCH] Core/Units: dbe3bbefe734f8824e8f07c302e256f0d446b974 followup --- src/server/game/Entities/Unit/Unit.cpp | 2 +- src/server/game/Entities/Unit/Unit.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index d162ac9463f..72a0dc12b86 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -327,7 +327,7 @@ Unit::Unit(bool isWorldObject) : i_AI(nullptr), i_disabledAI(nullptr), m_AutoRepeatFirstCast(false), m_procDeep(0), m_removedAurasCount(0), i_motionMaster(new MotionMaster(this)), m_combatManager(this), m_vehicle(nullptr), m_vehicleKit(nullptr), m_unitTypeMask(UNIT_MASK_NONE), - m_Diminishing(), m_threatManager(this), _lastDamagedTime(0), + m_Diminishing(), m_isEngaged(false), m_threatManager(this), _lastDamagedTime(0), m_spellHistory(new SpellHistory(this)) { m_objectType |= TYPEMASK_UNIT; diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 1b4574334f1..828ded2795c 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -2005,6 +2005,9 @@ class TC_GAME_API Unit : public WorldObject virtual void AtEnterCombat() { } virtual void AtExitCombat(); + virtual void AtEngage(Unit* /*target*/) { m_isEngaged = true; } + virtual void AtDisengage() { m_isEngaged = false; } + void InterruptMovementBasedAuras(); private: @@ -2033,6 +2036,9 @@ class TC_GAME_API Unit : public WorldObject TimeTrackerSmall m_splineSyncTimer; DiminishingReturn m_Diminishing[DIMINISHING_MAX]; + + // Threat+combat management + bool m_isEngaged; // Manage all Units that are threatened by us friend class CombatManager; CombatManager m_combatManager;