using System; using Server; using Server.Engines.Craft; using Server.Mobiles; namespace Server.Items { [Alterable(typeof(DefTailoring), typeof(AnonsBootsGargoyle))] public class AnonsBoots : Boots { public override int LabelNumber { get { return 1156295; } } // Anon's Boots public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public AnonsBoots() { Hue = 1325; Attributes.AttackChance = -5; Attributes.DefendChance = 10; } public AnonsBoots(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 AnonsBootsGargoyle : LeatherTalons { public override int LabelNumber { get { return 1156295; } } // Anon's Boots public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public AnonsBootsGargoyle() { Hue = 1325; Attributes.AttackChance = -5; Attributes.DefendChance = 10; } public AnonsBootsGargoyle(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 AnonsSpellbook : Spellbook { public override int LabelNumber { get { return 1156344; } } public override bool IsArtifact { get { return true; } } [Constructable] public AnonsSpellbook() { LootType = LootType.Blessed; SkillBonuses.SetValues( 0, SkillName.Magery, 15.0 ); Attributes.BonusInt = 8; Attributes.SpellDamage = 15; Attributes.LowerManaCost = 10; Attributes.LowerRegCost = 10; Slayer = Utility.RandomBool() ? SlayerName.Dinosaur : SlayerName.Myrmidex; } public AnonsSpellbook(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 BalakaisShamanStaff : WildStaff { public override int LabelNumber { get { return 1156125; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public BalakaisShamanStaff() { SkillBonuses.SetValues( 0, SkillName.Meditation, 10.0 ); WeaponAttributes.MageWeapon = 30; Attributes.SpellChanneling = 1; Attributes.EnhancePotions = 25; } public BalakaisShamanStaff(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 BalakaisShamanStaffGargoyle : BaseWand { public override int LabelNumber { get { return 1156125; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public BalakaisShamanStaffGargoyle() : base(WandEffect.None, 0, 0) { SkillBonuses.SetValues( 0, SkillName.Meditation, 10.0 ); WeaponAttributes.MageWeapon = 30; Attributes.SpellChanneling = 1; Attributes.EnhancePotions = 25; } public BalakaisShamanStaffGargoyle(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 EnchantressCameo : BaseTalisman { public override int LabelNumber { get { return 1156301; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public EnchantressCameo() : base(0x2F5B) { Hue = 1645; Attributes.BonusStr = 1; Attributes.RegenHits = 2; Attributes.AttackChance = 10; Attributes.WeaponSpeed = 5; Attributes.WeaponDamage = 20; Slayer = (TalismanSlayerName)Utility.RandomList(11, 13, 14, 15, 16, 17); } public EnchantressCameo(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(); } } [Alterable(typeof(DefBlacksmithy), typeof(GrugorsShieldGargoyle))] public class GrugorsShield : WoodenShield { public override int LabelNumber { get { return 1156129; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public GrugorsShield() { SkillBonuses.SetValues( 0, SkillName.Parry, 10.0 ); Attributes.BonusStr = 10; Attributes.BonusStam = 10; Attributes.RegenHits = 5; Attributes.WeaponSpeed = 10; SetProtection(typeof(BaseEodonTribesman), new TextDefinition(1156291), 60); PhysicalBonus = 4; FireBonus = 4; ColdBonus = 4; PoisonBonus = 4; EnergyBonus = 3; } public GrugorsShield(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 GrugorsShieldGargoyle : GargishWoodenShield { public override int LabelNumber { get { return 1156129; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public GrugorsShieldGargoyle() { SkillBonuses.SetValues( 0, SkillName.Parry, 10.0 ); Attributes.BonusStr = 10; Attributes.BonusStam = 10; Attributes.RegenHits = 5; Attributes.WeaponSpeed = 10; SetProtection(typeof(BaseEodonTribesman), new TextDefinition(1156291), 60); PhysicalBonus = 4; FireBonus = 4; ColdBonus = 4; PoisonBonus = 4; EnergyBonus = 3; } public GrugorsShieldGargoyle(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(); } } [Alterable(typeof(DefBlacksmithy), typeof(HalawasHuntingBowGargoyle))] public class HalawasHuntingBow : Yumi { public override int LabelNumber { get { return 1156127; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public HalawasHuntingBow() { Slayer = SlayerName.Eodon; WeaponAttributes.HitLeechMana = 20; Velocity = 60; Attributes.AttackChance = 20; Attributes.WeaponSpeed = 45; } public HalawasHuntingBow(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(1); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version == 0 && this.WeaponAttributes.HitLeechMana != 50) this.WeaponAttributes.HitLeechMana = 50; } } public class HalawasHuntingBowGargoyle : Cyclone { public override int LabelNumber { get { return 1156127; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public HalawasHuntingBowGargoyle() { Slayer = SlayerName.Eodon; WeaponAttributes.HitLeechMana = 20; Velocity = 60; Attributes.AttackChance = 20; Attributes.WeaponSpeed = 45; } public HalawasHuntingBowGargoyle(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(1); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version == 0 && this.WeaponAttributes.HitLeechMana != 50) this.WeaponAttributes.HitLeechMana = 50; } } public class HawkwindsRobe : BaseOuterTorso, Server.Engines.Craft.IRepairable { public Server.Engines.Craft.CraftSystem RepairSystem { get { return Server.Engines.Craft.DefTailoring.CraftSystem; } } public override int LabelNumber { get { return 1156299; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public HawkwindsRobe() : base(0x7816, 0) { Attributes.RegenMana = 2; Attributes.SpellDamage = 5; Attributes.LowerManaCost = 10; Attributes.LowerRegCost = 10; } public HawkwindsRobe(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(); } } [Alterable(typeof(DefTailoring), typeof(JumusSacredHideGargoyle))] public class JumusSacredHide : FurCape { public override int LabelNumber { get { return 1156130; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public JumusSacredHide() { Attributes.SpellDamage = 5; Attributes.CastRecovery = 1; Attributes.WeaponDamage = 20; SAAbsorptionAttributes.EaterPoison = 15; Resistances.Fire = 5; } public JumusSacredHide(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 JumusSacredHideGargoyle : GargishLeatherWingArmor { public override int LabelNumber { get { return 1156130; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } public override int FireResistance { get { return 5; } } [Constructable] public JumusSacredHideGargoyle () { Attributes.SpellDamage = 5; Attributes.CastRecovery = 1; Attributes.WeaponDamage = 20; AbsorptionAttributes.EaterPoison = 15; } public JumusSacredHideGargoyle (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 JuonarsGrimoire : NecromancerSpellbook { public override int LabelNumber { get { return 1156300; } } public override bool IsArtifact { get { return true; } } [Constructable] public JuonarsGrimoire() { Hue = 2500; SkillBonuses.SetValues( 0, SkillName.Necromancy, 15.0 ); Slayer = SlayerGroup.RandomSuperSlayerTOL(); Attributes.BonusInt = 8; Attributes.SpellDamage = 15; Attributes.LowerManaCost = 10; Attributes.LowerRegCost = 10; } public JuonarsGrimoire (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(); } } [Alterable(typeof(DefBlacksmithy), typeof(LereisHuntingSpearGargoyle))] public class LereisHuntingSpear : Spear { public override int LabelNumber { get { return 1156128; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public LereisHuntingSpear() { WeaponAttributes.HitCurse = 10; Slayer = SlayerName.ReptilianDeath; WeaponAttributes.HitLeechMana = 80; Attributes.AttackChance = 20; Attributes.WeaponSpeed = 30; Attributes.WeaponDamage = 60; AosElementDamages.Poison = 100; } public LereisHuntingSpear(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(1); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version == 0 && this.WeaponAttributes.HitLeechMana != 50) this.WeaponAttributes.HitLeechMana = 50; } } public class LereisHuntingSpearGargoyle : DualPointedSpear { public override int LabelNumber { get { return 1156128; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public LereisHuntingSpearGargoyle() { WeaponAttributes.HitCurse = 10; Slayer = SlayerName.ReptilianDeath; WeaponAttributes.HitLeechMana = 80; Attributes.AttackChance = 20; Attributes.WeaponSpeed = 30; Attributes.WeaponDamage = 60; AosElementDamages.Poison = 100; } public LereisHuntingSpearGargoyle(Serial serial) : base(serial) { } public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write(1); } public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version == 0 && this.WeaponAttributes.HitLeechMana != 50) this.WeaponAttributes.HitLeechMana = 50; } } [Alterable(typeof(DefTailoring), typeof(MinaxsSandlesGargoyle))] public class MinaxsSandles : Sandals { public override int LabelNumber { get { return 1156297; } } // Minax's Sandles public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public MinaxsSandles() { Hue = 1645; Attributes.Luck = 150; Attributes.LowerManaCost = 5; Attributes.LowerRegCost = 10; switch(Utility.Random(5)) { case 0: Resistances.Physical = -3; break; case 1: Resistances.Fire = -3; break; case 2: Resistances.Cold = -3; break; case 3: Resistances.Poison = -3; break; case 4: Resistances.Energy = -3; break; } } public MinaxsSandles(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 MinaxsSandlesGargoyle : LeatherTalons { public override int LabelNumber { get { return 1156297; } } // Minax's Sandles public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public MinaxsSandlesGargoyle() { Hue = 1645; Attributes.Luck = 150; Attributes.LowerManaCost = 5; Attributes.LowerRegCost = 10; switch(Utility.Random(5)) { case 0: Resistances.Physical = -3; break; case 1: Resistances.Fire = -3; break; case 2: Resistances.Cold = -3; break; case 3: Resistances.Poison = -3; break; case 4: Resistances.Energy = -3; break; } } public MinaxsSandlesGargoyle(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(); } } [Alterable(typeof(DefTailoring), typeof(OzymandiasObiGargoyle))] public class OzymandiasObi : Obi { public override int LabelNumber { get { return 1156298; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public OzymandiasObi() { Hue = 2105; Attributes.BonusStr = 10; Attributes.BonusStam = 10; Attributes.RegenStam = 2; } public OzymandiasObi(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 OzymandiasObiGargoyle : GargoyleHalfApron { public override int LabelNumber { get { return 1156298; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public OzymandiasObiGargoyle() { Hue = 2105; Attributes.BonusStr = 10; Attributes.BonusStam = 10; Attributes.RegenStam = 2; } public OzymandiasObiGargoyle(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(); } } [Alterable(typeof(DefTailoring), typeof(ShantysWadersGargoyle))] public class ShantysWaders : ThighBoots { public override int LabelNumber { get { return 1156296; } } // Shanty's Waders public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public ShantysWaders() { Attributes.AttackChance = 10; Attributes.DefendChance = -5; } public ShantysWaders(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 ShantysWadersGargoyle : LeatherTalons { public override int LabelNumber { get { return 1156296; } } // Shanty's Waders public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public ShantysWadersGargoyle() { Attributes.AttackChance = 10; Attributes.DefendChance = -5; } public ShantysWadersGargoyle(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 TotemOfTheTribe : BaseTalisman { public override int LabelNumber { get { return 1156294; } } public override bool IsArtifact { get { return true; } } [Constructable] public TotemOfTheTribe() : base(0x2F5A) { SAAbsorptionAttributes.EaterDamage = 5; Attributes.RegenHits = 2; Attributes.AttackChance = 5; Attributes.DefendChance = 5; } public TotemOfTheTribe(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(); } } [Alterable(typeof(DefTinkering), typeof(WamapsBoneEarringsGargoyle))] public class WamapsBoneEarrings : GoldEarrings { public override int LabelNumber { get { return 1156132; } } public override bool IsArtifact { get { return true; } } [Constructable] public WamapsBoneEarrings() { Hue = 2955; switch (Utility.Random(15)) { case 0: SetProtection(typeof(BaseEodonTribesman), new TextDefinition(1156291), 40); break; case 1: SetProtection(typeof(MyrmidexLarvae), new TextDefinition(1156276), 40); break; case 2: SetProtection(typeof(SilverbackGorilla), new TextDefinition(1156292), 40); break; case 3: SetProtection(typeof(Infernus), new TextDefinition(1156278), 40); break; case 4: SetProtection(typeof(Dimetrosaur), new TextDefinition(1156279), 40); break; case 5: SetProtection(typeof(Allosaurus), new TextDefinition(1156280), 40); break; case 6: SetProtection(typeof(Gallusaurus), new TextDefinition(1156281), 40); break; case 7: SetProtection(typeof(Archaeosaurus), new TextDefinition(1156282), 40); break; case 8: SetProtection(typeof(Najasaurus), new TextDefinition(1156283), 40); break; case 9: SetProtection(typeof(Anchisaur), new TextDefinition(1156284), 40); break; case 10: SetProtection(typeof(DragonTurtleHatchling), new TextDefinition(1156285), 40); break; case 11: SetProtection(typeof(WildTiger), new TextDefinition(1156286), 40); break; case 12: SetProtection(typeof(Saurosaurus), new TextDefinition(1156289), 40); break; case 13: SetProtection(typeof(GreaterPhoenix), new TextDefinition(1156293), 40); break; case 14: SetProtection(typeof(DragonTurtle), new TextDefinition(1156238), 40); break; case 15: SetProtection(typeof(MyrmidexDrone), new TextDefinition(1156134), 40); break; case 16: SetProtection(typeof(MyrmidexWarrior), new TextDefinition(1156135), 40); break; } } public WamapsBoneEarrings(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 WamapsBoneEarringsGargoyle : GargishEarrings { public override int LabelNumber { get { return 1156132; } } public override bool IsArtifact { get { return true; } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } [Constructable] public WamapsBoneEarringsGargoyle() { Hue = 2955; switch (Utility.Random(15)) { case 0: SetProtection(typeof(BaseEodonTribesman), new TextDefinition(1156291), 40); break; case 1: SetProtection(typeof(MyrmidexLarvae), new TextDefinition(1156276), 40); break; case 2: SetProtection(typeof(SilverbackGorilla), new TextDefinition(1156292), 40); break; case 3: SetProtection(typeof(Infernus), new TextDefinition(1156278), 40); break; case 4: SetProtection(typeof(Dimetrosaur), new TextDefinition(1156279), 40); break; case 5: SetProtection(typeof(Allosaurus), new TextDefinition(1156280), 40); break; case 6: SetProtection(typeof(Gallusaurus), new TextDefinition(1156281), 40); break; case 7: SetProtection(typeof(Archaeosaurus), new TextDefinition(1156282), 40); break; case 8: SetProtection(typeof(Najasaurus), new TextDefinition(1156283), 40); break; case 9: SetProtection(typeof(Anchisaur), new TextDefinition(1156284), 40); break; case 10: SetProtection(typeof(DragonTurtleHatchling), new TextDefinition(1156285), 40); break; case 11: SetProtection(typeof(WildTiger), new TextDefinition(1156286), 40); break; case 12: SetProtection(typeof(Saurosaurus), new TextDefinition(1156289), 40); break; case 13: SetProtection(typeof(GreaterPhoenix), new TextDefinition(1156293), 40); break; case 14: SetProtection(typeof(DragonTurtle), new TextDefinition(1156238), 40); break; case 15: SetProtection(typeof(MyrmidexDrone), new TextDefinition(1156134), 40); break; case 16: SetProtection(typeof(MyrmidexWarrior), new TextDefinition(1156135), 40); break; } } public WamapsBoneEarringsGargoyle(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 UnstableTimeRift : Item { public override int LabelNumber { get { return 1156320; } } // An Unstable Time Rift [Constructable] public UnstableTimeRift() : base(14068) { } public override void OnDoubleClick(Mobile m) { if(m.InRange(GetWorldLocation(), 3)) this.LabelTo(m, 1156321); // *You peer into the Time Rift and see back to the very beginning of Time...* } public UnstableTimeRift(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(); } } [TypeAlias("Server.Items.MocapotilsObsidianSword")] public class MocapotlsObsidianSword : PaladinSword { public override int LabelNumber { get { return 1156131; } } // Moctapotl's Obsidian Sword public override bool IsArtifact { get { return true; } } public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } } [Constructable] public MocapotlsObsidianSword() { WeaponAttributes.HitHarm = 50; WeaponAttributes.HitPhysicalArea = 50; WeaponAttributes.HitLeechStam = 100; WeaponAttributes.SplinteringWeapon = 20; Attributes.WeaponSpeed = 40; Attributes.WeaponDamage = 75; Hue = 1932; } public MocapotlsObsidianSword(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(); } } }