aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy <Golrag@users.noreply.github.com>2022-12-22 17:28:26 +0100
committerGitHub <noreply@github.com>2022-12-22 17:28:26 +0100
commit8023daabef52d401cf361282f32c0bbbaf206702 (patch)
tree247560c22f81731c3fce7afa9e3c9c53e67541b3
parent0eef877923f8bfb8d631fd92d57c80d96a0478af (diff)
Core/GameObjects: Update spawn group conditions immediately after battleground capture point changes state (#28611)
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp2
-rw-r--r--src/server/game/Maps/Map.h3
2 files changed, 4 insertions, 1 deletions
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<NGridType>
typedef std::function<void(Map*)> FarSpellCallback;
void AddFarSpellCallback(FarSpellCallback&& callback);
+ void UpdateSpawnGroupConditions();
+
private:
// Type specific code for add/remove to/from grid
template<class T>
@@ -755,7 +757,6 @@ class TC_GAME_API Map : public GridRefManager<NGridType>
}
void SetSpawnGroupActive(uint32 groupId, bool state);
- void UpdateSpawnGroupConditions();
std::unordered_set<uint32> _toggledSpawnGroupIds;
uint32 _respawnCheckTimer;