Пример #1
0
 public InternalTarget(Boomerang boomerang) : base(10, false, TargetFlags.Harmful)
 {
     m_Boomerang = boomerang;
 }
Пример #2
0
        public GargishOutcast()
            : base(AIType.AI_Mystic, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Race = Race.Gargoyle;
            Title = "the Gargish Outcast";

            SetStr(150);
            SetInt(150);
            SetDex(150);

            SetHits(1000, 1200);
            SetMana(450, 600);

            SetDamage(15, 19);

            if (Utility.RandomBool())
            {
                Name = NameList.RandomName("Gargoyle Male");
                Female = false;
                Body = 666;
            }
            else
            {
                Name = NameList.RandomName("Gargoyle Female");
                Female = true;
                Body = 667;
            }

            Utility.AssignRandomHair(this, true);
            if (!Female)
                Utility.AssignRandomFacialHair(this, true);

            this.Hue = Race.RandomSkinHue();

            BaseWeapon wep;

            switch (Utility.Random(3))
            {
                default:
                case 0: wep = new Cyclone(); break;
                case 1: wep = new SoulGlaive(); break;
                case 2: wep = new Boomerang(); break;
            }

            wep.Attributes.SpellChanneling = 1;
            AddImmovableItem(wep);
            AddImmovableItem(new GargishClothChest(Utility.RandomNeutralHue()));
            AddImmovableItem(new GargishClothArms(Utility.RandomNeutralHue()));
            AddImmovableItem(new GargishClothLegs(Utility.RandomNeutralHue()));
            AddImmovableItem(new GargishClothKilt(Utility.RandomNeutralHue()));

            if (Utility.RandomBool())
                AddImmovableItem(new GargishRobe());

            this.SetDamageType(ResistanceType.Physical, 100);

            this.SetResistance(ResistanceType.Physical, 10, 25);
            this.SetResistance(ResistanceType.Fire, 40, 65);
            this.SetResistance(ResistanceType.Cold, 40, 65);
            this.SetResistance(ResistanceType.Poison, 40, 65);
            this.SetResistance(ResistanceType.Energy, 40, 65);

            this.SetSkill(SkillName.MagicResist, 120.0);
            this.SetSkill(SkillName.Tactics, 50.1, 60.0);
            this.SetSkill(SkillName.Throwing, 120.0);
            this.SetSkill(SkillName.Anatomy, 0.0, 10.0);
            this.SetSkill(SkillName.Magery, 50.0, 80.0);
            this.SetSkill(SkillName.EvalInt, 50.0, 80.0);
            this.SetSkill(SkillName.Meditation, 120);

            this.Fame = 12000;
            this.Karma = -12000;

            PackMysticScroll(1, 3);

            if (.5 > Utility.RandomDouble())
            {
                ChangeAIType(AIType.AI_Mage);

                this.SetSkill(SkillName.Necromancy, 90, 105);
                this.SetSkill(SkillName.SpiritSpeak, 90, 105);
            }
            else
            {
                this.SetSkill(SkillName.Mysticism, 90, 105);
                this.SetSkill(SkillName.Focus, 90, 105);
            }

            m_NextSummon = DateTime.UtcNow;
        }