public void Target(IPoint3D p) { if (!Caster.CanSee(p)) { Caster.SendLocalizedMessage(500237); // Target can not be seen. } else if (SpellHelper.CheckTown(p, Caster) && CheckSequence()) { SpellHelper.Turn(Caster, p); SpellHelper.GetSurfaceTop(ref p); Effects.PlaySound(p, Caster.Map, 0x64F); double duration = DamagingSkill(Caster) / 5; RingOfFire ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X, p.Y - 3, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 1, p.Y - 2, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 2, p.Y - 1, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 2, p.Y, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 2, p.Y + 1, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 1, p.Y + 2, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X, p.Y + 3, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 1, p.Y + 2, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 2, p.Y + 1, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 2, p.Y, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 2, p.Y - 1, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 1, p.Y - 2, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X, p.Y - 4, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 1, p.Y - 3, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 2, p.Y - 2, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 1, p.Y - 3, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 2, p.Y - 2, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 2, p.Y - 2, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X - 1, p.Y + 3, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X, p.Y + 4, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 1, p.Y + 3, p.Z), Caster.Map); ring = new RingOfFire(duration); ring.MoveToWorld(new Point3D(p.X + 2, p.Y + 2, p.Z), Caster.Map); Server.Misc.Research.ConsumeScroll(Caster, true, spellIndex, false); } FinishSequence(); }