public override void OnRemoved(object parent)
        {
            if (parent is Mobile)
            {
                Mobile m = ( Mobile )parent;
                Hue = 0x0;
                ArmorAttributes.SelfRepair = 0;
                PhysicalBonus = 0;
                FireBonus     = 0;
                ColdBonus     = 0;
                PoisonBonus   = 0;
                EnergyBonus   = 0;
                if (m.FindItemOnLayer(Layer.Helm) is DeathEssenceHelm && m.FindItemOnLayer(Layer.InnerTorso) is DeathEssenceChest && m.FindItemOnLayer(Layer.Gloves) is DeathEssenceGloves && m.FindItemOnLayer(Layer.Pants) is DeathEssenceLegs)
                {
                    DeathEssenceChest chest = m.FindItemOnLayer(Layer.InnerTorso) as DeathEssenceChest;
                    chest.Hue = 0x0;
                    chest.SkillBonuses.SetValues(0, SkillName.Necromancy, 0.0);
                    chest.Attributes.LowerManaCost   = 0;
                    chest.ArmorAttributes.SelfRepair = 0;
                    chest.PhysicalBonus = 0;
                    chest.FireBonus     = 0;
                    chest.ColdBonus     = 0;
                    chest.PoisonBonus   = 0;
                    chest.EnergyBonus   = 0;

                    DeathEssenceGloves gloves = m.FindItemOnLayer(Layer.Gloves) as DeathEssenceGloves;
                    gloves.Hue = 0x0;
                    gloves.ArmorAttributes.SelfRepair = 0;
                    gloves.PhysicalBonus = 0;
                    gloves.FireBonus     = 0;
                    gloves.ColdBonus     = 0;
                    gloves.PoisonBonus   = 0;
                    gloves.EnergyBonus   = 0;

                    DeathEssenceLegs legs = m.FindItemOnLayer(Layer.Pants) as DeathEssenceLegs;
                    legs.Hue = 0x0;
                    legs.ArmorAttributes.SelfRepair = 0;

                    legs.PhysicalBonus = 0;
                    legs.FireBonus     = 0;
                    legs.ColdBonus     = 0;
                    legs.PoisonBonus   = 0;
                    legs.EnergyBonus   = 0;

                    DeathEssenceHelm helmet = m.FindItemOnLayer(Layer.Helm) as DeathEssenceHelm;
                    helmet.Hue = 0x0;
                    helmet.ArmorAttributes.SelfRepair = 0;

                    helmet.PhysicalBonus = 0;
                    helmet.FireBonus     = 0;
                    helmet.ColdBonus     = 0;
                    helmet.PoisonBonus   = 0;
                    helmet.EnergyBonus   = 0;
                }
                this.InvalidateProperties();
            }
            base.OnRemoved(parent);
        }
        public override bool OnEquip(Mobile from)
        {
            Item shirt = from.FindItemOnLayer(Layer.InnerTorso);
            Item glove = from.FindItemOnLayer(Layer.Gloves);
            Item arms  = from.FindItemOnLayer(Layer.Arms);
            Item helm  = from.FindItemOnLayer(Layer.Helm);

            if (helm != null && helm.GetType() == typeof(DeathEssenceHelm) && shirt != null && shirt.GetType() == typeof(DeathEssenceChest) && glove != null && glove.GetType() == typeof(DeathEssenceGloves) && arms != null && arms.GetType() == typeof(DeathEssenceArms))
            {
                Effects.PlaySound(from.Location, from.Map, 503);
                from.FixedParticles(0x376A, 9, 32, 5030, EffectLayer.Waist);

                Hue = 0x455;
                ArmorAttributes.SelfRepair = 3;
                PhysicalBonus = 4;
                FireBonus     = 5;
                ColdBonus     = 3;
                PoisonBonus   = 4;
                EnergyBonus   = 4;


                DeathEssenceChest  chest  = from.FindItemOnLayer(Layer.InnerTorso) as DeathEssenceChest;
                DeathEssenceGloves gloves = from.FindItemOnLayer(Layer.Gloves) as DeathEssenceGloves;
                DeathEssenceArms   arm    = from.FindItemOnLayer(Layer.Arms) as DeathEssenceArms;
                DeathEssenceHelm   helmet = from.FindItemOnLayer(Layer.Helm) as DeathEssenceHelm;

                chest.Hue = 0x455;
                chest.SkillBonuses.SetValues(0, SkillName.Necromancy, 10.0);
                chest.Attributes.LowerManaCost   = 10;
                chest.ArmorAttributes.SelfRepair = 3;
                chest.PhysicalBonus = 4;
                chest.FireBonus     = 5;
                chest.ColdBonus     = 3;
                chest.PoisonBonus   = 4;
                chest.EnergyBonus   = 4;

                gloves.Hue = 0x455;
                gloves.ArmorAttributes.SelfRepair = 3;
                gloves.PhysicalBonus = 4;
                gloves.FireBonus     = 5;
                gloves.ColdBonus     = 3;
                gloves.PoisonBonus   = 4;
                gloves.EnergyBonus   = 4;

                arm.Hue = 0x455;
                arm.ArmorAttributes.SelfRepair = 3;
                arm.PhysicalBonus = 4;
                arm.FireBonus     = 5;
                arm.ColdBonus     = 3;
                arm.PoisonBonus   = 4;
                arm.EnergyBonus   = 4;

                helmet.Hue = 0x455;
                helmet.ArmorAttributes.SelfRepair = 3;
                helmet.PhysicalBonus = 4;
                helmet.FireBonus     = 5;
                helmet.ColdBonus     = 3;
                helmet.PoisonBonus   = 4;
                helmet.EnergyBonus   = 4;

                from.SendLocalizedMessage(1072391);
            }
            this.InvalidateProperties();
            return(base.OnEquip(from));
        }