public override void Damage(Mobile m)
        {
            base.Damage(m);

            if (m.Alive)
            {
                Item item = m.FindItemOnLayer(Layer.OuterTorso);

                if (item is GMRobe)
                {
                    AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                }
                else
                {
                    // Bank Music
                    if (Utility.RandomDouble() < 0.001)
                    {
                        m.Send(Network.PlayMusic.GetInstance(MusicName.Stones2));
                        AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                    }

                    // Flamestrike
                    if (Utility.RandomDouble() < 0.01)
                    {
                        m.Stam -= 20;
                        m.Mana -= 25;
                        m.FixedParticles(0x3709, 10, 30, 5052, EffectLayer.LeftFoot);
                        m.PlaySound(0x208);
                        m.PlaySound(m.Female ? 814 : 1088);
                        m.Say("*ahhhh!*");
                        AOS.Damage(m, Utility.Random(15, 25), 0, 100, 0, 0, 0);
                    }

                    // Forest Music
                    if (Utility.RandomDouble() < 0.001)
                    {
                        m.Send(Network.PlayMusic.GetInstance(MusicName.Linelle));
                        AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                    }

                    // Greater Heal
                    if (Utility.RandomDouble() < 0.01)
                    {
                        m.Hits += (Utility.Random(250, 300));
                        m.Stam += (Utility.Random(250, 300));
                        m.Mana += (Utility.Random(250, 300));
                        m.FixedParticles(0x375A, 1, 30, 9966, 88, 2, EffectLayer.Head);
                        m.FixedParticles(0x37B9, 1, 30, 9502, 85, 3, EffectLayer.Head);
                        m.FixedParticles(0x376A, 1, 31, 9961, 80, 0, EffectLayer.Waist);
                        m.FixedParticles(0x37C4, 1, 31, 9502, 88, 2, EffectLayer.Waist);
                        m.PlaySound(0x202);
                        AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                    }

                    // Ice Blast
                    if (Utility.RandomDouble() < 0.01)
                    {
                        m.Stam -= 10;
                        m.Mana -= 20;
                        m.FixedParticles(0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist);
                        m.PlaySound(0x0FC);
                        AOS.Damage(m, Utility.Random(15, 25), 0, 0, 100, 0, 0);
                    }

                    // Lightning Strike
                    if (Utility.RandomDouble() < 0.01)
                    {
                        m.PlaySound(Utility.RandomList(0x5CE));
                        m.BoltEffect(0x480);
                        AOS.Damage(m, Utility.RandomMinMax(12, 35), 0, 0, 0, 0, 100);
                    }

                    // Random Encounter 1
                    if (Utility.RandomDouble() < 0.002)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x1 = m.X + 12;
                            int y1 = m.Y + 12;
                            int z1 = Map.Tokuno.GetAverageZ(x1, y1);

                            if (Map.Tokuno.CanSpawnMobile(x1, y1, z1))
                            {
                                BaseCreature encountera;
                                switch (Utility.Random(3))
                                {
                                default:
                                case 0: encountera = new RunningPants(); break;

                                case 1: encountera = new RunningPants(); break;

                                case 2: encountera = new RunningPants(); break;
                                }
                                encountera.MoveToWorld(new Point3D(x1, y1, z1), Map.Tokuno);
                                encountera.Combatant = m;

                                IceFieldIceFlame ice = new IceFieldIceFlame();
                                ice.MoveToWorld(new Point3D(encountera.X + 5, encountera.Y, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);


                                IceFieldIceFlame icea = new IceFieldIceFlame();
                                icea.MoveToWorld(new Point3D(encountera.X + 5, encountera.Y + 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceb = new IceFieldIceFlame();
                                iceb.MoveToWorld(new Point3D(encountera.X + 5, encountera.Y - 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icec = new IceFieldIceFlame();
                                icec.MoveToWorld(new Point3D(encountera.X, encountera.Y + 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iced = new IceFieldIceFlame();
                                iced.MoveToWorld(new Point3D(encountera.X, encountera.Y - 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icee = new IceFieldIceFlame();
                                icee.MoveToWorld(new Point3D(encountera.X - 5, encountera.Y, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icef = new IceFieldIceFlame();
                                icef.MoveToWorld(new Point3D(encountera.X - 5, encountera.Y - 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceg = new IceFieldIceFlame();
                                iceg.MoveToWorld(new Point3D(encountera.X - 5, encountera.Y + 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceh = new IceFieldIceFlame();
                                iceh.ItemID = 0x8e1;
                                iceh.MoveToWorld(new Point3D(encountera.X, encountera.Y, encountera.Z + 19), encountera.Map);
                                m.PlaySound(0x208);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(3.0), new TimerStateCallback(DeleteEncounterA), encountera);
                            }
                        }
                    }

                    // Random Encounter 2
                    if (Utility.RandomDouble() < 0.002)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x2 = m.X - 12;
                            int y2 = m.Y - 12;
                            int z2 = Map.Tokuno.GetAverageZ(x2, y2);

                            if (Map.Tokuno.CanSpawnMobile(x2, y2, z2))
                            {
                                BaseCreature encountera;
                                switch (Utility.Random(3))
                                {
                                default:
                                case 0: encountera = new RunningPants(); break;

                                case 1: encountera = new RunningPants(); break;

                                case 2: encountera = new RunningPants(); break;
                                }
                                encountera.MoveToWorld(new Point3D(x2, y2, z2), Map.Tokuno);
                                encountera.Combatant = m;

                                IceFieldIceFlame ice = new IceFieldIceFlame();
                                ice.MoveToWorld(new Point3D(encountera.X + 5, encountera.Y, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);


                                IceFieldIceFlame icea = new IceFieldIceFlame();
                                icea.MoveToWorld(new Point3D(encountera.X + 5, encountera.Y + 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceb = new IceFieldIceFlame();
                                iceb.MoveToWorld(new Point3D(encountera.X + 5, encountera.Y - 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icec = new IceFieldIceFlame();
                                icec.MoveToWorld(new Point3D(encountera.X, encountera.Y + 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iced = new IceFieldIceFlame();
                                iced.MoveToWorld(new Point3D(encountera.X, encountera.Y - 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icee = new IceFieldIceFlame();
                                icee.MoveToWorld(new Point3D(encountera.X - 5, encountera.Y, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icef = new IceFieldIceFlame();
                                icef.MoveToWorld(new Point3D(encountera.X - 5, encountera.Y - 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceg = new IceFieldIceFlame();
                                iceg.MoveToWorld(new Point3D(encountera.X - 5, encountera.Y + 5, encountera.Z), encountera.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceh = new IceFieldIceFlame();
                                iceh.ItemID = 0x8e1;
                                iceh.MoveToWorld(new Point3D(encountera.X, encountera.Y, encountera.Z + 19), encountera.Map);
                                m.PlaySound(0x208);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(3.0), new TimerStateCallback(DeleteEncounterA), encountera);
                            }
                        }
                    }

                    // Tamable Encounter 1
                    if (Utility.RandomDouble() < 0.002)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x1 = m.X + 12;
                            int y1 = m.Y + 12;
                            int z1 = Map.Tokuno.GetAverageZ(x1, y1);

                            if (Map.Tokuno.CanSpawnMobile(x1, y1, z1))
                            {
                                BaseCreature tameable;
                                switch (Utility.Random(5))
                                {
                                default:
                                case 0: tameable = new Bird(); break;

                                case 1: tameable = new BlackBear(); break;

                                case 2: tameable = new DireWolf(); break;

                                case 3: tameable = new Goat(); break;

                                case 4: tameable = new Horse(); break;
                                }
                                tameable.MoveToWorld(new Point3D(x1, y1, z1), Map.Tokuno);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(2.0), new TimerStateCallback(DeleteTameable), tameable);
                            }
                        }
                    }

                    // Tamable Encounter 2
                    if (Utility.RandomDouble() < 0.002)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x2 = m.X - 12;
                            int y2 = m.Y - 12;
                            int z2 = Map.Tokuno.GetAverageZ(x2, y2);

                            if (Map.Tokuno.CanSpawnMobile(x2, y2, z2))
                            {
                                BaseCreature tameable;
                                switch (Utility.Random(5))
                                {
                                default:
                                case 0: tameable = new Bird(); break;

                                case 1: tameable = new BlackBear(); break;

                                case 2: tameable = new DireWolf(); break;

                                case 3: tameable = new Goat(); break;

                                case 4: tameable = new Horse(); break;
                                }
                                tameable.MoveToWorld(new Point3D(x2, y2, z2), Map.Tokuno);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(2.0), new TimerStateCallback(DeleteTameable), tameable);
                            }
                        }
                    }
                }
            }
        }
        public override void Damage(Mobile m)
        {
            base.Damage(m);

            if (m.Alive)
            {
                Item item = m.FindItemOnLayer(Layer.OuterTorso);

                if (item is GMRobe)
                {
                    AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                }
                else if (item is GMRobeExplosion)
                {
                    AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                    m.PlaySound(Utility.RandomList(0x307, 0x308));
                }
                else if (item is GMRobeHoly)
                {
                    AOS.Damage(m, 0, 0, 0, 0, 0, 0);

                    m.FixedParticles(0x375A, 1, 30, 9966, 88, 2, EffectLayer.Head);
                    m.FixedParticles(0x37B9, 1, 30, 9502, 85, 3, EffectLayer.Head);
                    m.FixedParticles(0x376A, 1, 31, 9961, 80, 0, EffectLayer.Waist);
                    m.FixedParticles(0x37C4, 1, 31, 9502, 88, 2, EffectLayer.Waist);
                }
                else if (item is GMRobeTrailfire)
                {
                    AOS.Damage(m, 0, 0, 0, 0, 0, 0);

                    m.FixedParticles(0x3709, 10, 30, 5052, EffectLayer.LeftFoot);
                }
                else
                {
                    // sfx noises
                    if (Utility.RandomDouble() < 0.02)
                    {
                        m.PlaySound(Utility.RandomList(0x0F5, 0x0F7, 0x0F8, 0x0FB));
                        AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                    }

                    // ice aura damage
                    if (Utility.RandomDouble() < 0.010)
                    {
                        m.Hits -= 15;
                        m.Stam -= 5;
                        m.Mana -= 20;
                        m.FixedParticles(0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist);
                        m.PlaySound(0x0FC);
                        m.ApplyPoison(m, Poison.Regular);
                        m.SendMessage("An icy aura claws at your vessel and hypothermia starts to settle in.");
                        AOS.Damage(m, Utility.Random(15, 25), 0, 0, 100, 0, 0);
                    }

                    // Beelzebug Ambush 1
                    if (Utility.RandomDouble() < 0.012)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x1 = m.X + 1;
                            int y1 = m.Y + 1;
                            int z1 = Map.Tokuno.GetAverageZ(x1, y1);

                            if (Map.Tokuno.CanSpawnMobile(x1, y1, z1))
                            {
                                BaseCreature beelzebug = new Beelzebug();
                                beelzebug.MoveToWorld(new Point3D(x1, y1, z1), Map.Tokuno);
                                beelzebug.Combatant = m;
                                beelzebug.PlaySound(0x4E8);

                                IceFieldIceFlame ice = new IceFieldIceFlame();
                                ice.MoveToWorld(new Point3D(beelzebug.X + 5, beelzebug.Y, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);


                                IceFieldIceFlame icea = new IceFieldIceFlame();
                                icea.MoveToWorld(new Point3D(beelzebug.X + 5, beelzebug.Y + 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceb = new IceFieldIceFlame();
                                iceb.MoveToWorld(new Point3D(beelzebug.X + 5, beelzebug.Y - 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icec = new IceFieldIceFlame();
                                icec.MoveToWorld(new Point3D(beelzebug.X, beelzebug.Y + 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iced = new IceFieldIceFlame();
                                iced.MoveToWorld(new Point3D(beelzebug.X, beelzebug.Y - 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icee = new IceFieldIceFlame();
                                icee.MoveToWorld(new Point3D(beelzebug.X - 5, beelzebug.Y, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icef = new IceFieldIceFlame();
                                icef.MoveToWorld(new Point3D(beelzebug.X - 5, beelzebug.Y - 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceg = new IceFieldIceFlame();
                                iceg.MoveToWorld(new Point3D(beelzebug.X - 5, beelzebug.Y + 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceh = new IceFieldIceFlame();
                                iceh.ItemID = 0x8e1;
                                iceh.MoveToWorld(new Point3D(beelzebug.X, beelzebug.Y, beelzebug.Z + 19), beelzebug.Map);
                                m.PlaySound(0x208);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(3.0), new TimerStateCallback(DeleteBeelzebug), beelzebug);
                            }
                        }
                    }

                    // Beelzebug Ambush 2
                    if (Utility.RandomDouble() < 0.012)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x2 = m.X - 1;
                            int y2 = m.Y - 1;
                            int z2 = Map.Tokuno.GetAverageZ(x2, y2);

                            if (Map.Tokuno.CanSpawnMobile(x2, y2, z2))
                            {
                                BaseCreature beelzebug = new Beelzebug();
                                beelzebug.MoveToWorld(new Point3D(x2, y2, z2), Map.Tokuno);
                                beelzebug.Combatant = m;
                                beelzebug.PlaySound(0x4E8);
                                IceFieldIceFlame ice = new IceFieldIceFlame();
                                ice.MoveToWorld(new Point3D(beelzebug.X + 5, beelzebug.Y, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icea = new IceFieldIceFlame();
                                icea.MoveToWorld(new Point3D(beelzebug.X + 5, beelzebug.Y + 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceb = new IceFieldIceFlame();
                                iceb.MoveToWorld(new Point3D(beelzebug.X + 5, beelzebug.Y - 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icec = new IceFieldIceFlame();
                                icec.MoveToWorld(new Point3D(beelzebug.X, beelzebug.Y + 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iced = new IceFieldIceFlame();
                                iced.MoveToWorld(new Point3D(beelzebug.X, beelzebug.Y - 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icee = new IceFieldIceFlame();
                                icee.MoveToWorld(new Point3D(beelzebug.X - 5, beelzebug.Y, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icef = new IceFieldIceFlame();
                                icef.MoveToWorld(new Point3D(beelzebug.X - 5, beelzebug.Y - 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceg = new IceFieldIceFlame();
                                iceg.MoveToWorld(new Point3D(beelzebug.X - 5, beelzebug.Y + 5, beelzebug.Z), beelzebug.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceh = new IceFieldIceFlame();
                                iceh.ItemID = 0x8e1;
                                iceh.MoveToWorld(new Point3D(beelzebug.X, beelzebug.Y, beelzebug.Z + 19), beelzebug.Map);
                                m.PlaySound(0x208);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(3.0), new TimerStateCallback(DeleteBeelzebug), beelzebug);
                            }
                        }
                    }

                    // Ice Fiend Ambush 1
                    if (Utility.RandomDouble() < 0.015)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x1 = m.X + 1;
                            int y1 = m.Y + 1;
                            int z1 = Map.Tokuno.GetAverageZ(x1, y1);

                            if (Map.Tokuno.CanSpawnMobile(x1, y1, z1))
                            {
                                BaseCreature icefiend = new IceFiend();
                                icefiend.MoveToWorld(new Point3D(x1, y1, z1), Map.Tokuno);
                                icefiend.Combatant = m;
                                icefiend.PlaySound(357);

                                IceFieldIceFlame ice = new IceFieldIceFlame();
                                ice.MoveToWorld(new Point3D(icefiend.X + 5, icefiend.Y, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);


                                IceFieldIceFlame icea = new IceFieldIceFlame();
                                icea.MoveToWorld(new Point3D(icefiend.X + 5, icefiend.Y + 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceb = new IceFieldIceFlame();
                                iceb.MoveToWorld(new Point3D(icefiend.X + 5, icefiend.Y - 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icec = new IceFieldIceFlame();
                                icec.MoveToWorld(new Point3D(icefiend.X, icefiend.Y + 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iced = new IceFieldIceFlame();
                                iced.MoveToWorld(new Point3D(icefiend.X, icefiend.Y - 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icee = new IceFieldIceFlame();
                                icee.MoveToWorld(new Point3D(icefiend.X - 5, icefiend.Y, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icef = new IceFieldIceFlame();
                                icef.MoveToWorld(new Point3D(icefiend.X - 5, icefiend.Y - 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceg = new IceFieldIceFlame();
                                iceg.MoveToWorld(new Point3D(icefiend.X - 5, icefiend.Y + 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceh = new IceFieldIceFlame();
                                iceh.ItemID = 0x8e1;
                                iceh.MoveToWorld(new Point3D(icefiend.X, icefiend.Y, icefiend.Z + 19), icefiend.Map);
                                m.PlaySound(0x208);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(3.0), new TimerStateCallback(DeleteIceFiend), icefiend);
                            }
                        }
                    }

                    // Ice Fiend Ambush 2
                    if (Utility.RandomDouble() < 0.015)
                    {
                        if (m.Map == Map.Tokuno)
                        {
                            int x2 = m.X - 1;
                            int y2 = m.Y - 1;
                            int z2 = Map.Tokuno.GetAverageZ(x2, y2);

                            if (Map.Tokuno.CanSpawnMobile(x2, y2, z2))
                            {
                                BaseCreature icefiend = new IceFiend();
                                icefiend.MoveToWorld(new Point3D(x2, y2, z2), Map.Tokuno);
                                icefiend.Combatant = m;
                                icefiend.PlaySound(357);

                                IceFieldIceFlame ice = new IceFieldIceFlame();
                                ice.MoveToWorld(new Point3D(icefiend.X + 5, icefiend.Y, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);


                                IceFieldIceFlame icea = new IceFieldIceFlame();
                                icea.MoveToWorld(new Point3D(icefiend.X + 5, icefiend.Y + 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceb = new IceFieldIceFlame();
                                iceb.MoveToWorld(new Point3D(icefiend.X + 5, icefiend.Y - 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icec = new IceFieldIceFlame();
                                icec.MoveToWorld(new Point3D(icefiend.X, icefiend.Y + 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iced = new IceFieldIceFlame();
                                iced.MoveToWorld(new Point3D(icefiend.X, icefiend.Y - 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icee = new IceFieldIceFlame();
                                icee.MoveToWorld(new Point3D(icefiend.X - 5, icefiend.Y, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame icef = new IceFieldIceFlame();
                                icef.MoveToWorld(new Point3D(icefiend.X - 5, icefiend.Y - 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceg = new IceFieldIceFlame();
                                iceg.MoveToWorld(new Point3D(icefiend.X - 5, icefiend.Y + 5, icefiend.Z), icefiend.Map);
                                m.PlaySound(0x208);

                                IceFieldIceFlame iceh = new IceFieldIceFlame();
                                iceh.ItemID = 0x8e1;
                                iceh.MoveToWorld(new Point3D(icefiend.X, icefiend.Y, icefiend.Z + 19), icefiend.Map);
                                m.PlaySound(0x208);

                                AOS.Damage(m, 0, 0, 0, 0, 0, 0);
                                Timer.DelayCall(TimeSpan.FromMinutes(3.0), new TimerStateCallback(DeleteIceFiend), icefiend);
                            }
                        }
                    }
                }
            }
        }