using System; using System.Collections; using Server.Items; using Server.Targeting; namespace Server.Mobiles { [CorpseName( "a ghastly corpse" )] public class Wight : BaseCreature { [Constructable] public Wight() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a wight"; Body = 152; BaseSoundID = 471; Clan = Clan.Undead; SetStr( 76, 100 ); SetDex( 76, 95 ); SetInt( 36, 60 ); SetHits( 46, 60 ); SetMana( 0 ); SetDamage( 7, 9 ); SetSkill( SkillName.Poisoning, 45.1, 60.0 ); SetSkill( SkillName.MagicResist, 45.1, 60.0 ); SetSkill( SkillName.Tactics, 45.1, 60.0 ); SetSkill( SkillName.HandToHand, 45.1, 55.0 ); Fame = 2500; Karma = -2500; VirtualArmor = 28; } public override void GenerateLoot() { AddLoot( LootPack.Meager ); } public override Poison PoisonImmune{ get{ return Poison.Lethal; } } public override Poison HitPoison{ get{ return Poison.Lesser; } } public void DrainBrain( Mobile m ) { if ( m.Mana > 0 ) { DoHarmful( m ); m.SendMessage( "The creature's touch drains your mind!" ); int toDrain = Utility.RandomMinMax( 2, 10 ); m.PlaySound( 0x181 ); Mana += toDrain; m.Mana -= toDrain; } } public override void OnGaveMeleeAttack( Mobile defender ) { base.OnGaveMeleeAttack( defender ); DrainBrain( defender ); } public override void OnGotMeleeAttack( Mobile attacker ) { base.OnGotMeleeAttack( attacker ); DrainBrain( attacker ); } public Wight( 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(); } } }