#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
5df497787a
7510 changed files with 416048 additions and 0 deletions
69
Scripts/Mobiles/Sea/Dagon.cs
Normal file
69
Scripts/Mobiles/Sea/Dagon.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
70
Scripts/Mobiles/Sea/DeepSeaSerpent.cs
Normal file
70
Scripts/Mobiles/Sea/DeepSeaSerpent.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
78
Scripts/Mobiles/Sea/Dolphin.cs
Normal file
78
Scripts/Mobiles/Sea/Dolphin.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
61
Scripts/Mobiles/Sea/GiantCrab.cs
Normal file
61
Scripts/Mobiles/Sea/GiantCrab.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
106
Scripts/Mobiles/Sea/GiantEel.cs
Normal file
106
Scripts/Mobiles/Sea/GiantEel.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
67
Scripts/Mobiles/Sea/GiantSquid.cs
Normal file
67
Scripts/Mobiles/Sea/GiantSquid.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
66
Scripts/Mobiles/Sea/GreatWhite.cs
Normal file
66
Scripts/Mobiles/Sea/GreatWhite.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
64
Scripts/Mobiles/Sea/Kraken.cs
Normal file
64
Scripts/Mobiles/Sea/Kraken.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
65
Scripts/Mobiles/Sea/Krakoa.cs
Normal file
65
Scripts/Mobiles/Sea/Krakoa.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
71
Scripts/Mobiles/Sea/Ktulu.cs
Normal file
71
Scripts/Mobiles/Sea/Ktulu.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
84
Scripts/Mobiles/Sea/Leviathan.cs
Normal file
84
Scripts/Mobiles/Sea/Leviathan.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
65
Scripts/Mobiles/Sea/Lobstran.cs
Normal file
65
Scripts/Mobiles/Sea/Lobstran.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
66
Scripts/Mobiles/Sea/Lochasaur.cs
Normal file
66
Scripts/Mobiles/Sea/Lochasaur.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
68
Scripts/Mobiles/Sea/Lurker.cs
Normal file
68
Scripts/Mobiles/Sea/Lurker.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
67
Scripts/Mobiles/Sea/Megalodon.cs
Normal file
67
Scripts/Mobiles/Sea/Megalodon.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
64
Scripts/Mobiles/Sea/Sahuagin.cs
Normal file
64
Scripts/Mobiles/Sea/Sahuagin.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
68
Scripts/Mobiles/Sea/SahuaginMage.cs
Normal file
68
Scripts/Mobiles/Sea/SahuaginMage.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
71
Scripts/Mobiles/Sea/SeaDevil.cs
Normal file
71
Scripts/Mobiles/Sea/SeaDevil.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
70
Scripts/Mobiles/Sea/SeaHydra.cs
Normal file
70
Scripts/Mobiles/Sea/SeaHydra.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
71
Scripts/Mobiles/Sea/SeaSerpent.cs
Normal file
71
Scripts/Mobiles/Sea/SeaSerpent.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
70
Scripts/Mobiles/Sea/Seahorse.cs
Normal file
70
Scripts/Mobiles/Sea/Seahorse.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
65
Scripts/Mobiles/Sea/Shark.cs
Normal file
65
Scripts/Mobiles/Sea/Shark.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue