using Server.Items; using Server.Misc; namespace Server.Spells.Fifth { public class DispelFieldSpell : MagerySpell, ITargetingSpell { private static readonly SpellInfo _info = new( "Dispel Field", "An Grav", 206, 9002, Reagent.BlackPearl, Reagent.SpidersSilk, Reagent.SulfurousAsh, Reagent.Garlic ); public DispelFieldSpell(Mobile caster, Item scroll = null) : base(caster, scroll, _info) { } public override SpellCircle Circle => SpellCircle.Fifth; public void Target(Item item) { if (!item.GetType().IsDefined(typeof(DispellableFieldAttribute), false)) { Caster.SendLocalizedMessage(1005049); // That cannot be dispelled. } else if (item is Moongate { Dispellable: false }) { Caster.SendLocalizedMessage(1005047); // That magic is too chaotic } else if (CheckSequence()) { SpellHelper.Turn(Caster, item); Effects.SendLocationParticles( EffectItem.Create(item.Location, item.Map, EffectItem.DefaultDuration), 0x376A, 9, 20, 5042 ); Effects.PlaySound(item.GetWorldLocation(), item.Map, 0x201); item.Delete(); } } public override void OnCast() { Caster.Target = new SpellTarget(this); } } }