From 4b93059ec79f06effeeb4c164e426e0276b24193 Mon Sep 17 00:00:00 2001 From: Treeston Date: Tue, 27 Feb 2018 22:10:36 +0100 Subject: Core/Creature: Temporarily let Creatures violate dynspawn assumptions for pooled creatures. This should fix startup crashes until I can investigate and find a long-term fix. Tag #21519. (cherry picked from commit 9fc6b13027d2d66a99b6bee49d3add23f2c0c8af) --- src/server/game/Entities/Creature/Creature.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 13c80e7f11d..40e26027ba0 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1777,13 +1777,14 @@ bool Creature::LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap, if (!m_respawnTime && !map->IsSpawnGroupActive(data->spawnGroupData->groupId)) { - ASSERT(m_respawnCompatibilityMode, "Creature (SpawnID " UI64FMTD ") trying to load in inactive spawn group %s.", spawnId, data->spawnGroupData->name.c_str()); + // @todo pools need fixing! this is just a temporary crashfix, but they violate dynspawn principles + ASSERT(m_respawnCompatibilityMode || sPoolMgr->IsPartOfAPool(spawnId), "Creature (SpawnID " UI64FMTD ") trying to load in inactive spawn group %s.", spawnId, data->spawnGroupData->name.c_str()); m_respawnTime = GameTime::GetGameTime() + urand(4, 7); } if (m_respawnTime) // respawn on Update { - ASSERT(m_respawnCompatibilityMode, "Creature (SpawnID " UI64FMTD ") trying to load despite a respawn timer in progress.", spawnId); + ASSERT(m_respawnCompatibilityMode || sPoolMgr->IsPartOfAPool(spawnId), "Creature (SpawnID " UI64FMTD ") trying to load despite a respawn timer in progress.", spawnId); m_deathState = DEAD; if (CanFly()) { -- cgit v1.2.3