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(); + } } }