From e7061c507a7bd9118818d2220d678c6288beb2ad Mon Sep 17 00:00:00 2001 From: WarrentyExpired Date: Fri, 6 Nov 2026 19:57:10 -0500 Subject: [PATCH] #W# Fix: Taskmanager now removes human and monster citizens every 30 mins. --- Projects/UOContent/Engines/TaskManager.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Projects/UOContent/Engines/TaskManager.cs b/Projects/UOContent/Engines/TaskManager.cs index 6c30a8c78..5882d19f7 100644 --- a/Projects/UOContent/Engines/TaskManager.cs +++ b/Projects/UOContent/Engines/TaskManager.cs @@ -36,7 +36,6 @@ public static class TaskManager // ========================================== public static void On30MinuteTick(Mobile from = null) { - // 1. Refresh ~33% of Tradesmen and Meeting Spots (CitizenNodes) var nodes = World.Items.Values .OfType() .Where(n => !n.Deleted && n.Map != null && n.Map != Map.Internal) @@ -56,10 +55,11 @@ public static class TaskManager } } - // 2. Despawn ~33% of wandering Citizens (standard spawners will naturally replace them) var wanderers = World.Mobiles.Values - .OfType() - .Where(c => !c.Deleted && c.Map != null && c.Map != Map.Internal && !(c is GatheringCitizen)) + .OfType() + .Where(c => !c.Deleted && c.Map != null && c.Map != Map.Internal) + .Where(c => c is Citizen || c is MonsterCitizen) + .Where(c => !(c is GatheringCitizen) && !(c is GatheringMonster)) .ToList(); int wanderersRemoved = 0; @@ -75,7 +75,6 @@ public static class TaskManager wanderersRemoved++; } } - if (from != null) { from.SendMessage($"[TaskManager 30M] Refreshed {nodesRefreshed} CitizenNode(s) and cycled {wanderersRemoved} wandering citizen(s).");