#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.
This commit is contained in:
parent
b51c58f514
commit
3045c83799
3512 changed files with 627673 additions and 0 deletions
78
Scripts/Mobiles/Monsters/Ore Elementals/AgapiteElemental.cs
Normal file
78
Scripts/Mobiles/Monsters/Ore Elementals/AgapiteElemental.cs
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class AgapiteElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public AgapiteElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public AgapiteElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "an agapite elemental";
|
||||
Body = 107;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 28 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 30, 40 );
|
||||
SetResistance( ResistanceType.Fire, 40, 50 );
|
||||
SetResistance( ResistanceType.Cold, 40, 50 );
|
||||
SetResistance( ResistanceType.Poison, 30, 40 );
|
||||
SetResistance( ResistanceType.Energy, 10, 20 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 3500;
|
||||
Karma = -3500;
|
||||
|
||||
VirtualArmor = 32;
|
||||
|
||||
Item ore = new AgapiteOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
|
||||
public AgapiteElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
80
Scripts/Mobiles/Monsters/Ore Elementals/BronzeElemental.cs
Normal file
80
Scripts/Mobiles/Monsters/Ore Elementals/BronzeElemental.cs
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class BronzeElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public BronzeElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public BronzeElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
// TODO: Gas attack
|
||||
Name = "a bronze elemental";
|
||||
Body = 108;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 9, 16 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 30 );
|
||||
SetDamageType( ResistanceType.Fire, 70 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 30, 40 );
|
||||
SetResistance( ResistanceType.Fire, 30, 40 );
|
||||
SetResistance( ResistanceType.Cold, 10, 20 );
|
||||
SetResistance( ResistanceType.Poison, 70, 80 );
|
||||
SetResistance( ResistanceType.Energy, 20, 30 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 5000;
|
||||
Karma = -5000;
|
||||
|
||||
VirtualArmor = 29;
|
||||
|
||||
Item ore = new BronzeOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
|
||||
public BronzeElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
83
Scripts/Mobiles/Monsters/Ore Elementals/CopperElemental.cs
Normal file
83
Scripts/Mobiles/Monsters/Ore Elementals/CopperElemental.cs
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class CopperElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public CopperElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public CopperElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a copper elemental";
|
||||
Body = 109;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 9, 16 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 30, 40 );
|
||||
SetResistance( ResistanceType.Fire, 30, 40 );
|
||||
SetResistance( ResistanceType.Cold, 30, 40 );
|
||||
SetResistance( ResistanceType.Poison, 20, 30 );
|
||||
SetResistance( ResistanceType.Energy, 10, 20 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 4800;
|
||||
Karma = -4800;
|
||||
|
||||
VirtualArmor = 26;
|
||||
|
||||
Item ore = new CopperOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
|
||||
public override void CheckReflect( Mobile caster, ref bool reflect )
|
||||
{
|
||||
reflect = true; // Every spell is reflected back to the caster
|
||||
}
|
||||
|
||||
public CopperElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class DullCopperElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public DullCopperElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DullCopperElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a dull copper elemental";
|
||||
Body = 110;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 9, 16 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 30, 40 );
|
||||
SetResistance( ResistanceType.Fire, 30, 40 );
|
||||
SetResistance( ResistanceType.Cold, 10, 20 );
|
||||
SetResistance( ResistanceType.Poison, 20, 30 );
|
||||
SetResistance( ResistanceType.Energy, 20, 30 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 3500;
|
||||
Karma = -3500;
|
||||
|
||||
VirtualArmor = 20;
|
||||
|
||||
Item ore = new DullCopperOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
|
||||
public DullCopperElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
78
Scripts/Mobiles/Monsters/Ore Elementals/GoldenElemental.cs
Normal file
78
Scripts/Mobiles/Monsters/Ore Elementals/GoldenElemental.cs
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class GoldenElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public GoldenElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public GoldenElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a golden elemental";
|
||||
Body = 166;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 9, 16 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 60, 75 );
|
||||
SetResistance( ResistanceType.Fire, 10, 20 );
|
||||
SetResistance( ResistanceType.Cold, 30, 40 );
|
||||
SetResistance( ResistanceType.Poison, 30, 40 );
|
||||
SetResistance( ResistanceType.Energy, 30, 40 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 3500;
|
||||
Karma = -3500;
|
||||
|
||||
VirtualArmor = 60;
|
||||
|
||||
Item ore = new GoldOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
|
||||
public GoldenElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
101
Scripts/Mobiles/Monsters/Ore Elementals/ShadowIronElemental.cs
Normal file
101
Scripts/Mobiles/Monsters/Ore Elementals/ShadowIronElemental.cs
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class ShadowIronElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public ShadowIronElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ShadowIronElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a shadow iron elemental";
|
||||
Body = 111;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 9, 16 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 30, 40 );
|
||||
SetResistance( ResistanceType.Fire, 30, 40 );
|
||||
SetResistance( ResistanceType.Cold, 20, 30 );
|
||||
SetResistance( ResistanceType.Poison, 10, 20 );
|
||||
SetResistance( ResistanceType.Energy, 30, 40 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 4500;
|
||||
Karma = -4500;
|
||||
|
||||
VirtualArmor = 23;
|
||||
|
||||
Item ore = new ShadowIronOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
|
||||
public override bool BreathImmune{ get{ return true; } }
|
||||
|
||||
public override void AlterMeleeDamageFrom( Mobile from, ref int damage )
|
||||
{
|
||||
if ( from is BaseCreature )
|
||||
{
|
||||
BaseCreature bc = (BaseCreature)from;
|
||||
|
||||
if ( bc.Controlled || bc.BardTarget == this )
|
||||
damage = 0; // Immune to pets and provoked creatures
|
||||
}
|
||||
}
|
||||
|
||||
public override void AlterDamageScalarFrom( Mobile caster, ref double scalar )
|
||||
{
|
||||
scalar = 0.0; // Immune to magic
|
||||
}
|
||||
|
||||
public override void AlterSpellDamageFrom( Mobile from, ref int damage )
|
||||
{
|
||||
damage = 0;
|
||||
}
|
||||
|
||||
public ShadowIronElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
98
Scripts/Mobiles/Monsters/Ore Elementals/ValoriteElemental.cs
Normal file
98
Scripts/Mobiles/Monsters/Ore Elementals/ValoriteElemental.cs
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class ValoriteElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public ValoriteElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ValoriteElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
// TODO: Gas attack
|
||||
Name = "a valorite elemental";
|
||||
Body = 112;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 28 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 25 );
|
||||
SetDamageType( ResistanceType.Fire, 25 );
|
||||
SetDamageType( ResistanceType.Cold, 25 );
|
||||
SetDamageType( ResistanceType.Energy, 25 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 65, 75 );
|
||||
SetResistance( ResistanceType.Fire, 50, 60 );
|
||||
SetResistance( ResistanceType.Cold, 50, 60 );
|
||||
SetResistance( ResistanceType.Poison, 50, 60 );
|
||||
SetResistance( ResistanceType.Energy, 40, 50 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 3500;
|
||||
Karma = -3500;
|
||||
|
||||
VirtualArmor = 38;
|
||||
|
||||
Item ore = new ValoriteOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.FilthyRich );
|
||||
AddLoot( LootPack.Gems, 4 );
|
||||
}
|
||||
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
|
||||
public override void AlterMeleeDamageFrom( Mobile from, ref int damage )
|
||||
{
|
||||
if ( from is BaseCreature )
|
||||
{
|
||||
BaseCreature bc = (BaseCreature)from;
|
||||
|
||||
if ( bc.Controlled || bc.BardTarget == this )
|
||||
damage = 0; // Immune to pets and provoked creatures
|
||||
}
|
||||
}
|
||||
|
||||
public override void CheckReflect( Mobile caster, ref bool reflect )
|
||||
{
|
||||
reflect = true; // Every spell is reflected back to the caster
|
||||
}
|
||||
|
||||
public ValoriteElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
79
Scripts/Mobiles/Monsters/Ore Elementals/VeriteElemental.cs
Normal file
79
Scripts/Mobiles/Monsters/Ore Elementals/VeriteElemental.cs
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "an ore elemental corpse" )]
|
||||
public class VeriteElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public VeriteElemental() : this( 2 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public VeriteElemental( int oreAmount ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a verite elemental";
|
||||
Body = 113;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr( 226, 255 );
|
||||
SetDex( 126, 145 );
|
||||
SetInt( 71, 92 );
|
||||
|
||||
SetHits( 136, 153 );
|
||||
|
||||
SetDamage( 9, 16 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 50 );
|
||||
SetDamageType( ResistanceType.Energy, 50 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 30, 40 );
|
||||
SetResistance( ResistanceType.Fire, 10, 20 );
|
||||
SetResistance( ResistanceType.Cold, 50, 60 );
|
||||
SetResistance( ResistanceType.Poison, 50, 60 );
|
||||
SetResistance( ResistanceType.Energy, 50, 60 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 50.1, 95.0 );
|
||||
SetSkill( SkillName.Tactics, 60.1, 100.0 );
|
||||
SetSkill( SkillName.Wrestling, 60.1, 100.0 );
|
||||
|
||||
Fame = 3500;
|
||||
Karma = -3500;
|
||||
|
||||
VirtualArmor = 35;
|
||||
|
||||
Item ore = new VeriteOre( oreAmount );
|
||||
ore.ItemID = 0x19B9;
|
||||
PackItem( ore );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
|
||||
public VeriteElemental( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue