From 09613e253631a3ca15af3e22b0437bbcfe876ef5 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sat, 20 Nov 2021 14:26:52 -0800 Subject: [PATCH] fix: Fixes crash in mass dispel (#856) --- Projects/UOContent/Spells/Seventh/MassDispel.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Projects/UOContent/Spells/Seventh/MassDispel.cs b/Projects/UOContent/Spells/Seventh/MassDispel.cs index 8a1b3b164..9e40a0930 100644 --- a/Projects/UOContent/Spells/Seventh/MassDispel.cs +++ b/Projects/UOContent/Spells/Seventh/MassDispel.cs @@ -1,3 +1,4 @@ +using Server.Collections; using Server.Items; using Server.Mobiles; using Server.Targeting; @@ -37,6 +38,8 @@ namespace Server.Spells.Seventh { var eable = map.GetMobilesInRange(new Point3D(p), 8); + using var queue = PooledRefQueue.Create(); + foreach (var bc in eable) { if (!(bc.IsDispellable && Caster.CanBeHarmful(bc, false))) @@ -58,17 +61,21 @@ namespace Server.Spells.Seventh ); Effects.PlaySound(bc, 0x201); - bc.Delete(); + queue.Enqueue(bc); } else { Caster.DoHarmful(bc); - bc.FixedEffect(0x3779, 10, 20); } } eable.Free(); + + while (queue.Count > 0) + { + queue.Dequeue().Delete(); + } } }