From a80faa391b0270ede37f2f43d26e23b90feb4a72 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sun, 14 Mar 2021 09:22:16 +0100 Subject: [PATCH] Core/Creatures: moved AIReaction to AtEngage to ensure that ai reactions wont be sent when entering combat with a creature that might not even engage us --- src/server/game/Entities/Creature/Creature.cpp | 11 +++-------- src/server/game/Entities/Creature/Creature.h | 1 - 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 86c76b509c5..03f751ed510 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3311,14 +3311,6 @@ bool Creature::IsEngaged() const return false; } -void Creature::AtEnterCombat() -{ - Unit::AtEnterCombat(); - - if (GetAI() && !IsControlledByPlayer()) - SendAIReaction(AI_REACTION_HOSTILE); -} - void Creature::AtEngage(Unit* target) { Unit::AtEngage(target); @@ -3336,6 +3328,9 @@ void Creature::AtEngage(Unit* target) ai->JustEngagedWith(target); if (CreatureGroup* formation = GetFormation()) formation->MemberEngagingTarget(this, target); + + if (GetAI() && !IsControlledByPlayer()) + SendAIReaction(AI_REACTION_HOSTILE); } void Creature::AtDisengage() diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 28dd75dbce6..874ecf3dbee 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -363,7 +363,6 @@ class TC_GAME_API Creature : public Unit, public GridObject, public Ma void MakeInterruptable(bool apply); bool IsEngaged() const override; - void AtEnterCombat() override; void AtEngage(Unit* target) override; void AtDisengage() override;