using System; using Server.Items; using Server.Targeting; using System.Collections; namespace Server.Mobiles { [CorpseName( "a spider corpse" )] public class BloodSpider : BaseCreature { [Constructable] public BloodSpider() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a blood spider"; Body = 193; BaseSoundID = 0x388; SetStr( 76, 100 ); SetDex( 96, 115 ); SetInt( 36, 60 ); SetHits( 46, 60 ); SetDamage( 5, 17 ); SetSkill( SkillName.Poisoning, 60.1, 80.0 ); SetSkill( SkillName.MagicResist, 45.1, 60.0 ); SetSkill( SkillName.Tactics, 65.1, 80.0 ); SetSkill( SkillName.HandToHand, 70.1, 85.0 ); Fame = 4000; Karma = -4000; VirtualArmor = 24; PackItem( new SpidersSilk( 5 ) ); PackItem( new LesserPoisonPotion() ); PackItem( new LesserPoisonPotion() ); } public override void GenerateLoot() { AddLoot( LootPack.Average ); } public override Poison PoisonImmune{ get{ return Poison.Deadly; } } public override Poison HitPoison{ get{ return Poison.Deadly; } } public void DrainBlood( Mobile m ) { DoHarmful( m ); new Blood().MoveToWorld( m.Location, m.Map ); m.SendMessage( "The creature feeds on your blood!" ); int toDrain = Utility.RandomMinMax( 2, 10 ); m.PlaySound( 0x23F ); Hits += toDrain; m.Damage( toDrain, this ); } public override void OnGaveMeleeAttack( Mobile defender ) { base.OnGaveMeleeAttack( defender ); DrainBlood( defender ); } public override void OnGotMeleeAttack( Mobile attacker ) { base.OnGotMeleeAttack( attacker ); DrainBlood( attacker ); } public BloodSpider( 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(); } } }