using System; using Server; using Server.Mobiles; using Server.Items; using Server.SpellCrafting.Items; namespace Server.SpellCrafting.Mobiles { [CorpseName( "a guardian of the magics corpse" )] public class Guardian : BaseCreature { private static string[] m_Names = new string[] { "Bug", "Fingers", "Nibble", "Flagnu", "Bostar", "Nubu", "Flarg" }; private static string[] m_Last = new string[] { "Dominator of the Magics", "Master of the Magics", "Crusher of the Craftmaker", "Mystic Spellcrafter", "Master of Divine Trinkets" }; [Constructable] public Guardian() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = m_Names[Utility.Random(m_Names.Length)]; Title = m_Last[Utility.Random(m_Last.Length)]; Body = 0x190; Hue = Utility.RandomSkinHue(); SetStr( 120, 200 ); SetDex( 100, 300 ); SetInt( 300, 1000 ); SetHits( 1500, 2500 ); SetDamage( 30, 60 ); SetDamageType( ResistanceType.Physical, 300 ); SetResistance( ResistanceType.Physical, 50, 70 ); SetResistance( ResistanceType.Fire, 50, 70 ); SetResistance( ResistanceType.Cold, 50, 70 ); SetResistance( ResistanceType.Poison, 50, 70 ); SetResistance( ResistanceType.Energy, 50, 70 ); SetSkill( SkillName.EvalInt, 90.0, 100.0 ); SetSkill( SkillName.Magery, 180.0, 250.0 ); SetSkill( SkillName.Meditation, 95.0, 400.0 ); SetSkill( SkillName.MagicResist, 100.0, 120.0 ); SetSkill( SkillName.Tactics, 90.0, 100.0 ); SetSkill( SkillName.Wrestling, 90.0, 100.0 ); Fame = 13000; Karma = -13000; VirtualArmor = 70; int hue = Utility.RandomNeutralHue(); AddItem( new Robe( hue ) ); AddItem( new Sandals() ); AddItem( new WizardsHat( hue ) ); PackItem( SpellCraft.RandomCraft( .35 ) ); PackItem( SpellCraft.RandomCraft( .35 ) ); PackItem( SpellCraft.RandomCraft( .35 ) ); PackGold( 400, 600 ); PackItem( new MagicJewel( 10 ) ); PackMagicItems( 2, 4, 0.45, 0.35 ); } public override bool CanRummageCorpses{ get{ return true; } } public override Poison PoisonImmune{ get{ return Poison.Lethal; } } public override int TreasureMapLevel{ get{ return 5; } } public override bool ShowFameTitle{ get{ return false; } } public override bool AlwaysMurderer{ get{ return true; } } public Guardian( 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(); } } }