#W# Initial Commit: Avatars Conquest

This commit is contained in:
WarrentyExpired 2026-07-04 10:35:30 -04:00
commit 5df497787a
7510 changed files with 416048 additions and 0 deletions

View file

@ -0,0 +1,69 @@
using System;
using Server;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
[CorpseName( "a dagon corpse" )]
public class Dagon : BaseCreature
{
[Constructable]
public Dagon() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = NameList.RandomName( "cthulhu" );
HiddenTitle = "the dagon";
Body = 162;
BaseSoundID = 353;
SetStr( 736, 785 );
SetDex( 226, 245 );
SetInt( 481, 505 );
SetHits( 422, 451 );
SetDamage( 19, 26 );
SetSkill( SkillName.Concentration, 85.1, 100.0 );
SetSkill( SkillName.Magery, 85.1, 100.0 );
SetSkill( SkillName.MagicResist, 80.2, 110.0 );
SetSkill( SkillName.Tactics, 60.1, 80.0 );
SetSkill( SkillName.HandToHand, 40.1, 50.0 );
Fame = 15500;
Karma = -15500;
VirtualArmor = 50;
CanSwim = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich );
AddLoot( LootPack.Average );
AddLoot( LootPack.MedScrolls );
}
public override bool BleedImmune{ get{ return true; } }
public override int Hides{ get{ return 18; } }
public override int Meat{ get{ return 20; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public Dagon( 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 Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a deep sea serpents corpse" )]
public class DeepSeaSerpent : BaseCreature
{
[Constructable]
public DeepSeaSerpent() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a deep sea serpent";
Body = 150;
BaseSoundID = 447;
Hue = Utility.Random( 0x8A0, 5 );
SetStr( 251, 425 );
SetDex( 87, 135 );
SetInt( 87, 155 );
SetHits( 151, 255 );
SetDamage( 6, 14 );
SetSkill( SkillName.MagicResist, 60.1, 75.0 );
SetSkill( SkillName.Tactics, 60.1, 70.0 );
SetSkill( SkillName.HandToHand, 60.1, 70.0 );
Fame = 6000;
Karma = -6000;
VirtualArmor = 60;
CanSwim = true;
CantWalk = true;
if ( Utility.RandomBool() )
PackItem( new SulfurousAsh( 4 ) );
else
PackItem( new BlackPearl( 4 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override bool HasBreath{ get{ return true; } }
public override int Meat{ get{ return 5; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 10; } }
public DeepSeaSerpent( 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,78 @@
using System;
using Server.Mobiles;
namespace Server.Mobiles
{
[CorpseName( "a dolphin corpse" )]
public class Dolphin : BaseCreature
{
[Constructable]
public Dolphin(): base( AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
{
Name = "a dolphin";
Body = 151;
BaseSoundID = 0x8A;
SetStr( 21, 49 );
SetDex( 66, 85 );
SetInt( 96, 110 );
SetHits( 15, 27 );
SetDamage( 3, 6 );
SetSkill( SkillName.MagicResist, 15.1, 20.0 );
SetSkill( SkillName.Tactics, 19.2, 29.0 );
SetSkill( SkillName.HandToHand, 19.2, 29.0 );
Fame = 500;
Karma = 0;
VirtualArmor = 16;
CanSwim = true;
CantWalk = true;
}
public override int Meat { get { return 1; } }
public Dolphin( Serial serial ): base( serial )
{
}
public override void OnDoubleClick( Mobile from )
{
if( from.AccessLevel >= AccessLevel.GameMaster )
Jump();
}
public virtual void Jump()
{
if( Utility.RandomBool() )
Animate( 3, 16, 1, true, false, 0 );
else
Animate( 4, 20, 1, true, false, 0 );
}
public override void OnThink()
{
if( Utility.RandomDouble() < .005 ) // slim chance to jump
Jump();
base.OnThink();
}
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 giant crab corpse" )]
public class GiantCrab : BaseCreature
{
[Constructable]
public GiantCrab() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a giant crab";
Body = 139;
BaseSoundID = 0x39D;
CanSwim = true;
SetStr( 90, 120 );
SetDex( 76, 95 );
SetInt( 36, 60 );
SetMana( 0 );
SetDamage( 7, 15 );
SetSkill( SkillName.Tactics, 35.1, 50.0 );
SetSkill( SkillName.HandToHand, 50.1, 65.0 );
Fame = 1200;
Karma = -1200;
VirtualArmor = 24;
}
public override bool BleedImmune{ get{ return true; } }
public override int Meat{ get{ return 3; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override void GenerateLoot()
{
AddLoot( LootPack.Poor );
}
public GiantCrab( 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,106 @@
using System;
using Server;
using Server.Items;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "an eel corpse" )]
public class GiantEel : BaseCreature
{
[Constructable]
public GiantEel() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a giant eel";
Body = 150;
BaseSoundID = 0xDB;
Hue = 481;
SetStr( 168, 225 );
SetDex( 58, 85 );
SetInt( 53, 95 );
SetHits( 110, 127 );
SetDamage( 7, 13 );
SetSkill( SkillName.MagicResist, 60.1, 75.0 );
SetSkill( SkillName.Tactics, 60.1, 70.0 );
SetSkill( SkillName.HandToHand, 60.1, 70.0 );
Fame = 6000;
Karma = -6000;
VirtualArmor = 30;
CanSwim = true;
CantWalk = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public override int Meat{ get{ return 5; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 10; } }
public override bool BleedImmune{ get{ return true; } }
public void EelShock()
{
ArrayList list = new ArrayList();
foreach ( Mobile m in this.GetMobilesInRange( 2 ) )
{
if ( m == this || !CanBeHarmful( m ) )
continue;
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != this.Team) )
list.Add( m );
else if ( m.Player )
list.Add( m );
}
foreach ( Mobile m in list )
{
DoHarmful( m );
m.BoltEffect( 0 );
int itHurts = (int)( Utility.RandomMinMax(10,20) );
m.Damage( itHurts, m );
m.SendMessage( "You are struck with the eel's electricity!" );
}
}
public override void OnGaveMeleeAttack( Mobile defender )
{
base.OnGaveMeleeAttack( defender );
if ( 0.2 >= Utility.RandomDouble() )
EelShock();
}
public override void OnGotMeleeAttack( Mobile attacker )
{
base.OnGotMeleeAttack( attacker );
if ( 0.2 >= Utility.RandomDouble() )
EelShock();
}
public GiantEel( 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 System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a squid corpse" )]
public class GiantSquid : BaseCreature
{
[Constructable]
public GiantSquid() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a giant squid";
Body = 144;
BaseSoundID = 353;
Hue = 1084;
SetStr( 556, 580 );
SetDex( 126, 145 );
SetInt( 26, 40 );
SetHits( 354, 368 );
SetMana( 0 );
SetDamage( 10, 20 );
SetSkill( SkillName.MagicResist, 15.1, 20.0 );
SetSkill( SkillName.Tactics, 45.1, 60.0 );
SetSkill( SkillName.HandToHand, 45.1, 60.0 );
Fame = 9000;
Karma = -9000;
VirtualArmor = 30;
CanSwim = true;
CantWalk = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public override bool BleedImmune{ get{ return true; } }
public override int Hides{ get{ return 10; } }
public override int Meat{ get{ return 28; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public GiantSquid( 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;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
[CorpseName( "a shark corpse" )]
public class GreatWhite : BaseCreature
{
[Constructable]
public GreatWhite() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a great white shark";
Body = 271;
BaseSoundID = 0x294;
AnimationMod = 2;
SetStr( 251, 425 );
SetDex( 87, 135 );
SetInt( 87, 155 );
SetHits( 251, 355 );
SetDamage( 6, 14 );
SetSkill( SkillName.MagicResist, 15.1, 20.0 );
SetSkill( SkillName.Tactics, 60.1, 70.0 );
SetSkill( SkillName.HandToHand, 60.1, 70.0 );
Fame = 6000;
Karma = -6000;
VirtualArmor = 59;
CanSwim = true;
CantWalk = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override int Meat{ get{ return 10; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 10; } }
public override bool BleedImmune{ get{ return true; } }
public GreatWhite( 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 System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a krakens corpse" )]
public class Kraken : BaseCreature
{
[Constructable]
public Kraken() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a kraken";
Body = 144;
BaseSoundID = 353;
SetStr( 756, 780 );
SetDex( 226, 245 );
SetInt( 26, 40 );
SetHits( 454, 468 );
SetMana( 0 );
SetDamage( 19, 33 );
SetSkill( SkillName.MagicResist, 15.1, 20.0 );
SetSkill( SkillName.Tactics, 45.1, 60.0 );
SetSkill( SkillName.HandToHand, 45.1, 60.0 );
Fame = 11000;
Karma = -11000;
VirtualArmor = 50;
CanSwim = true;
CantWalk = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public override int Meat{ get{ return 28; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public Kraken( 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.Misc;
namespace Server.Mobiles
{
[CorpseName( "a krakoan corpse" )]
public class Krakoa : BaseCreature
{
[Constructable]
public Krakoa() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a krakoa";
Body = 163;
BaseSoundID = 353;
SetStr( 536, 585 );
SetDex( 126, 145 );
SetInt( 281, 305 );
SetHits( 322, 351 );
SetDamage( 13, 16 );
SetSkill( SkillName.MagicResist, 80.2, 110.0 );
SetSkill( SkillName.Tactics, 80.2, 110.0 );
SetSkill( SkillName.HandToHand, 80.2, 110.0 );
Fame = 11500;
Karma = -11500;
VirtualArmor = 40;
CanSwim = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich );
AddLoot( LootPack.Average );
}
public override bool BleedImmune{ get{ return true; } }
public override int Hides{ get{ return 18; } }
public override int Meat{ get{ return 20; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public Krakoa( 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 Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a ktulu corpse" )]
public class Ktulu : BaseCreature
{
public override double DispelDifficulty{ get{ return 125.0; } }
public override double DispelFocus{ get{ return 45.0; } }
[Constructable]
public Ktulu() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = NameList.RandomName( "ktulu" );
HiddenTitle = "the ktulu";
Body = 136;
BaseSoundID = 0x2F5;
CanSwim = true;
SetStr( 476, 505 );
SetDex( 76, 95 );
SetInt( 301, 325 );
SetHits( 286, 303 );
SetDamage( 7, 14 );
SetSkill( SkillName.Concentration, 70.1, 80.0 );
SetSkill( SkillName.Magery, 70.1, 80.0 );
SetSkill( SkillName.MagicResist, 85.1, 95.0 );
SetSkill( SkillName.Tactics, 70.1, 80.0 );
SetSkill( SkillName.HandToHand, 60.1, 80.0 );
Fame = 15000;
Karma = -15000;
VirtualArmor = 58;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
AddLoot( LootPack.Average, 2 );
AddLoot( LootPack.MedScrolls, 2 );
AddLoot( LootPack.Gems, 2 );
}
public override bool CanRummageCorpses{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
public override int Meat{ get{ return 5; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public Ktulu( 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,84 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a leviathan corpse" )]
public class Leviathan : BaseCreature
{
[Constructable]
public Leviathan() : this( null )
{
}
[Constructable]
public Leviathan( Mobile fisher ) : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a leviathan";
Body = 144;
BaseSoundID = 353;
Hue = 1189;
SetStr( 1000 );
SetDex( 501, 520 );
SetInt( 501, 515 );
SetHits( 1500 );
SetDamage( 25, 33 );
SetSkill( SkillName.Concentration, 97.6, 107.5 );
SetSkill( SkillName.Magery, 97.6, 107.5 );
SetSkill( SkillName.MagicResist, 97.6, 107.5 );
SetSkill( SkillName.Meditation, 97.6, 107.5 );
SetSkill( SkillName.Tactics, 97.6, 107.5 );
SetSkill( SkillName.HandToHand, 97.6, 107.5 );
Fame = 24000;
Karma = -24000;
VirtualArmor = 50;
CanSwim = true;
CantWalk = true;
}
public override bool HasBreath{ get{ return true; } }
public override int BreathPhysicalDamage{ get{ return 70; } } // TODO: Verify damage type
public override int BreathColdDamage{ get{ return 30; } }
public override int BreathFireDamage{ get{ return 0; } }
public override int BreathEffectHue{ get{ return 0x1ED; } }
public override double BreathDamageScalar{ get{ return 0.05; } }
public override double BreathMinDelay{ get{ return 5.0; } }
public override double BreathMaxDelay{ get{ return 7.5; } }
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 5 );
}
public override double TreasureMapChance{ get{ return 0.25; } }
public override int Meat{ get{ return 28; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public Leviathan( 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.Items;
using Server.Targeting;
using System.Collections;
namespace Server.Mobiles
{
[CorpseName( "a giant crab corpse" )]
public class Lobstran : BaseCreature
{
[Constructable]
public Lobstran() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a lobstran";
Body = 269;
BaseSoundID = 0x39D;
CanSwim = true;
SetStr( 176, 205 );
SetDex( 46, 65 );
SetInt( 46, 70 );
SetHits( 106, 123 );
SetDamage( 8, 14 );
SetSkill( SkillName.MagicResist, 45.1, 60.0 );
SetSkill( SkillName.Tactics, 50.1, 70.0 );
SetSkill( SkillName.HandToHand, 50.1, 70.0 );
Fame = 3500;
Karma = -3500;
VirtualArmor = 40;
PackItem( new Fish( ( Utility.Random( 3 )+1) ) );
}
public override bool BleedImmune{ get{ return true; } }
public override int Meat{ get{ return 3; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public Lobstran( 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();
Body = 34;
}
}
}

View file

@ -0,0 +1,66 @@
using System;
using System.Collections;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
[CorpseName( "a dinosaur corpse" )]
public class Lochasaur : BaseCreature
{
[Constructable]
public Lochasaur() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a lochasaur";
Body = 270;
BaseSoundID = 0x1BF;
AnimationMod = 2;
SetStr( 756, 780 );
SetDex( 226, 245 );
SetInt( 26, 40 );
SetHits( 454, 468 );
SetMana( 0 );
SetDamage( 19, 33 );
SetSkill( SkillName.MagicResist, 65.1, 80.0 );
SetSkill( SkillName.Tactics, 85.1, 110.0 );
SetSkill( SkillName.HandToHand, 85.1, 110.0 );
Fame = 11000;
Karma = -11000;
VirtualArmor = 49;
CanSwim = true;
CantWalk = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public override int Meat{ get{ return 18; } }
public override bool BleedImmune{ get{ return true; } }
public override int Hides{ get{ return 15; } }
public Lochasaur( 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,68 @@
using System;
using System.Collections;
using Server.Items;
using Server.Targeting;
namespace Server.Mobiles
{
[CorpseName( "a lurker corpse" )]
public class Lurker : BaseCreature
{
[Constructable]
public Lurker() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a lurker";
Body = 194;
BaseSoundID = 278;
CanSwim = true;
SetStr( 156, 180 );
SetDex( 26, 45 );
SetInt( 26, 40 );
SetHits( 94, 108 );
SetMana( 0 );
SetDamage( 10, 23 );
SetSkill( SkillName.MagicResist, 15.1, 20.0 );
SetSkill( SkillName.Tactics, 45.1, 60.0 );
SetSkill( SkillName.HandToHand, 45.1, 60.0 );
Fame = 2000;
Karma = -2000;
VirtualArmor = 18;
AddItem( new LightSource() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override bool BleedImmune{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Regular; } }
public override Poison HitPoison{ get{ return Poison.Greater; } }
public override int Meat{ get{ return 2; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 2; } }
public Lurker( 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 System.Collections;
using Server.Items;
using Server.Misc;
namespace Server.Mobiles
{
[CorpseName( "a shark corpse" )]
public class Megalodon : BaseCreature
{
[Constructable]
public Megalodon() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a megalodon";
Body = 272;
BaseSoundID = 0x1BF;
AnimationMod = 2;
SetStr( 756, 780 );
SetDex( 226, 245 );
SetInt( 26, 40 );
SetHits( 454, 468 );
SetMana( 0 );
SetDamage( 19, 33 );
SetSkill( SkillName.MagicResist, 65.1, 80.0 );
SetSkill( SkillName.Tactics, 85.1, 110.0 );
SetSkill( SkillName.HandToHand, 85.1, 110.0 );
Fame = 11000;
Karma = -11000;
VirtualArmor = 49;
CanSwim = true;
CantWalk = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich );
}
public override int Meat{ get{ return 15; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 15; } }
public override bool BleedImmune{ get{ return true; } }
public Megalodon( 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 System.Collections;
using Server.Items;
using Server.Targeting;
using Server.Misc;
namespace Server.Mobiles
{
[CorpseName( "a sahuagin corpse" )]
public class Sahuagin : BaseCreature
{
[Constructable]
public Sahuagin() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a sahuagin";
Body = 146;
BaseSoundID = 0x5E4;
CanSwim = true;
AnimationMod = 4;
SetStr( 154, 192 );
SetDex( 138, 168 );
SetInt( 58, 96 );
SetHits( 93, 115 );
SetDamage( 8, 11 );
SetSkill( SkillName.MagicResist, 56.2, 96.0 );
SetSkill( SkillName.Tactics, 88.2, 128.0 );
SetSkill( SkillName.HandToHand, 80.2, 112.0 );
Fame = 2400;
Karma = -2400;
VirtualArmor = 45;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
}
public override bool CanRummageCorpses{ get{ return true; } }
public override int Meat{ get{ return 3; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public Sahuagin( 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,68 @@
using System;
using Server;
using Server.Misc;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a sahuagin corpse" )]
public class SahuaginMage : BaseCreature
{
[Constructable]
public SahuaginMage () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a sahuagin mage";
Body = 145;
BaseSoundID = 0x5E4;
CanSwim = true;
AnimationMod = 4;
SetStr( 116, 150 );
SetDex( 91, 115 );
SetInt( 161, 185 );
SetHits( 70, 90 );
SetDamage( 4, 14 );
SetSkill( SkillName.Concentration, 60.1, 72.5 );
SetSkill( SkillName.Magery, 60.1, 72.5 );
SetSkill( SkillName.MagicResist, 60.1, 75.0 );
SetSkill( SkillName.Tactics, 50.1, 65.0 );
SetSkill( SkillName.HandToHand, 40.1, 50.0 );
Fame = 3000;
Karma = -3000;
VirtualArmor = 30;
PackReg( 6 );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Average );
AddLoot( LootPack.LowScrolls );
}
public override bool CanRummageCorpses{ get{ return true; } }
public override int Meat{ get{ return 3; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public SahuaginMage( 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 Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a devilish corpse" )]
public class SeaDevil : BaseCreature
{
public override double DispelDifficulty{ get{ return 125.0; } }
public override double DispelFocus{ get{ return 45.0; } }
[Constructable]
public SeaDevil () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = NameList.RandomName( "daemon" );
HiddenTitle = "the sea devil";
Body = 303;
BaseSoundID = 357;
Clan = Clan.Demonic;
CanSwim = true;
SetStr( 714, 758 );
SetDex( 114, 143 );
SetInt( 452, 488 );
SetHits( 429, 455 );
SetDamage( 11, 21 );
SetSkill( SkillName.Concentration, 105.2, 120.0 );
SetSkill( SkillName.Magery, 105.2, 120.0 );
SetSkill( SkillName.MagicResist, 127.7, 142.5 );
SetSkill( SkillName.Tactics, 105.2, 120.0 );
SetSkill( SkillName.HandToHand, 90.2, 120.0 );
Fame = 22500;
Karma = -22500;
VirtualArmor = 85;
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich );
AddLoot( LootPack.Rich, 2 );
AddLoot( LootPack.MedScrolls );
AddLoot( LootPack.HighScrolls );
}
public override bool CanRummageCorpses{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Greater; } }
public override int Meat{ get{ return 2; } }
public SeaDevil( 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 Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a SeaHydra corpse" )]
public class SeaHydra : BaseCreature
{
public override bool ReacquireOnMovement{ get{ return !Controlled; } }
public override bool HasBreath{ get{ return true; } } // fire breath enabled
[Constructable]
public SeaHydra () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a hydra";
Body = 140;
BaseSoundID = 0x488;
CanSwim = true;
SetStr( 396, 425 );
SetDex( 86, 105 );
SetInt( 236, 275 );
SetHits( 378, 395 );
SetDamage( 12, 18 );
SetSkill( SkillName.Concentration, 30.1, 40.0 );
SetSkill( SkillName.Poisoning, 30.1, 40.0 );
SetSkill( SkillName.Magery, 30.1, 40.0 );
SetSkill( SkillName.MagicResist, 99.1, 100.0 );
SetSkill( SkillName.Tactics, 97.6, 100.0 );
SetSkill( SkillName.HandToHand, 90.1, 92.5 );
Fame = 10000;
Karma = -10000;
VirtualArmor = 40;
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 2 );
AddLoot( LootPack.Gems, 8 );
}
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
public override Poison HitPoison{ get{ return Poison.Deadly; } }
public override int Meat{ get{ return 10; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 20; } }
public SeaHydra( 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 Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a sea serpents corpse" )]
[TypeAlias( "Server.Mobiles.Seaserpant" )]
public class SeaSerpent : BaseCreature
{
[Constructable]
public SeaSerpent() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a sea serpent";
Body = 150;
BaseSoundID = 447;
Hue = Utility.Random( 0x530, 9 );
SetStr( 168, 225 );
SetDex( 58, 85 );
SetInt( 53, 95 );
SetHits( 110, 127 );
SetDamage( 7, 13 );
SetSkill( SkillName.MagicResist, 60.1, 75.0 );
SetSkill( SkillName.Tactics, 60.1, 70.0 );
SetSkill( SkillName.HandToHand, 60.1, 70.0 );
Fame = 6000;
Karma = -6000;
VirtualArmor = 30;
CanSwim = true;
CantWalk = true;
if ( Utility.RandomBool() )
PackItem( new SulfurousAsh( 4 ) );
else
PackItem( new BlackPearl( 4 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override bool HasBreath{ get{ return true; } }
public override int Meat{ get{ return 5; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 10; } }
public SeaSerpent( 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 Server;
using Server.Misc;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a seahorse corpse" )]
public class Seahorse : BaseCreature
{
public override TimeSpan ReacquireDelay { get { return TimeSpan.FromSeconds( 1.0 ); } }
[Constructable]
public Seahorse() : base( AIType.AI_Mage, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
{
Name = "a seahorse";
Body = 335;
Hue = Utility.RandomList( 0x49A, 0x49B );
CanSwim = true;
CantWalk = true;
BaseSoundID = 0x39D;
SetStr( 296, 325 );
SetDex( 296, 325 );
SetInt( 296, 325 );
SetHits( 218, 235 );
SetDamage( 17, 25 );
SetSkill( SkillName.Concentration, 80.0 );
SetSkill( SkillName.Magery, 80.0 );
SetSkill( SkillName.MagicResist, 80.0 );
SetSkill( SkillName.Tactics, 80.0 );
SetSkill( SkillName.HandToHand, 80.0 );
Fame = 8000;
Karma = 8000;
VirtualArmor = 50;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Rich, 2 );
AddLoot( LootPack.Average );
}
public override int Meat{ get{ return 10; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override int Hides{ get{ return 10; } }
public override bool BleedImmune{ get{ return true; } }
public Seahorse( 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.Misc;
namespace Server.Mobiles
{
[CorpseName( "a shark corpse" )]
public class Shark : BaseCreature
{
[Constructable]
public Shark() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a shark";
Body = 273;
BaseSoundID = 0x294;
AnimationMod = 2;
SetStr( 168, 225 );
SetDex( 58, 85 );
SetInt( 53, 95 );
SetHits( 210, 227 );
SetDamage( 7, 13 );
SetSkill( SkillName.MagicResist, 15.1, 20.0 );
SetSkill( SkillName.Tactics, 45.1, 60.0 );
SetSkill( SkillName.HandToHand, 45.1, 60.0 );
Fame = 6000;
Karma = -6000;
VirtualArmor = 29;
CanSwim = true;
CantWalk = true;
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override int Meat{ get{ return 8; } }
public override MeatType MeatType{ get{ return MeatType.Fish; } }
public override bool BleedImmune{ get{ return true; } }
public override int Hides{ get{ return 8; } }
public Shark( 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();
}
}
}