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