From 3615f1ce6128270de85ef2d7ff78d02f86cf9e40 Mon Sep 17 00:00:00 2001 From: killerwife Date: Mon, 1 Jan 2024 20:01:56 +0100 Subject: [PATCH] SpawnGroup/Creature/GameObject: Spawn group dbguids should not be affected by dynguid flag ccode --- src/game/Globals/ObjectMgr.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/game/Globals/ObjectMgr.cpp b/src/game/Globals/ObjectMgr.cpp index 5fd7fda9a7..40fa7f43a0 100644 --- a/src/game/Globals/ObjectMgr.cpp +++ b/src/game/Globals/ObjectMgr.cpp @@ -1464,6 +1464,8 @@ void ObjectMgr::LoadSpawnGroups() { CreatureData const* data = GetCreatureData(guidData.DbGuid); RemoveCreatureFromGrid(guidData.DbGuid, data); + auto& creatureDynguidsForMap = m_dynguidCreatureDbGuids[data->mapid]; + creatureDynguidsForMap.erase(std::remove(creatureDynguidsForMap.begin(), creatureDynguidsForMap.end(), guidData.DbGuid), creatureDynguidsForMap.end()); newContainer->spawnGroupByGuidMap.emplace(std::make_pair(guidData.DbGuid, uint32(TYPEID_UNIT)), &entry); if (sWorld.getConfig(CONFIG_BOOL_AUTOLOAD_ACTIVE)) { @@ -1490,6 +1492,8 @@ void ObjectMgr::LoadSpawnGroups() { GameObjectData const* data = GetGOData(guidData.DbGuid); RemoveGameobjectFromGrid(guidData.DbGuid, data); + auto& goDynguidsForMap = m_dynguidGameobjectDbGuids[data->mapid]; + goDynguidsForMap.erase(std::remove(goDynguidsForMap.begin(), goDynguidsForMap.end(), guidData.DbGuid), goDynguidsForMap.end()); newContainer->spawnGroupByGuidMap.emplace(std::make_pair(guidData.DbGuid, uint32(TYPEID_GAMEOBJECT)), &entry); if (sWorld.getConfig(CONFIG_BOOL_AUTOLOAD_ACTIVE)) {