using System; using Server; using Server.Misc; using Server.Items; namespace Server.Mobiles { [CorpseName( "a Mimic corpse" )] public class Mimic : BaseCreature { public override InhumanSpeech SpeechType{ get{ return InhumanSpeech.Wisp; } } [Constructable] public Mimic() : base( AIType.AI_Mage, FightMode.Agressor, 10, 1, 0.2, 0.4 ) { Name = "a Mimic"; Body = 58; Hue = 1175; BaseSoundID = 466; SetStr( 196, 225 ); SetDex( 196, 225 ); SetInt( 196, 225 ); SetHits( 118, 135 ); SetDamage( 17, 18 ); SetDamageType( ResistanceType.Physical, 50 ); SetDamageType( ResistanceType.Energy, 50 ); SetResistance( ResistanceType.Physical, 35, 45 ); SetResistance( ResistanceType.Fire, 20, 40 ); SetResistance( ResistanceType.Cold, 10, 30 ); SetResistance( ResistanceType.Poison, 5, 10 ); SetResistance( ResistanceType.Energy, 50, 70 ); SetSkill( SkillName.EvalInt, 110.0 ); SetSkill( SkillName.Magery, 110.0 ); SetSkill( SkillName.MagicResist, 110.0 ); SetSkill( SkillName.Tactics, 110.0 ); SetSkill( SkillName.Wrestling, 110.0 ); SetSkill( SkillName.Meditation, 110.0 ); Fame = 8000; Karma = 0; VirtualArmor = 40; AddItem( new DarkSource() ); } public override void GenerateLoot() { AddLoot( LootPack.Rich ); AddLoot( LootPack.Average ); } public override void OnDamagedBySpell( Mobile from ) { Mobile m = from.Combatant; if (m.Combatant == null) return; if (m.Body == 58) m.Say( "I will steal your Body and now your Soul..." ); if (m.Body != from.Body) { m.BoltEffect( 0 ); m.Body = from.Body; m.Hue = from.Hue; m.Name = from.Name; m.Fame = from.Fame; m.Karma = (0-from.Karma); m.Title = from.Title; m.Criminal = (from.Criminal); m.Str = from.Str; m.Int = from.Int; m.Dex = from.Dex; m.Hits =from.Hits; m.Dex = from.Dex; m.Mana = from.Mana; m.Stam = from.Stam; m.Female = from.Female; m.VirtualArmor = (from.VirtualArmor); Item hair = new Item( Utility.RandomList( 8265 ) ); hair.Hue = 1153; hair.Layer = Layer.Hair; hair.Movable = false; m.AddItem( hair ); Kasa hat = new Kasa(); hat.Name = "Dark Kasa"; hat.Hue = 1175; hat.Movable = false; m.AddItem( hat ); DeathRobe robe = new DeathRobe(); robe.Name = "Death Robe"; robe.Hue = 1175; robe.Movable = false; m.AddItem( robe ); Sandals sandals = new Sandals(); sandals.Name = "Black Pearl"; sandals.Hue = 1; sandals.Movable = false; m.AddItem( sandals ); Spellbook book = new Spellbook( UInt64.MaxValue ); book.Name = "Black Magick"; book.Hue = 1175; book.Movable = false; m.AddItem( book ); BagOfAllReagents bag = new BagOfAllReagents(); m.AddToBackpack( bag ); m.BoltEffect( 0 ); } switch ( Utility.Random( 6 ) ) { case 0: m.Say( "You can not Win with Magic..." ); break; case 1: m.Say( "Your image is weak as with your mind..." ); break; case 2: m.Say( "It feels good to wear your skin..." ); break; case 3: m.Say( "I'll take over your life as soon as I end it..." ); break; case 4: m.Say( "Don't you like having a twin, lol..." ); break; case 5: m.Say( "You lack the skills to defeat me..." ); break; } from.BoltEffect( 0 ); from.Damage( Utility.Random( 1, 100 ) ); m.Hits += ( Utility.Random( 1, 100 ) ); } public Mimic( 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(); } } }