From 0c4e5802cdb31ea7b3d1d90af63165812b61ab4f Mon Sep 17 00:00:00 2001 From: hondacrx Date: Mon, 3 Oct 2022 20:39:18 -0400 Subject: [PATCH] Core/Spawns: Exclude spawn groups with MANUAL_SPAWN flag from automatic spawning/despawning with conditions Port From (https://github.com/TrinityCore/TrinityCore/commit/769591c99ef7bd9c58eacd5c0272387af9a74e4a) --- Source/Game/Maps/Map.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/Game/Maps/Map.cs b/Source/Game/Maps/Map.cs index 839770729..5f1ab3c08 100644 --- a/Source/Game/Maps/Map.cs +++ b/Source/Game/Maps/Map.cs @@ -2420,6 +2420,10 @@ namespace Game.Maps var spawnGroups = Global.ObjectMgr.GetSpawnGroupsForMap(GetId()); foreach (uint spawnGroupId in spawnGroups) { + SpawnGroupTemplateData spawnGroupTemplate = GetSpawnGroupData(spawnGroupId); + if (spawnGroupTemplate.flags.HasFlag(SpawnGroupFlags.ManualSpawn)) + continue; + bool isActive = IsSpawnGroupActive(spawnGroupId); bool shouldBeActive = Global.ConditionMgr.IsMapMeetingNotGroupedConditions(ConditionSourceType.SpawnGroup, spawnGroupId, this); if (isActive == shouldBeActive) @@ -2427,7 +2431,7 @@ namespace Game.Maps if (shouldBeActive) SpawnGroupSpawn(spawnGroupId); - else if (GetSpawnGroupData(spawnGroupId).flags.HasFlag(SpawnGroupFlags.DespawnOnConditionFailure)) + else if (spawnGroupTemplate.flags.HasFlag(SpawnGroupFlags.DespawnOnConditionFailure)) SpawnGroupDespawn(spawnGroupId, true); else SetSpawnGroupInactive(spawnGroupId);