diff options
author | Treeston <treeston.mmoc@gmail.com> | 2019-06-23 17:37:35 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-12 01:27:04 +0100 |
commit | e398bb16648b483c97a68b2a29b25173b2a71261 (patch) | |
tree | 222e12ef21d7e0a9018ef1214b8b90981d371faf /src | |
parent | 9f7d3ebd6a474c2e325698b1665ab2939926cab6 (diff) |
AI/SmartAI: Move SMART_EVENT_RESPAWN invocation from ::InitializeAI() to ::JustAppeared(). Closes #23313.
(cherry picked from commit 37fc38b91701c3e699b20f3ed8de8da3b5c42063)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartAI.cpp | 15 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartAI.h | 5 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index 45bd34cdea5..fef2159e623 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -517,12 +517,6 @@ void SmartAI::InitializeAI() me->SetVisible(true); - if (!me->isDead()) - { - GetScript()->ProcessEventsFor(SMART_EVENT_RESPAWN); - GetScript()->OnReset(); - } - _followGUID.Clear(); // do not reset follower on Reset(), we need it after combat evade _followDistance = 0; _followAngle = 0; @@ -532,6 +526,15 @@ void SmartAI::InitializeAI() _followCreditType = 0; } +void SmartAI::JustAppeared() +{ + if (me->isDead()) + return; + + GetScript()->ProcessEventsFor(SMART_EVENT_RESPAWN); + GetScript()->OnReset(); +} + void SmartAI::JustReachedHome() { GetScript()->OnReset(); diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h index 0baa87ec5a3..b01382079de 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.h +++ b/src/server/game/AI/SmartScripts/SmartAI.h @@ -134,9 +134,12 @@ class TC_GAME_API SmartAI : public CreatureAI // Called when a Player/Creature enters the creature (vehicle) void PassengerBoarded(Unit* who, int8 seatId, bool apply) override; - // Called when gets initialized, when creature is added to world + // Called when gets initialized void InitializeAI() override; + // Called once creature is fully added to world + void JustAppeared() override; + // Called when creature gets charmed by another unit void OnCharmed(bool isNew) override; |