context: using System;
  using Server.Engines.Craft;
  
  namespace Server.Items
  {
      public class GargishClothArmsArmor : BaseArmor
      {
          [Constructable]
          public GargishClothArmsArmor() : this(0)
          {
          }
  
          [Constructable]
          public GargishClothArmsArmor(int hue)
              : base(0x0404)
          {
              Hue = hue;
              this.Weight = 2.0;
          }
  
          public override Race RequiredRace
          {
              get
              {
                  return Race.Gargoyle;
              }
          }
  
          public override bool CanBeWornByGargoyles
          {
              get
              {
                  return true;
              }
          }
  
          public override void OnAdded(object parent)
          {
              base.OnAdded(parent);
  
              if (parent is Mobile)
              {
                  if (((Mobile)parent).Female)
                      this.ItemID = 0x0403;
                  else
                      this.ItemID = 0x0404;
              }
          }
  
          public GargishClothArmsArmor(Serial serial)
              : base(serial)
          {
          }
  
          public override int BasePhysicalResistance
          {
              get
              {
                  return 5;
              }
          }
          public override int BaseFireResistance
          {
              get
              {
                  return 7;
              }
          }
          public override int BaseColdResistance
          {
              get
              {
                  return 6;
              }
          }
          public override int BasePoisonResistance
          {
              get
              {
                  return 6;
              }
          }
          public override int BaseEnergyResistance
          {
              get
              {
                  return 6;
              }
          }
          public override int InitMinHits
          {
              get
              {
                  return 40;
              }
          }
          public override int InitMaxHits
          {
              get
              {
                  return 50;
              }
          }
          public override int AosStrReq
          {
              get
              {
                  return 20;
              }
          }
          public override int OldStrReq
          {
              get
              {
                  return 20;
              }
          }
          public override int ArmorBase
          {
              get
              {
                  return 18;
              }
          }
          public override ArmorMaterialType MaterialType
          {
              get
              {
                  return ArmorMaterialType.Leather;
              }
          }
          public override CraftResource DefaultResource
          {
              get
              {
                  return CraftResource.None;
              }
          }
          public override ArmorMeditationAllowance DefMedAllowance
          {
              get
              {
                  return ArmorMeditationAllowance.All;
              }
          }
  
          public override int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue)
          {
              return base.OnCraft(quality, makersMark, from, craftSystem, null, tool, craftItem, resHue);
          }
  
          public override void Serialize(GenericWriter writer)
          {
              base.Serialize(writer);
              writer.Write((int)0);
          }
  
          public override void Deserialize(GenericReader reader)
          {
              base.Deserialize(reader);
              int version = reader.ReadInt();
          }
      }
  
      public class GargishClothChestArmor : BaseArmor
      {
          [Constructable]
          public GargishClothChestArmor()
              : this(0)
          {
          }
  
          [Constructable]
          public GargishClothChestArmor(int hue)
              : base(0x0406)
          {
              Hue = hue;
              this.Weight = 2.0;
          }
  
          public override Race RequiredRace
          {
              get
              {
                  return Race.Gargoyle;
              }
          }
  
          public override bool CanBeWornByGargoyles
          {
              get
              {
                  return true;
              }
          }
  
          public override void OnAdded(object parent)
          {
              base.OnAdded(parent);
  
              if (parent is Mobile)
              {
                  if (((Mobile)parent).Female)
                      this.ItemID = 0x0405;
                  else
                      this.ItemID = 0x0406;
              }
          }
  
          public GargishClothChestArmor(Serial serial)
              : base(serial)
          {
          }
  
          public override int BasePhysicalResistance
          {
              get
              {
                  return 5;
              }
          }
          public override int BaseFireResistance
          {
              get
              {
                  return 7;
              }
          }
          public override int BaseColdResistance
          {
              get
              {
                  return 6;
              }
          }
          public override int BasePoisonResistance
          {
              get
              {
                  return 6;
              }
          }
          public override int BaseEnergyResistance
          {
              get
              {
                  return 6;
              }
          }
          public override int InitMinHits
          {
              get
              {
                  return 40;
              }
          }
          public override int InitMaxHits
          {
              get
              {
                  return 50;
              }
          }
          public override int AosStrReq
          {
              get
              {
                  return 25;
              }
          }
          public override int OldStrReq
          {
              get
              {
                  return 25;
              }
          }
          public override int ArmorBase
          {
              get
              {
                  return 18;
              }
          }
          public override ArmorMaterialType MaterialType
          {
              get
              {
                  return ArmorMaterialType.Leather;
              }
          }
          public override CraftResource DefaultResource
          {
              get
              {
                  return CraftResource.None;
              }
          }
          public override ArmorMeditationAllowance DefMedAllowance
          {
              get
              {
                  return ArmorMeditationAllowance.All;
              }
          }
  
          public override int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue)
          {
              return base.OnCraft(quality, makersMark, from, craftSystem, null, tool, craftItem, resHue);
          }
  
          public override void Serialize(GenericWriter writer)
          {
              base.Serialize(writer);
              writer.Write((int)0);
          }
  
          public override void Deserialize(GenericReader reader)
          {
              base.Deserialize(reader);
  
gt:             int version = reader.ReadInt();