From 8023daabef52d401cf361282f32c0bbbaf206702 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Thu, 22 Dec 2022 17:28:26 +0100 Subject: Core/GameObjects: Update spawn group conditions immediately after battleground capture point changes state (#28611) --- src/server/game/Entities/GameObject/GameObject.cpp | 2 ++ src/server/game/Maps/Map.h | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 0ed19a3642e..60b3cc2b370 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -3879,6 +3879,8 @@ void GameObject::UpdateCapturePoint() bg->UpdateWorldState(GetGOInfo()->capturePoint.worldState1, AsUnderlyingType(m_goValue.CapturePoint.State)); } } + + GetMap()->UpdateSpawnGroupConditions(); } bool GameObject::CanInteractWithCapturePoint(Player const* target) const diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index b1c6fce1d8e..92740108dbb 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -693,6 +693,8 @@ class TC_GAME_API Map : public GridRefManager typedef std::function FarSpellCallback; void AddFarSpellCallback(FarSpellCallback&& callback); + void UpdateSpawnGroupConditions(); + private: // Type specific code for add/remove to/from grid template @@ -755,7 +757,6 @@ class TC_GAME_API Map : public GridRefManager } void SetSpawnGroupActive(uint32 groupId, bool state); - void UpdateSpawnGroupConditions(); std::unordered_set _toggledSpawnGroupIds; uint32 _respawnCheckTimer; -- cgit v1.2.3