示例#1
0
        public override void AutoAttackTarget()
        {
            if (BlessingOfWisdom.CanCastSpell)
            {
                BlessingOfWisdom.CastSpell();
            }
            else if (!Api.PlayerData.PlayerInCombat)
            {
                return;
            }
            else if (!Api.PlayerData.PlayerHasTarget)
            {
                Target.Act();
            }
            else if (!Api.PlayerData.PlayerIsAttacking)
            {
                Attack.Act();
            }
            else if (FirstSeal != FirstSealType.None)
            {
                switch (FirstSeal)
                {
                case FirstSealType.Crusader:
                    if (SealOfTheCrusader.CanCastSpell)
                    {
                        SealOfTheCrusader.CastSpell();
                    }
                    break;

                case FirstSealType.Justice:
                    if (SealOfJustice.CanCastSpell)
                    {
                        SealOfJustice.CastSpell();
                    }
                    break;
                }
            }
            else if (Judgement.CanCastSpell)
            {
                Judgement.CastSpell();
            }
            else if (SealOfCommand.CanCastSpell)
            {
                SealOfCommand.CastSpell();
            }
        }
示例#2
0
 private void AutoAttackTargetDruidHumanoidPassive()
 {
     if (Thorns.CanCastSpell)
     {
         Thorns.CastSpell();
     }
     else if (Motw.CanCastSpell)
     {
         Motw.CastSpell();
     }
     else if (HealingTouch.CanCastSpell)
     {
         HealingTouch.CastSpell();
     }
 }
示例#3
0
        public override void FindTarget()
        {
            WaypointFollower.FollowWaypoints(true);

            if (PoisonMain.CanCastSpell && ApplyPoison)
            {
                WaypointFollower.StopFollowingWaypoints();
                Helper.WaitSeconds(1.0);
                PoisonMain.CastSpell();
                Helper.WaitSeconds(4.5);
                PoisonOff.CastSpell();
                Helper.WaitSeconds(4.5);
                Input.RightClick();
                return;
            }

            if (!FriendlyFlag && DontThrow)
            {
                Input.KeyPress(VirtualKeyCode.VK_P);
                Helper.WaitSeconds(Automater.RegisterDelay);
            }

            if (Api.PlayerData.IsTargetPlayer && !FriendlyFlag && DontThrow)
            {
                FriendlyTimer.Start();
                FriendlyFlag = true;
            }

            CheckFindMode();
            bool validTarget;

            if (FindTargetMode == RogueFindTargetMode.StealthAndThrow)
            {
                if (Stealth.CanCastSpell)
                {
                    Stealth.CastSpell();

                    if (!AlwaysStealth)
                    {
                        StaleStealthTimer.Start();
                    }
                }

                validTarget = Api.PlayerData.PlayerHasTarget &&
                              Api.PlayerData.TargetHealthPercentage > 99.9 &&
                              !Api.PlayerData.TargetInCombat &&
                              Api.PlayerData.TargetFaction == 0 &&
                              Api.PlayerData.IsInFarRange &&
                              !Api.PlayerData.IsInCloseRange &&
                              Throw.CanCastSpell;

                if (validTarget)
                {
                    WaypointFollower.StopFollowingWaypoints();

                    Helper.WaitSeconds(1);
                    Throw.CastSpell();
                    Helper.WaitSeconds(2.5);
                }
            }
            else if (FindTargetMode == RogueFindTargetMode.Throw)
            {
                validTarget = Api.PlayerData.PlayerHasTarget &&
                              Api.PlayerData.TargetHealthPercentage > 99.9 &&
                              !Api.PlayerData.TargetInCombat &&
                              Api.PlayerData.TargetFaction == 0 &&
                              Api.PlayerData.IsInFarRange &&
                              !Api.PlayerData.IsInCloseRange &&
                              Throw.CanCastSpell;

                if (validTarget)
                {
                    WaypointFollower.StopFollowingWaypoints();

                    Helper.WaitSeconds(1);
                    Throw.CastSpell();
                    Helper.WaitSeconds(2.5);
                }
            }
            else if (FindTargetMode == RogueFindTargetMode.Stealth)
            {
                if (Stealth.CanCastSpell)
                {
                    Stealth.CastSpell();

                    if (!AlwaysStealth)
                    {
                        StaleStealthTimer.Start();
                    }
                }

                validTarget = Api.PlayerData.PlayerHasTarget &&
                              Api.PlayerData.TargetHealthPercentage > 99.9 &&
                              !Api.PlayerData.TargetInCombat &&
                              Api.PlayerData.TargetFaction == 0 &&
                              Api.PlayerData.IsInCloseRange;

                if (validTarget)
                {
                    if (Api.PlayerData.IsInCloseRange)
                    {
                        Input.KeyPress(VirtualKeyCode.VK_2);
                        Helper.WaitSeconds(0.1);
                    }
                }
            }
            else
            {
                validTarget = Api.PlayerData.PlayerHasTarget &&
                              Api.PlayerData.TargetHealthPercentage > 99.9 &&
                              !Api.PlayerData.TargetInCombat &&
                              Api.PlayerData.TargetFaction == 0 &&
                              Api.PlayerData.IsInCloseRange;

                if (validTarget)
                {
                    Input.KeyPress(VirtualKeyCode.VK_2);
                    Helper.WaitSeconds(0.1);
                }
            }

            if (!validTarget)
            {
                Target.Act();
            }
        }