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(); } } }