#W# Initial Commit: Avatars Conquest

This commit is contained in:
WarrentyExpired 2026-07-03 20:19:48 -04:00
commit 8eae46895e
7512 changed files with 416187 additions and 0 deletions

View file

@ -0,0 +1,91 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "an ant lion corpse" )]
public class AntLion : BaseCreature
{
[Constructable]
public AntLion() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an ant lion";
Body = 11;
BaseSoundID = 1006;
SetStr( 296, 320 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 151, 162 );
SetDamage( 7, 21 );
SetSkill( SkillName.MagicResist, 70.0 );
SetSkill( SkillName.Tactics, 90.0 );
SetSkill( SkillName.HandToHand, 90.0 );
Fame = 4500;
Karma = -4500;
VirtualArmor = 45;
PackItem( new Bone( 3 ) );
Item orepile = new IronOre();
orepile.Amount = Utility.RandomMinMax(10, 100);
orepile.ItemID = 0x19B9;
PackItem(orepile);
// TODO: skeleton
}
public override int GetAngerSound()
{
return 0x5A;
}
public override int GetIdleSound()
{
return 0x5A;
}
public override int GetAttackSound()
{
return 0x164;
}
public override int GetHurtSound()
{
return 0x187;
}
public override int GetDeathSound()
{
return 0x1BA;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average, 2 );
}
public AntLion( 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();
}
}
}

View file

@ -0,0 +1,61 @@
using System;
using System.Collections;
using Server.Items;
using Server.Network;
namespace Server.Mobiles
{
[CorpseName( "an antaur corpse" )]
public class AntaurLord : BaseCreature
{
[Constructable]
public AntaurLord() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an antaur lord";
Body = 314;
BaseSoundID = 0x4F0;
SetStr( 588, 660 );
SetDex( 303, 375 );
SetInt( 108, 180 );
SetHits( 288, 321 );
SetDamage( 9, 30 );
SetSkill( SkillName.MagicResist, 90.0, 120.0 );
SetSkill( SkillName.Tactics, 90.0, 120.0 );
SetSkill( SkillName.HandToHand, 90.0, 120.0 );
Fame = 9000;
Karma = -9000;
VirtualArmor = 55;
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich );
AddLoot( LootPack.MedPotions );
AddLoot( LootPack.HighPotions );
AddLoot( LootPack.Gems, 3 );
}
public AntaurLord( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
Hue = 0;
}
}
}

View file

@ -0,0 +1,55 @@
using System;
using System.Collections;
using Server.Items;
using Server.Network;
namespace Server.Mobiles
{
[CorpseName( "an antaur corpse" )]
public class AntaurQueen : BaseCreature
{
[Constructable]
public AntaurQueen() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an antaur queen";
Body = 179;
BaseSoundID = 0x4F0;
SetStr( 296, 320 );
SetDex( 121, 145 );
SetInt( 76, 100 );
SetHits( 151, 162 );
SetDamage( 10, 15 );
SetSkill( SkillName.Concentration, 70.1, 85.0 );
SetSkill( SkillName.Magery, 70.1, 85.0 );
SetSkill( SkillName.MagicResist, 60.1, 75.0 );
SetSkill( SkillName.Tactics, 80.1, 90.0 );
SetSkill( SkillName.HandToHand, 70.1, 90.0 );
Fame = 4500;
Karma = -4500;
VirtualArmor = 45;
}
public AntaurQueen( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
Hue = 0;
}
}
}

View file

@ -0,0 +1,58 @@
using System;
using System.Collections;
using Server.Items;
using Server.Network;
namespace Server.Mobiles
{
[CorpseName( "an antaur corpse" )]
public class AntaurSoldier : BaseCreature
{
[Constructable]
public AntaurSoldier() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an antaur soldier";
Body = 178;
BaseSoundID = 0x4F0;
SetStr( 196, 220 );
SetDex( 101, 125 );
SetInt( 36, 60 );
SetHits( 96, 107 );
SetDamage( 5, 15 );
SetSkill( SkillName.MagicResist, 60.0 );
SetSkill( SkillName.Tactics, 80.0 );
SetSkill( SkillName.HandToHand, 80.0 );
Fame = 3000;
Karma = -3000;
VirtualArmor = 35;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public AntaurSoldier( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
Hue = 0;
}
}
}

