aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp1
-rw-r--r--src/server/game/Maps/Map.cpp6
2 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index fc2bee156ee..506e4d2dea3 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -314,6 +314,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
|| (cinfoid >= AV_NPC_H_GRAVEDEFENSE0 && cinfoid <= AV_NPC_H_GRAVEDEFENSE3)))
{
CreatureData &data = sObjectMgr->NewOrExistCreatureData(creature->GetSpawnId());
+ data.spawnGroupData = sObjectMgr->GetDefaultSpawnGroup();
data.spawndist = 5;
}
//else spawndist will be 15, so creatures move maximum=10
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index bcd6447c2c9..ee20c63b7e1 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -3204,6 +3204,10 @@ void Map::ApplyDynamicModeRespawnScaling(WorldObject const* obj, ObjectGuid::Low
{
ASSERT(mode == 1);
ASSERT(obj->GetMap() == this);
+
+ if (IsBattlegroundOrArena())
+ return;
+
SpawnObjectType type;
switch (obj->GetTypeId())
{
@@ -3218,7 +3222,7 @@ void Map::ApplyDynamicModeRespawnScaling(WorldObject const* obj, ObjectGuid::Low
}
SpawnData const* data = sObjectMgr->GetSpawnData(type, spawnId);
- if (!data || !(data->spawnGroupData->flags & SPAWNGROUP_FLAG_DYNAMIC_SPAWN_RATE))
+ if (!data || !data->spawnGroupData || !(data->spawnGroupData->flags & SPAWNGROUP_FLAG_DYNAMIC_SPAWN_RATE))
return;
auto it = _zonePlayerCountMap.find(obj->GetZoneId());