context: /*
   created by:
       /\            888                   888     .d8888b.   .d8888b.  
  ____/_ \____       888                   888    d88P  Y88b d88P  Y88b 
  \  ___\ \  /       888                   888    888    888 888    888 
   \/ /  \/ /    .d88888  8888b.   8888b.  888888 Y88b. d888 Y88b. d888 
   / /\__/_/\   d88" 888     "88b     "88b 888     "Y888P888  "Y888P888 
  /__\ \_____\  888  888 .d888888 .d888888 888           888        888 
      \  /      Y88b 888 888  888 888  888 Y88b.  Y88b  d88P Y88b  d88P 
       \/        "Y88888 "Y888888 "Y888888  "Y888  "Y8888P"   "Y8888P"  
  */
  using Server.Items;
  
  namespace Server.Mobiles
  {
  	[CorpseName( "an ore elemental corpse" )]
  	public class DullCopperOreElemental : BaseCreature
  	{
  		[Constructable]
  		public DullCopperOreElemental() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
  		{
  			Name = "a dull copper ore elemental";
  			Body = 110;
  			BaseSoundID = 268;
  			Hue = 0x973;
  
  			SetStr( 150, 200 );
  			SetDex( 100, 120 );
  			SetInt( 50, 60 );
  
  			SetHits( 100, 120 );
  
  			SetDamage( 5, 10 );
  
  			SetDamageType( ResistanceType.Physical, 10 );
  			SetDamageType( ResistanceType.Poison, 5 );
  			SetDamageType( ResistanceType.Fire, 5 );
  			SetDamageType( ResistanceType.Cold, 5 );
  			SetDamageType( ResistanceType.Energy, 5 );
  
  			SetResistance( ResistanceType.Physical, 10, 20 );
  			SetResistance( ResistanceType.Fire, 5, 10 );
  			SetResistance( ResistanceType.Cold, 5, 10 );
  			SetResistance( ResistanceType.Poison, 5, 10 );
  			SetResistance( ResistanceType.Energy, 5, 10 );
  
  			SetSkill( SkillName.MagicResist, 10.0 );
  			SetSkill( SkillName.Tactics, 50.0 );
  			SetSkill( SkillName.Wrestling, 50.0 );
  
  			Fame = 500;
  			Karma = -500;
  
  			VirtualArmor = 5;
  
  			PackGem();
  			PackGem();
  			PackItem( new DullCopperOre( 10 ) );
  		}
  
          public override int TreasureMapLevel
          {
              get
              {
                  return 2;
              }
          }
  		
          public override bool BleedImmune
          {
              get
              {
                  return true;
              }
          }
  		
          public override double DispelFocus
          {
              get
              {
                  return 45.0;
              }
          }
  		
          public override double DispelDifficulty
          {
              get
              {
                  return 117.5;
              }
          }
  		
          public override void GenerateLoot()
          {
              this.AddLoot(LootPack.Average);
              this.AddLoot(LootPack.Meager);
              //this.//AddLoot(LootPack.LowScrolls);
              //this.//AddLoot(LootPack.MedScrolls);
          }
  
  		public DullCopperOreElemental( Serial serial ) : base( serial )
  		{
  		}
  
  		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();
  		}
  	}
  	
  	[CorpseName( "an ore elemental corpse" )]
  	public class ShadowIronOreElemental : BaseCreature
  	{
  		[Constructable]
  		public ShadowIronOreElemental() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
  		{
  			Name = "a shadow iron ore elemental";
  			Body = 111;
  			BaseSoundID = 268;
  			Hue = 0x966;
  
  			SetStr( 160, 210 );
  			SetDex( 110, 130 );
  			SetInt( 60, 70 );
  
  			SetHits( 110, 130 );
  
  			SetDamage( 10, 15 );
  
  			SetDamageType( ResistanceType.Physical, 15 );
  			SetDamageType( ResistanceType.Poison, 10 );
  			SetDamageType( ResistanceType.Fire, 10 );
  			SetDamageType( ResistanceType.Cold, 10 );
  			SetDamageType( ResistanceType.Energy, 10 );
  
  			SetResistance( ResistanceType.Physical, 15, 25 );
  			SetResistance( ResistanceType.Fire, 10, 15 );
  			SetResistance( ResistanceType.Cold, 10, 15 );
  			SetResistance( ResistanceType.Poison, 10, 15 );
  			SetResistance( ResistanceType.Energy, 10, 15 );
  
  			SetSkill( SkillName.MagicResist, 15.0 );
  			SetSkill( SkillName.Tactics, 55.0 );
  			SetSkill( SkillName.Wrestling, 55.0 );
  
  			Fame = 1000;
  			Karma = -1000;
  
  			VirtualArmor = 10;
  
  			PackGem();
  			PackGem();
  			PackItem( new ShadowIronOre( 10 ) );
  		}
  
          public override int TreasureMapLevel
          {
              get
              {
                  return 2;
              }
          }
  		
          public override bool BleedImmune
          {
              get
              {
                  return true;
              }
          }
  		
          public override double DispelFocus
          {
              get
              {
                  return 45.0;
              }
          }
  		
          public override double DispelDifficulty
          {
              get
              {
                  return 117.5;
              }
          }
  		
          public override void GenerateLoot()
          {
              this.AddLoot(LootPack.Average);
              this.AddLoot(LootPack.Meager);
              //this.//AddLoot(LootPack.LowScrolls);
              //this.//AddLoot(LootPack.MedScrolls);
          }
  
  		public ShadowIronOreElemental( Serial serial ) : base( serial )
  		{
  		}
  
  		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();
  		}
  	}
  	
  	[CorpseName( "an ore elemental corpse" )]
  	public class CopperOreElemental : BaseCreature
  	{
  		[Constructable]
  		public CopperOreElemental() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
  		{
  			Name = "a copper ore elemental";
  			Body = 109;
  			BaseSoundID = 268;
  			Hue = 0x96D;
  
  			SetStr( 170, 220 );
  			SetDex( 120, 140 );
  			SetInt( 70, 80 );
  
  			SetHits( 120, 140 );
  
  			SetDamage( 15, 20 );
  
  			SetDamageType( ResistanceType.Physical, 20 );
  			SetDamageType( ResistanceType.Poison, 15 );
  			SetDamageType( ResistanceType.Fire, 15 );
  			SetDamageType( ResistanceType.Cold, 15 );
  			SetDamageType( ResistanceType.Energy, 15 );
  
  			SetResistance( ResistanceType.Physical, 20, 30 );
  			SetResistance( ResistanceType.Fire, 15, 20 );
  			SetResistance( ResistanceType.Cold, 15, 20 );
  			SetResistance( ResistanceType.Poison, 15, 20 );
  			SetResistance( ResistanceType.Energy, 15, 20 );
  
  			SetSkill( SkillName.MagicResist, 20.0 );
  			SetSkill( SkillName.Tactics, 60.0 );
  			SetSkill( SkillName.Wrestling, 60.0 );
  
  			Fame = 1500;
  			Karma = -1500;
  
  			VirtualArmor = 15;
  
  			PackGem();
  			PackGem();
  			PackItem( new CopperOre( 10 ) );
  		}
  
          public override int TreasureMapLevel
          {
              get
              {
                  return 2;
              }
          }
  		
          public override bool BleedImmune
          {
              get
              {
                  return true;
              }
          }
  		
          public override double DispelFocus
          {
              get
              {
                  return 45.0;
              }
          }
  		
          public override double DispelDifficulty
          {
              get
              {
                  return 117.5;
              }
          }
  		
          public override void GenerateLoot()
          {
              this.AddLoot(LootPack.Average);
              this.AddLoot(LootPack.Meager);
              //this.//AddLoot(LootPack.LowScrolls);
              //this.//AddLoot(LootPack.MedScrolls);
          }
  
  		public CopperOreElemental( Serial serial ) : base( serial )
  		{
  		}
  
  		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();
  		}
  	}
  
  	[CorpseName( "an ore elemental corpse" )]
  	public class BronzeOreElemental : BaseCreature
  	{
  		[Constructable]
  		public BronzeOreElemental() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
  		{
  			Name = "a bronze ore elemental";
  			Body = 108;
  			BaseSoundID = 268;
  			Hue = 0x972;
  
  			SetStr( 180, 230 );
  			SetDex( 130, 150 );
  			SetInt( 80, 90 );
  
  			SetHits( 130, 150 );
  
  			SetDamage( 20, 25 );
  
  			SetDamageType( ResistanceType.Physical, 25 );
  			SetDamageType( ResistanceType.Poison, 20 );
  			SetDamageType( ResistanceType.Fire, 20 );
  			SetDamageType( ResistanceType.Cold, 20 );
  			SetDamageType( ResistanceType.Energy, 20 );
  
  			SetResistance( ResistanceType.Physical, 25, 35 );
  			SetResistance( ResistanceType.Fire, 20, 25 );
  			SetResistance( ResistanceType.Cold, 20, 25 );
  			SetResistance( ResistanceType.Poison, 20, 25 );
  			SetResistance( ResistanceType.Energy, 20, 25 );
  
  			SetSkill( SkillName.MagicResist, 25.0 );
  			SetSkill( SkillName.Tactics, 65.0 );
  			SetSkill( SkillName.Wrestling, 65.0 );
  
  			Fame = 2000;
  			Karma = -2000;
  
  			VirtualArmor = 20;
  
  			PackGem();
  			PackGem();
  			PackItem( new BronzeOre( 10 ) );
  		}
  
          public override int TreasureMapLevel
          {
              get
              {
                  return 2;
              }
          }
  		
          public override bool BleedImmune
          {
              get
              {
                  return true;
              }
          }
  		
          public override double DispelFocus
          {
              get
              {
                  return 45.0;
              }
          }
  		
          public override double DispelDifficulty
          {
              get
              {
                  return 117.5;
              }
          }
  		
          public override void GenerateLoot()
          {
              this.AddLoot(LootPack.Average);
              this.AddLoot(LootPack.Meager);
              //this.//AddLoot(LootPack.LowScrolls);
              //this.//AddLoot(LootPack.MedScrolls);
          }
  
  		public BronzeOreElemental( Serial serial ) : base( serial )
  		{
  		}
  
  		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();
  		}
  	}
  
  	[CorpseName( "an ore elemental corpse" )]
  	public class GoldenOreElemental : BaseCreature
  	{
  		[Constructable]
  		public GoldenOreElemental() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
  		{
  			Name = "a gold ore elemental";
  			Body = 166;
  			BaseSoundID = 268;
  			Hue = 0x8A5;
  
  			SetStr( 190, 240 );
  			SetDex( 140, 160 );
  			SetInt( 90, 100 );
  
  			SetHits( 140, 160 );
  
  			SetDamage( 25, 30 );
  
  			SetDamageType( ResistanceType.Physical, 30 );
  			SetDamageType( ResistanceType.Poison, 25 );
  			SetDamageType( ResistanceType.Energy, 25 );
  			SetDamageType( ResistanceType.Fire, 25 );
  			SetDamageType( ResistanceType.Cold, 25 );
  
  			SetResistance( ResistanceType.Physical, 30, 40 );
  			SetResistance( ResistanceType.Poison, 25, 30 );
  			SetResistance( ResistanceType.Energy, 25, 30 );
  			SetResistance( ResistanceType.Fire, 25, 30 );
  			SetResistance( ResistanceType.Cold, 25, 30 );
  
  			SetSkill( SkillName.MagicResist, 30.0 );
  			SetSkill( SkillName.Wrestling, 70.0 );
  			SetSkill( SkillName.Tactics, 70.0 );
  
  			Fame = 2500;
  			Karma = -2500;
  
  			VirtualArmor = 25;
  
  			PackGem();
  			PackGem();
  			PackItem( new GoldOre( 10 ) );
  		}
  
          public override int TreasureMapLevel
          {
              get
              {
                  return 2;
              }
          }
  		
          public override bool BleedImmune
          {
              get
              {
                  return true;
              }
          }
  		
          public override double DispelFocus
          {
              get
              {
                  return 45.0;
              }
          }
  		
          public override double DispelDifficulty
          {
              get
              {
                  return 117.5;
              }
          }
  		
          public override void GenerateLoot()
          {
              this.AddLoot(LootPack.Average);
              this.AddLoot(LootPack.Meager);
              //this.//AddLoot(LootPack.LowScrolls);
              //this.//AddLoot(LootPack.MedScrolls);
          }
  
  		public GoldenOreElemental( Serial serial ) : base( serial )
  		{
  		}
  
  		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();
  		}
  	}
  
  	[CorpseName( "an ore elemental corpse" )]
  	public class AgapiteOreElemental : BaseCreature
  	{
  		[Constructable]
  		public AgapiteOreElemental() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
  		{
  			Name = "an agapite ore elemental";
  			Body = 107;
  			BaseSoundID = 268;
  			Hue = 0x979;
  
  			SetStr( 200, 250 );
  			SetDex( 150, 170 );
  			SetInt( 100, 110 );
  
  			SetHits( 150, 170 );
  
  			SetDamage( 30, 35 );
  
  			SetDamageType( ResistanceType.Physical, 35 );
  			SetDamageType( ResistanceType.Poison, 30 );
  			SetDamageType( ResistanceType.Energy, 30 );
  
gt: 			SetDamageType( ResistanceType.Fire, 30 );