View file

@ -0,0 +1,58 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "an antaur corpse" )]
public class AntaurWorker : BaseCreature
{
[Constructable]
public AntaurWorker() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an antaur worker";
Body = 177;
BaseSoundID = 0x57F;
SetStr( 96, 120 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 58, 72 );
SetDamage( 5, 7 );
SetSkill( SkillName.MagicResist, 60.0 );
SetSkill( SkillName.Tactics, 65.0 );
SetSkill( SkillName.HandToHand, 60.0 );
Fame = 1500;
Karma = -1500;
VirtualArmor = 28;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public AntaurWorker( 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();
Hue = 0;
}
}
}

View file

@ -0,0 +1,78 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a beetle corpse" )]
public class ArcaneScarab : BaseCreature
{
[Constructable]
public ArcaneScarab() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an arcane scarab";
Body = 68;
BaseSoundID = 0x4E5;
SetStr( 401, 460 );
SetDex( 121, 170 );
SetInt( 376, 450 );
SetHits( 301, 360 );
SetDamage( 15, 22 );
SetSkill( SkillName.Concentration, 100.1, 125.0 );
SetSkill( SkillName.Magery, 100.1, 110.0 );
SetSkill( SkillName.Poisoning, 120.1, 140.0 );
SetSkill( SkillName.MagicResist, 95.1, 110.0 );
SetSkill( SkillName.Tactics, 78.1, 93.0 );
SetSkill( SkillName.HandToHand, 70.1, 77.5 );
Fame = 15000;
Karma = -15000;
VirtualArmor = 48;
switch ( Utility.Random( 10 ))
{
case 0: PackItem( new LeftArm() ); break;
case 1: PackItem( new RightArm() ); break;
case 2: PackItem( new Torso() ); break;
case 3: PackItem( new Bone() ); break;
case 4: PackItem( new RibCage() ); break;
case 5: PackItem( new RibCage() ); break;
case 6: PackItem( new BonePile() ); break;
case 7: PackItem( new BonePile() ); break;
case 8: PackItem( new BonePile() ); break;
case 9: PackItem( new BonePile() ); break;
}
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 2 );
AddLoot( LootPack.MedScrolls, 1 );
}
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
public override Poison HitPoison{ get{ return Poison.Greater; } }
public ArcaneScarab( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,63 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.ContextMenus;
namespace Server.Mobiles
{
[CorpseName( "a beetle corpse" )]
public class Beetle : BaseCreature
{
[Constructable]
public Beetle() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a giant beetle";
Body = 254;
BaseSoundID = 0x4E5;
SetStr( 296, 320 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 180, 220 );
SetMana( 0 );
SetDamage( 7, 16 );
SetSkill( SkillName.MagicResist, 60, 80.0 );
SetSkill( SkillName.Tactics, 80, 100.0 );
SetSkill( SkillName.HandToHand, 80, 100.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 24;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public Beetle( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,88 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class BloodSpider : BaseCreature
{
[Constructable]
public BloodSpider() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a blood spider";
Body = 193;
BaseSoundID = 0x388;
SetStr( 76, 100 );
SetDex( 96, 115 );
SetInt( 36, 60 );
SetHits( 46, 60 );
SetDamage( 5, 17 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 45.1, 60.0 );
SetSkill( SkillName.Tactics, 65.1, 80.0 );
SetSkill( SkillName.HandToHand, 70.1, 85.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 24;
PackItem( new SpidersSilk( 5 ) );
PackItem( new LesserPoisonPotion() );
PackItem( new LesserPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
public override Poison HitPoison{ get{ return Poison.Deadly; } }
public void DrainBlood( Mobile m )
{
DoHarmful( m );
new Blood().MoveToWorld( m.Location, m.Map );
m.SendMessage( "The creature feeds on your blood!" );
int toDrain = Utility.RandomMinMax( 2, 10 );
m.PlaySound( 0x23F );
Hits += toDrain;
m.Damage( toDrain, this );
}
public override void OnGaveMeleeAttack( Mobile defender )
{
base.OnGaveMeleeAttack( defender );
DrainBlood( defender );
}
public override void OnGotMeleeAttack( Mobile attacker )
{
base.OnGotMeleeAttack( attacker );
DrainBlood( attacker );
}
public BloodSpider( 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();
}
}
}

View file

@ -0,0 +1,59 @@
using System;
using System.Collections;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a worm corpse" )]
public class CarcassWorm : BaseCreature
{
[Constructable]
public CarcassWorm () : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a carcass worm";
Body = 143;
BaseSoundID = 0x382;
AnimationMod = 6;
SetStr( 38, 52 );
SetDex( 12, 17 );
SetInt( 1, 5 );
SetHits( 19, 25 );
SetDamage( 2, 8 );
SetSkill( SkillName.Tactics, 80.1, 90.0 );
SetSkill( SkillName.HandToHand, 80.1, 90.0 );
Fame = 450;
Karma = -450;
VirtualArmor = 12;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Poor );
}
public override int Meat{ get{ return 4; } }
public CarcassWorm( 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();
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a scorpion corpse" )]
public class DeadlyScorpion : BaseCreature
{
[Constructable]
public DeadlyScorpion() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a scorpion";
Body = 147;
BaseSoundID = 397;
SetStr( 103, 145 );
SetDex( 76, 95 );
SetInt( 16, 30 );
SetHits( 80, 93 );
SetMana( 0 );
SetDamage( 9, 14 );
SetSkill( SkillName.Poisoning, 80.1, 100.0 );
SetSkill( SkillName.MagicResist, 30.1, 35.0 );
SetSkill( SkillName.Tactics, 80.3, 95.0 );
SetSkill( SkillName.HandToHand, 60.3, 98.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 48;
PackItem( new DeadlyPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override int Meat{ get{ return 1; } }
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override Poison HitPoison{ get{ return (0.8 >= Utility.RandomDouble() ? Poison.Deadly : Poison.Lethal); } }
public DeadlyScorpion( 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();
}
}
}

View file

@ -0,0 +1,67 @@
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class DreadSpider : BaseCreature
{
[Constructable]
public DreadSpider () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a dread spider";
Body = 27;
BaseSoundID = 1170;
SetStr( 196, 220 );
SetDex( 126, 145 );
SetInt( 286, 310 );
SetHits( 118, 132 );
SetDamage( 5, 17 );
SetSkill( SkillName.Concentration, 65.1, 80.0 );
SetSkill( SkillName.Magery, 65.1, 80.0 );
SetSkill( SkillName.Meditation, 65.1, 80.0 );
SetSkill( SkillName.MagicResist, 45.1, 60.0 );
SetSkill( SkillName.Tactics, 55.1, 70.0 );
SetSkill( SkillName.HandToHand, 60.1, 75.0 );
Fame = 5000;
Karma = -5000;
VirtualArmor = 36;
PackItem( new SpidersSilk( 8 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich );
}
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override Poison HitPoison{ get{ return Poison.Lethal; } }
public DreadSpider( 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();
if ( BaseSoundID == 263 )
BaseSoundID = 1170;
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.ContextMenus;
namespace Server.Mobiles
{
[CorpseName( "a beetle corpse" )]
public class FireBeetle : BaseCreature
{
public override bool HasBreath{ get{ return true; } } // fire breath enabled
[Constructable]
public FireBeetle() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a fire beetle";
Body = 240;
BaseSoundID = 0x4E5;
SetStr( 296, 320 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 180, 220 );
SetMana( 0 );
SetDamage( 7, 16 );
SetSkill( SkillName.MagicResist, 60, 80.0 );
SetSkill( SkillName.Tactics, 80, 100.0 );
SetSkill( SkillName.HandToHand, 80, 100.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 24;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public FireBeetle( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,66 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a insect corpse" )]
public class FlameCrawler : BaseCreature
{
[Constructable]
public FlameCrawler() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a flame crawler";
Body = 158;
BaseSoundID = 397;
SetStr( 103, 145 );
SetDex( 76, 95 );
SetInt( 16, 30 );
SetHits( 80, 93 );
SetMana( 0 );
SetDamage( 9, 14 );
SetSkill( SkillName.Poisoning, 80.1, 100.0 );
SetSkill( SkillName.MagicResist, 30.1, 35.0 );
SetSkill( SkillName.Tactics, 80.3, 95.0 );
SetSkill( SkillName.HandToHand, 60.3, 98.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 48;
PackItem( new DeadlyPoisonPotion() );
AddItem( new LightSource() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override int Meat{ get{ return 1; } }
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override Poison HitPoison{ get{ return (0.8 >= Utility.RandomDouble() ? Poison.Deadly : Poison.Lethal); } }
public FlameCrawler( 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();
}
}
}

View file

@ -0,0 +1,61 @@
using System;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class FrostSpider : BaseCreature
{
[Constructable]
public FrostSpider() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a frost spider";
Body = 96;
BaseSoundID = 0x388;
SetStr( 76, 100 );
SetDex( 126, 145 );
SetInt( 36, 60 );
SetHits( 46, 60 );
SetMana( 0 );
SetDamage( 6, 16 );
SetSkill( SkillName.MagicResist, 25.1, 40.0 );
SetSkill( SkillName.Tactics, 35.1, 50.0 );
SetSkill( SkillName.HandToHand, 50.1, 65.0 );
Fame = 775;
Karma = -775;
VirtualArmor = 28;
PackItem( new SpidersSilk( 7 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public FrostSpider( 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();
if ( BaseSoundID == 387 )
BaseSoundID = 0x388;
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class GiantBlackWidow : BaseCreature
{
[Constructable]
public GiantBlackWidow() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a giant black widow";
Body = 19;
BaseSoundID = 0x388; // TODO: validate
SetStr( 76, 100 );
SetDex( 96, 115 );
SetInt( 36, 60 );
SetHits( 46, 60 );
SetDamage( 5, 17 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 45.1, 60.0 );
SetSkill( SkillName.Tactics, 65.1, 80.0 );
SetSkill( SkillName.HandToHand, 70.1, 85.0 );
Fame = 3500;
Karma = -3500;
VirtualArmor = 24;
PackItem( new SpidersSilk( 5 ) );
PackItem( new LesserPoisonPotion() );
PackItem( new LesserPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
public override Poison HitPoison{ get{ return Poison.Deadly; } }
public GiantBlackWidow( 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();
}
}
}

View file

@ -0,0 +1,66 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.ContextMenus;
namespace Server.Mobiles
{
[CorpseName( "a scarab corpse" )]
public class GiantScarab : BaseCreature
{
[Constructable]
public GiantScarab() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a giant scarab";
Body = 263;
BaseSoundID = 0x4F0;
AnimationMod = 2;
SetStr( 296, 320 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 175, 200 );
SetDamage( 7, 20 );
SetSkill( SkillName.MagicResist, 60.0 );
SetSkill( SkillName.Tactics, 90.0 );
SetSkill( SkillName.HandToHand, 90.0 );
Fame = 4500;
Karma = -4500;
VirtualArmor = 24;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
public override Poison HitPoison{ get{ return Poison.Greater; } }
public GiantScarab( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,64 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class GiantSpider : BaseCreature
{
[Constructable]
public GiantSpider() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a giant spider";
Body = 28;
BaseSoundID = 0x388;
SetStr( 76, 100 );
SetDex( 76, 95 );
SetInt( 36, 60 );
SetHits( 46, 60 );
SetMana( 0 );
SetDamage( 5, 13 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 25.1, 40.0 );
SetSkill( SkillName.Tactics, 35.1, 50.0 );
SetSkill( SkillName.HandToHand, 50.1, 65.0 );
Fame = 600;
Karma = -600;
VirtualArmor = 16;
PackItem( new SpidersSilk( 5 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Poor );
}
public override Poison PoisonImmune{ get{ return Poison.Regular; } }
public override Poison HitPoison{ get{ return Poison.Regular; } }
public GiantSpider( 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();
}
}
}

View file

@ -0,0 +1,64 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a gorax corpse" )]
public class GoraxHorned : BaseCreature
{
[Constructable]
public GoraxHorned() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a horned gorax";
Body = 194;
BaseSoundID = 0x4F0;
AnimationMod = 3;
SetStr( 76, 100 );
SetDex( 96, 115 );
SetInt( 36, 60 );
SetHits( 46, 60 );
SetDamage( 5, 17 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 45.1, 60.0 );
SetSkill( SkillName.Tactics, 65.1, 80.0 );
SetSkill( SkillName.HandToHand, 70.1, 85.0 );
Fame = 3500;
Karma = -3500;
VirtualArmor = 24;
PackItem( new LesserPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
public override Poison HitPoison{ get{ return Poison.Regular; } }
public GoraxHorned( 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();
}
}
}

View file

@ -0,0 +1,70 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.ContextMenus;
namespace Server.Mobiles
{
[CorpseName( "a gorax corpse" )]
public class GoraxSlicer : BaseCreature
{
[Constructable]
public GoraxSlicer() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a gorax slicer";
Body = 195;
BaseSoundID = 0x4F0;
AnimationMod = 3;
SetStr( 296, 320 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 196, 230 );
SetDamage( 7, 20 );
SetSkill( SkillName.Poisoning, 70.1, 90.0 );
SetSkill( SkillName.MagicResist, 55.1, 70.0 );
SetSkill( SkillName.Tactics, 85.1, 100.0 );
SetSkill( SkillName.HandToHand, 90.1, 105.0 );
Fame = 4500;
Karma = -4500;
VirtualArmor = 32;
PackItem( new PoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average, 2 );
AddLoot( LootPack.Meager );
}
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override Poison HitPoison{ get{ return Poison.Greater; } }
public GoraxSlicer( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,63 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.ContextMenus;
namespace Server.Mobiles
{
[CorpseName( "a beetle corpse" )]
public class IronBeetle : BaseCreature
{
[Constructable]
public IronBeetle() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "an iron beetle";
Body = 159;
BaseSoundID = 0x4E5;
SetStr( 444, 480 );
SetDex( 122, 158 );
SetInt( 36, 60 );
SetHits( 270, 330 );
SetMana( 0 );
SetDamage( 11, 30 );
SetSkill( SkillName.MagicResist, 90.0, 120.0 );
SetSkill( SkillName.Tactics, 120.0, 150.0 );
SetSkill( SkillName.HandToHand, 120.0, 150.0 );
Fame = 6000;
Karma = -6000;
VirtualArmor = 48;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public IronBeetle( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class Kith : BaseCreature
{
[Constructable]
public Kith() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a kith";
Body = 148;
BaseSoundID = 0x4F0;
SetStr( 236, 285 );
SetDex( 96, 115 );
SetInt( 31, 55 );
SetHits( 202, 231 );
SetMana( 0 );
SetDamage( 9, 18 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 60.3, 105.0 );
SetSkill( SkillName.Tactics, 80.1, 100.0 );
SetSkill( SkillName.HandToHand, 80.1, 90.0 );
Fame = 5500;
Karma = -5500;
VirtualArmor = 48;
PackItem( new SpidersSilk( Utility.RandomMinMax( 20, 35 ) ) );
PackItem( new GreaterPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average, 2 );
}
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override Poison HitPoison{ get{ return Poison.Lethal; } }
public Kith( 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();
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using Server;
using Server.Items;
using Server.Spells;
namespace Server.Mobiles
{
[CorpseName( "a mantis corpse" )]
public class Mantis : BaseCreature
{
[Constructable]
public Mantis() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a mantis";
Body = 184;
BaseSoundID = 0x4F0;
SetStr( 166, 215 );
SetDex( 96, 145 );
SetInt( 41, 65 );
SetHits( 100, 129 );
SetMana( 0 );
SetDamage( 7, 17 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 60.1, 75.0 );
SetSkill( SkillName.Tactics, 80.1, 100.0 );
SetSkill( SkillName.HandToHand, 80.1, 90.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 30;
PackItem( new PoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
AddLoot( LootPack.Meager );
}
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
public override Poison HitPoison{ get{ return (0.8 >= Utility.RandomDouble() ? Poison.Lesser : Poison.Regular); } }
public Mantis( 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();
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a scorpion corpse" )]
public class SandScorpion : BaseCreature
{
[Constructable]
public SandScorpion() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a scorpion";
Body = 186;
BaseSoundID = 397;
SetStr( 73, 115 );
SetDex( 76, 95 );
SetInt( 16, 30 );
SetHits( 50, 63 );
SetMana( 0 );
SetDamage( 5, 10 );
SetSkill( SkillName.Poisoning, 80.1, 100.0 );
SetSkill( SkillName.MagicResist, 30.1, 35.0 );
SetSkill( SkillName.Tactics, 60.3, 75.0 );
SetSkill( SkillName.HandToHand, 50.3, 65.0 );
Fame = 1900;
Karma = -1900;
VirtualArmor = 28;
PackItem( new LesserPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override int Meat{ get{ return 1; } }
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
public override Poison HitPoison{ get{ return (0.8 >= Utility.RandomDouble() ? Poison.Regular : Poison.Greater); } }
public SandScorpion( 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();
}
}
}

View file

@ -0,0 +1,61 @@
using System;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class SandSpider : BaseCreature
{
[Constructable]
public SandSpider() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a sand spider";
Body = 176;
BaseSoundID = 0x388;
SetStr( 76, 100 );
SetDex( 126, 145 );
SetInt( 36, 60 );
SetHits( 46, 60 );
SetMana( 0 );
SetDamage( 6, 16 );
SetSkill( SkillName.MagicResist, 25.1, 40.0 );
SetSkill( SkillName.Tactics, 35.1, 50.0 );
SetSkill( SkillName.HandToHand, 50.1, 65.0 );
Fame = 775;
Karma = -775;
VirtualArmor = 28;
PackItem( new SpidersSilk( 7 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public SandSpider( 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();
if ( BaseSoundID == 387 )
BaseSoundID = 0x388;
}
}
}

View file

@ -0,0 +1,66 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.ContextMenus;
namespace Server.Mobiles
{
[CorpseName( "a scarab corpse" )]
public class Scarab : BaseCreature
{
[Constructable]
public Scarab() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a scarab";
Body = 245;
BaseSoundID = 0x4F0;
AnimationMod = 2;
SetStr( 206, 280 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 120, 150 );
SetDamage( 7, 13 );
SetSkill( SkillName.MagicResist, 40.0 );
SetSkill( SkillName.Tactics, 70.0 );
SetSkill( SkillName.HandToHand, 70.0 );
Fame = 3000;
Karma = -3000;
VirtualArmor = 12;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override Poison PoisonImmune{ get{ return Poison.Regular; } }
public override Poison HitPoison{ get{ return Poison.Regular; } }
public Scarab( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,65 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a scorpion corpse" )]
public class Scorpion : BaseCreature
{
[Constructable]
public Scorpion() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a scorpion";
Body = 48;
BaseSoundID = 397;
SetStr( 73, 115 );
SetDex( 76, 95 );
SetInt( 16, 30 );
SetHits( 50, 63 );
SetMana( 0 );
SetDamage( 5, 10 );
SetSkill( SkillName.Poisoning, 80.1, 100.0 );
SetSkill( SkillName.MagicResist, 30.1, 35.0 );
SetSkill( SkillName.Tactics, 60.3, 75.0 );
SetSkill( SkillName.HandToHand, 50.3, 65.0 );
Fame = 2000;
Karma = -2000;
VirtualArmor = 28;
PackItem( new LesserPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override int Meat{ get{ return 1; } }
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
public override Poison HitPoison{ get{ return (0.8 >= Utility.RandomDouble() ? Poison.Greater : Poison.Deadly); } }
public Scorpion( 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();
}
}
}

View file

@ -0,0 +1,71 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "an insect corpse" )]
public class Shaclaw : BaseCreature
{
[Constructable]
public Shaclaw() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a shaclaw";
Body = 283;
BaseSoundID = 0x4EA;
AnimationMod = 1;
SetStr( 796, 825 );
SetDex( 86, 105 );
SetInt( 50, 70 );
SetHits( 478, 495 );
SetDamage( 16, 22 );
SetSkill( SkillName.MagicResist, 49.1, 60.0 );
SetSkill( SkillName.Tactics, 97.6, 100.0 );
SetSkill( SkillName.HandToHand, 90.1, 92.5 );
Fame = 14000;
Karma = -14000;
VirtualArmor = 60;
AddItem( new LighterSource() );
AddItem( new DeadlyPoisonPotion() );
}
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
public override Poison HitPoison{ get{ return (0.8 >= Utility.RandomDouble() ? Poison.Regular : Poison.Greater); } }
public override int GetDeathSound()
{
return Utility.RandomList( 0x4EE, 0x4EF );
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 2 );
AddLoot( LootPack.Gems, 8 );
}
public Shaclaw( 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();
}
}
}

View file

@ -0,0 +1,85 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.ContextMenus;
namespace Server.Mobiles
{
[CorpseName( "dead bugs" )]
public class Swarm : BaseCreature
{
[Constructable]
public Swarm() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a swarm";
Body = 256;
AnimationMod = 1;
SetStr( 206, 280 );
SetDex( 81, 105 );
SetInt( 36, 60 );
SetHits( 120, 150 );
SetDamage( 3, 10 );
SetSkill( SkillName.Tactics, 70.0 );
SetSkill( SkillName.HandToHand, 70.0 );
Fame = 0;
Karma = -0;
VirtualArmor = 12;
}
public override bool BleedImmune{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override Poison HitPoison{ get{ return Poison.Regular; } }
public override int GetAngerSound()
{
return 0x5CB;
}
public override int GetIdleSound()
{
return 0x5CD;
}
public override int GetAttackSound()
{
return 0x5CC;
}
public override int GetHurtSound()
{
return 0x5CB;
}
public override int GetDeathSound()
{
return 0x5CB;
}
public Swarm( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,68 @@
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a terathan avenger corpse" )]
public class TerathanAvenger : BaseCreature
{
[Constructable]
public TerathanAvenger() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a terathan avenger";
Body = 79;
BaseSoundID = 0x24D;
SetStr( 467, 645 );
SetDex( 77, 95 );
SetInt( 126, 150 );
SetHits( 296, 372 );
SetMana( 46, 70 );
SetDamage( 18, 22 );
SetSkill( SkillName.Concentration, 70.3, 100.0 );
SetSkill( SkillName.Magery, 70.3, 100.0 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 65.1, 80.0 );
SetSkill( SkillName.Tactics, 90.1, 100.0 );
SetSkill( SkillName.HandToHand, 90.1, 100.0 );
Fame = 15000;
Karma = -15000;
VirtualArmor = 50;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich, 2 );
AddLoot( LootPack.HighPotions );
}
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
public override Poison HitPoison{ get{ return Poison.Deadly; } }
public override int Meat{ get{ return 2; } }
public TerathanAvenger( 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();
if ( BaseSoundID == 263 )
BaseSoundID = 0x24D;
}
}
}

View file

@ -0,0 +1,67 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a terathan drone corpse" )]
public class TerathanDrone : BaseCreature
{
[Constructable]
public TerathanDrone() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a terathan drone";
Body = 71;
BaseSoundID = 594;
SetStr( 36, 65 );
SetDex( 96, 145 );
SetInt( 21, 45 );
SetHits( 22, 39 );
SetMana( 0 );
SetDamage( 6, 12 );
SetSkill( SkillName.Poisoning, 40.1, 60.0 );
SetSkill( SkillName.MagicResist, 30.1, 45.0 );
SetSkill( SkillName.Tactics, 30.1, 50.0 );
SetSkill( SkillName.HandToHand, 40.1, 50.0 );
Fame = 2000;
Karma = -2000;
VirtualArmor = 24;
PackItem( new SpidersSilk( 2 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
// TODO: weapon?
}
public override int Meat{ get{ return 4; } }
public TerathanDrone( 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();
if ( BaseSoundID == 589 )
BaseSoundID = 594;
}
}
}

View file

@ -0,0 +1,64 @@
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a terathan matriarch corpse" )]
public class TerathanMatriarch : BaseCreature
{
[Constructable]
public TerathanMatriarch() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a terathan matriarch";
Body = 72;
BaseSoundID = 599;
SetStr( 316, 405 );
SetDex( 96, 115 );
SetInt( 366, 455 );
SetHits( 190, 243 );
SetDamage( 11, 14 );
SetSkill( SkillName.Concentration, 90.1, 100.0 );
SetSkill( SkillName.Magery, 90.1, 100.0 );
SetSkill( SkillName.MagicResist, 90.1, 100.0 );
SetSkill( SkillName.Tactics, 50.1, 70.0 );
SetSkill( SkillName.HandToHand, 60.1, 80.0 );
Fame = 10000;
Karma = -10000;
PackItem( new SpidersSilk( 5 ) );
PackReg( Utility.RandomMinMax( 4, 10 ) );
VirtualArmor = 32;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
AddLoot( LootPack.Average, 2 );
AddLoot( LootPack.MedScrolls, 2 );
AddLoot( LootPack.MedPotions );
}
public TerathanMatriarch( 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();
}
}
}

View file

@ -0,0 +1,61 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a terathan warrior corpse" )]
public class TerathanWarrior : BaseCreature
{
[Constructable]
public TerathanWarrior() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a terathan warrior";
Body = 70;
BaseSoundID = 589;
SetStr( 166, 215 );
SetDex( 96, 145 );
SetInt( 41, 65 );
SetHits( 100, 129 );
SetMana( 0 );
SetDamage( 7, 17 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 60.1, 75.0 );
SetSkill( SkillName.Tactics, 80.1, 100.0 );
SetSkill( SkillName.HandToHand, 80.1, 90.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 30;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override int Meat{ get{ return 4; } }
public TerathanWarrior( 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();
}
}
}

View file

@ -0,0 +1,66 @@
using System;
using Server.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a spider corpse" )]
public class WidowQueen : BaseCreature
{
[Constructable]
public WidowQueen() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a widow queen";
Body = 20;
BaseSoundID = 0x388;
SetStr( 336, 385 );
SetDex( 96, 115 );
SetInt( 31, 55 );
SetHits( 202, 231 );
SetMana( 0 );
SetDamage( 7, 23 );
SetSkill( SkillName.Poisoning, 60.1, 80.0 );
SetSkill( SkillName.MagicResist, 60.3, 105.0 );
SetSkill( SkillName.Tactics, 80.1, 100.0 );
SetSkill( SkillName.HandToHand, 80.1, 90.0 );
Fame = 6500;
Karma = -6500;
VirtualArmor = 48;
PackItem( new SpidersSilk( 50 ) );
PackItem( new GreaterPoisonPotion() );
PackItem( new DeadlyPoisonPotion() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override Poison HitPoison{ get{ return Poison.Lethal; } }
public WidowQueen( 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();
}
}
}