using Server.Items; namespace Server.Mobiles { public class GolemController : BaseCreature { public override string CorpseName => "a golem controller corpse"; [Constructible] public GolemController() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = NameList.RandomName( "golem controller" ); Title = "the controller"; Body = 400; Hue = 0x455; AddArcane( new Robe() ); AddArcane( new ThighBoots() ); AddArcane( new LeatherGloves() ); AddArcane( new Cloak() ); SetStr( 126, 150 ); SetDex( 96, 120 ); SetInt( 151, 175 ); SetHits( 76, 90 ); SetDamage( 6, 12 ); SetDamageType( ResistanceType.Physical, 100 ); SetResistance( ResistanceType.Physical, 30, 40 ); SetResistance( ResistanceType.Fire, 25, 35 ); SetResistance( ResistanceType.Cold, 35, 45 ); SetResistance( ResistanceType.Poison, 5, 15 ); SetResistance( ResistanceType.Energy, 15, 25 ); SetSkill( SkillName.EvalInt, 95.1, 100.0 ); SetSkill( SkillName.Magery, 95.1, 100.0 ); SetSkill( SkillName.Meditation, 95.1, 100.0 ); SetSkill( SkillName.MagicResist, 102.5, 125.0 ); SetSkill( SkillName.Tactics, 65.0, 87.5 ); SetSkill( SkillName.Wrestling, 65.0, 87.5 ); Fame = 4000; Karma = -4000; VirtualArmor = 16; if ( 0.7 > Utility.RandomDouble() ) PackItem( new ArcaneGem() ); } public override void GenerateLoot() { AddLoot( LootPack.Rich ); } public void AddArcane( Item item ) { if ( item is IArcaneEquip eq ) { eq.CurArcaneCharges = eq.MaxArcaneCharges = 20; } item.Hue = ArcaneGem.DefaultArcaneHue; item.LootType = LootType.Newbied; AddItem( item ); } public override bool ClickTitle => false; public override bool ShowFameTitle => false; public override bool AlwaysMurderer => true; public GolemController( 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(); } } }