using System; using System.Linq; using Server.Mobiles; namespace Server.Items { public class HelmOfVillainousEpiphany : DragonHelm, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150253; } } // Helm of Villainous Epiphany [Constructable] public HelmOfVillainousEpiphany() { Resource = CraftResource.None; Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public HelmOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class GorgetOfVillainousEpiphany : PlateGorget, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150254; } } // Gorget of Villainous Epiphany [Constructable] public GorgetOfVillainousEpiphany() { Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public GorgetOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class BreastplateOfVillainousEpiphany : DragonChest, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150255; } } // Breastplate of Villainous Epiphany [Constructable] public BreastplateOfVillainousEpiphany() { Resource = CraftResource.None; Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public BreastplateOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class ArmsOfVillainousEpiphany : DragonArms, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150256; } } // Arms of Villainous Epiphany [Constructable] public ArmsOfVillainousEpiphany() { Resource = CraftResource.None; Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public ArmsOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class GauntletsOfVillainousEpiphany : DragonGloves, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150257; } } // Gauntlets of Villainous Epiphany [Constructable] public GauntletsOfVillainousEpiphany() { Resource = CraftResource.None; Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public GauntletsOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class LegsOfVillainousEpiphany : DragonLegs, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150258; } } // Leggings of Villainous Epiphany [Constructable] public LegsOfVillainousEpiphany() { Resource = CraftResource.None; Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public LegsOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class KiltOfVillainousEpiphany : GargishPlateKilt, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150263; } } // Kilt of Villainous Epiphany [Constructable] public KiltOfVillainousEpiphany() { Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public KiltOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class EarringsOfVillainousEpiphany : GargishEarrings, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150260; } } // Earrings of Villainous Epiphany [Constructable] public EarringsOfVillainousEpiphany() { Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public EarringsOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class GargishBreastplateOfVillainousEpiphany : GargishPlateChest, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150255; } } // Breastplate of Villainous Epiphany [Constructable] public GargishBreastplateOfVillainousEpiphany() { Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public GargishBreastplateOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class GargishArmsOfVillainousEpiphany : GargishPlateArms, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150256; } } // Arms of Villainous Epiphany [Constructable] public GargishArmsOfVillainousEpiphany() { Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public GargishArmsOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class NecklaceOfVillainousEpiphany : GargishNecklace, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150264; } } // Necklace of Villainous Epiphany [Constructable] public NecklaceOfVillainousEpiphany() { Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public NecklaceOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } public class GargishLegsOfVillainousEpiphany : GargishPlateLegs, IEpiphanyArmor { public Alignment Alignment { get { return Alignment.Evil; } } public SurgeType Type { get { return SurgeType.Mana; } } public int Frequency { get { return EpiphanyHelper.GetFrequency(Parent as Mobile, this); } } public int Bonus { get { return EpiphanyHelper.GetBonus(Parent as Mobile, this); } } public override int LabelNumber { get { return 1150258; } } // Legs of Villainous Epiphany [Constructable] public GargishLegsOfVillainousEpiphany() { Hue = 1778; ArmorAttributes.MageArmor = 1; } public override void AddWeightProperty(ObjectPropertyList list) { base.AddWeightProperty(list); EpiphanyHelper.AddProperties(this, list); } public override bool OnEquip(Mobile from) { bool canEquip = base.OnEquip(from); if (canEquip) { foreach (var armor in from.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } return canEquip; } public override void OnRemoved(object parent) { base.OnRemoved(parent); if (parent is Mobile) { var m = (Mobile)parent; foreach (var armor in m.Items.Where(i => i is IEpiphanyArmor)) { armor.InvalidateProperties(); } } } public GargishLegsOfVillainousEpiphany(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(0); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); } } }