/*Created by Hammerhand*/ using System; using Server; using Server.Misc; using Server.Items; namespace Server.Mobiles { [CorpseName("the Anti-Claus")] public class KrassKringle : BaseCreature { public override bool IsScaredOfScaryThings { get { return false; } } public override bool IsScaryToPets { get { return true; } } public override bool BardImmune { get { return !Core.SE; } } public override bool Unprovokable { get { return Core.SE; } } public override bool Uncalmable { get { return Core.SE; } } public override Poison PoisonImmune { get { return Poison.Lethal; } } private static bool m_Talked; // flag to prevent spam string[] kfcsay = new string[] // things to say while greeting { "HoHoHo??? Ha Ha HA!!!!", "So you think you're GOOD huh?", "I'm going to feed you to my reindeer!", }; [Constructable] public KrassKringle() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Krass Kringle"; Title = "The Anti Claus"; Female = false; Body = 0x190; Hue = 1873; NameHue = 1272; FancyShirt shirt = new FancyShirt(); shirt.Hue = 1; shirt.Movable = false; AddItem(shirt); Surcoat surcoat = new Surcoat(); surcoat.Hue = 1; surcoat.Movable = false; AddItem(surcoat); LongPants longpants = new LongPants(); longpants.Hue = 1; longpants.Movable = false; AddItem(longpants); Boots boots = new Boots(); boots.Hue = 1; boots.Movable = false; AddItem(boots); WizardsHat hat = new WizardsHat(); hat.Hue = 1; hat.Movable = false; AddItem(hat); LeatherGloves gloves = new LeatherGloves(); gloves.Hue = 1; gloves.Movable = false; AddItem(gloves); HairItemID = 0x203C; HairHue = 1153; FacialHairItemID = 0x204B; FacialHairHue = 1153; { } SetStr( 410, 580 ); SetDex( 185, 210 ); SetInt( 300, 450 ); SetDamage(40, 75); SetHits(5000, 10000); SetMana(5000); SetResistance(ResistanceType.Physical, 65, 75); SetResistance(ResistanceType.Fire, 35, 45); SetResistance(ResistanceType.Cold, 100, 110); SetResistance(ResistanceType.Poison, 75, 90); SetResistance(ResistanceType.Energy, 60, 75); SetSkill( SkillName.Fencing, 96.0, 117.5 ); SetSkill( SkillName.Macing, 95.0, 107.5 ); SetSkill( SkillName.MagicResist, 85.0, 107.5 ); SetSkill( SkillName.Swords, 85.0, 119.5 ); SetSkill( SkillName.Tactics, 95.0, 119.5 ); SetSkill( SkillName.Wrestling, 75.0, 97.5 ); SetSkill(SkillName.Anatomy, 90.1, 100.0); SetSkill(SkillName.MagicResist, 140.1, 150.0); SetSkill(SkillName.Necromancy, 100.5, 110.9); SetSkill(SkillName.Healing, 70.2, 79.4); Fame = 1000; Karma = -15000; VirtualArmor = 72; switch ( Utility.Random( 7 )) { case 0: AddItem( new Longsword() ); break; case 1: AddItem( new Cutlass() ); break; case 2: AddItem( new Broadsword() ); break; case 3: AddItem( new Axe() ); break; case 4: AddItem( new Club() ); break; case 5: AddItem( new Dagger() ); break; case 6: AddItem( new Spear() ); break; } } public override void GenerateLoot() { AddLoot(LootPack.UltraRich, 2); if (m_Spawning) { PackItem(new RecipeFragment10()); } } public override bool AlwaysMurderer { get { return true; } } public override int GetIdleSound() { return 0x2F8; } public override int GetAttackSound() { return 0x2C8; } public override int GetHurtSound() { return 0x2D1; } public override int GetDeathSound() { return 0x2F7; } public override void OnMovement(Mobile m, Point3D oldLocation) { if (m_Talked == false) { if (m.InRange(this, 4)) { m_Talked = true; SayRandom(kfcsay, this); this.Move(GetDirectionTo(m.Location)); // Start timer to prevent spam SpamTimer t = new SpamTimer(); t.Start(); } } } private class SpamTimer : Timer { public SpamTimer() : base( TimeSpan.FromSeconds( 8 ) ) { Priority = TimerPriority.OneSecond; } protected override void OnTick() { m_Talked = false; } } private static void SayRandom( string[] say, Mobile m ) { m.Say( say[Utility.Random( say.Length )] ); } public KrassKringle(Serial serial) : base(serial) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } }