Exemplo n.º 1
0
        private static void RegenerateVitals()
        {
            if (CheckCombat())
            {
                return;
            }

            if (CheckDead())
            {
                return;
            }

            if (m_InitializeAction)
            {
                WaypointFollower.StopFollowingWaypoints();
                Helper.WaitSeconds(1);
                Input.KeyPress(VirtualKeyCode.VK_8);
                Helper.WaitSeconds(RegisterDelay);
                Input.KeyPress(VirtualKeyCode.VK_9);
                Helper.WaitSeconds(RegisterDelay);

                m_WowClassAutomater.RegenerateVitals();

                m_InitializeAction = false;
            }

            else if (Api.PlayerData.PlayerHealth == Api.PlayerData.MaxPlayerHealth)
            {
                TransitionState(ActionMode.FindTarget);
            }
        }
Exemplo n.º 2
0
        public override void FindTarget()
        {
            WaypointFollower.FollowWaypoints(true);

            // Look for target
            Input.KeyPress(VirtualKeyCode.TAB);
            Helper.WaitSeconds(0.1);

            // Found a target
            if (Api.PlayerData.PlayerHasTarget)
            {
                bool validEnemy = Api.PlayerData.TargetHealthPercentage > 99.9 &&
                                  !Api.PlayerData.TargetInCombat &&
                                  !Api.PlayerData.IsTargetPlayer &&
                                  Api.PlayerData.IsInFarRange &&
                                  !Api.PlayerData.IsInCloseRange;

                if (validEnemy && Api.PlayerData.PlayerMana >= 20)
                {
                    WaypointFollower.StopFollowingWaypoints();

                    // PewPew Wrath
                    Helper.WaitSeconds(1);
                    Input.KeyPress(VirtualKeyCode.VK_2);
                    Helper.WaitSeconds(1.75);
                    Input.KeyPress(VirtualKeyCode.VK_2);
                    Helper.WaitSeconds(1.75);
                }
            }
        }
Exemplo n.º 3
0
        private static void CheckIdle()
        {
            if (m_RelayFlag)
            {
                WaypointFollower.StopFollowingWaypoints();
                Relay();
                m_RelayFlag = false;
            }
            else if (m_RemoteStopFlag)
            {
                if (!m_Idle)
                {
                    WaypointFollower.StopFollowingWaypoints();
                    m_PreviousActionMode = m_CurrentActionMode;
                }

                m_CurrentActionMode = ActionMode.RemoteStop;
                m_Idle = true;
            }
            else if (!Api.PlayerData.IsWowForeground)
            {
                if (!m_Idle)
                {
                    WaypointFollower.StopFollowingWaypoints();
                    m_PreviousActionMode = m_CurrentActionMode;
                }

                m_CurrentActionMode = ActionMode.WaitingForWow;
                m_Idle = true;
            }
            else if (!Api.PlayerData.Found)
            {
                if (!m_Idle)
                {
                    WaypointFollower.StopFollowingWaypoints();
                    m_PreviousActionMode = m_CurrentActionMode;
                }

                m_CurrentActionMode = ActionMode.WaitingForAddon;
                m_Idle = true;
            }
            else if (!Api.PlayerData.Start)
            {
                if (!m_Idle)
                {
                    WaypointFollower.StopFollowingWaypoints();
                    m_PreviousActionMode = m_CurrentActionMode;
                }

                m_CurrentActionMode = ActionMode.ReadyToStart;
                m_Idle = true;
            }
            else if (m_Idle)
            {
                m_CurrentActionMode = m_PreviousActionMode;
                m_Idle = false;
            }
        }
Exemplo n.º 4
0
        public override void FindTarget()
        {
            WaypointFollower.FollowWaypoints(true);

            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 (SealOfCommand.CanCastSpell)
            {
                SealOfCommand.CastSpell();
            }

            bool validTarget = false;

            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_3);
                    Helper.WaitSeconds(0.5);
                }
            }
            else
            {
                Target.Act();
            }
        }
Exemplo n.º 5
0
        private static void AutoWalk()
        {
            if (m_NoWalk)
            {
                return;
            }

            if (m_Resetwaypoints)
            {
                WaypointFollower.SetWaypoints(m_WalkWaypoints);

                m_Resetwaypoints = false;
            }

            WaypointFollower.FollowWaypoints(false);
        }
Exemplo n.º 6
0
        private static void Revive()
        {
            if (m_NoDead)
            {
                return;
            }

            if (m_InitializeAction)
            {
                List <Waypoint> reviveWaypoints = new List <Waypoint>();

                reviveWaypoints.AddRange(m_ReviveWaypoints);
                reviveWaypoints.AddRange(m_PathWaypoints);

                WaypointFollower.SetWaypoints(reviveWaypoints);

                Helper.WaitSeconds(3.5);
                Input.MoveMouseTo(XReviveButtonLocation, YReviveButtonLocation);
                Helper.WaitSeconds(RegisterDelay);
                Input.LeftClick();

                Helper.WaitSeconds(1.0);
                m_ReviveSw.Start();

                m_InitializeAction = false;
            }

            WaypointFollower.FollowWaypoints(true);

            if (m_ReviveSw.ElapsedMilliseconds > 1000)
            {
                Input.LeftClick();
                m_ReviveSw.Restart();
            }

            if (Api.PlayerData.PlayerHealth > 1)
            {
                WaypointFollower.StopFollowingWaypoints();
                TransitionState(ActionMode.RegenerateVitals);
                m_ReviveSw.Stop();
                m_Resetwaypoints = true;

                Helper.WaitSeconds(1);
            }
        }
Exemplo n.º 7
0
        private static void FindTarget()
        {
            if (m_Resetwaypoints)
            {
                WaypointFollower.SetWaypoints(m_PathWaypoints);

                m_Resetwaypoints = false;
            }

            if (CheckCombat())
            {
                return;
            }

            if (CheckDead())
            {
                return;
            }

            m_WowClassAutomater.FindTarget();
        }
Exemplo n.º 8
0
        private static void KillTarget()
        {
            if (CheckDead())
            {
                return;
            }

            if (m_InitializeAction)
            {
                WaypointFollower.StopFollowingWaypoints();
                Helper.WaitSeconds(0.5);
                m_InitializeAction = false;
            }
            else if (!Api.PlayerData.PlayerInCombat)
            {
                Helper.WaitSeconds(RegisterDelay);
                m_Potion = false;
                TransitionState(ActionMode.LootTarget);
            }
            else if (!Api.PlayerData.PlayerHasTarget)
            {
                // Wait
            }
            else if (!Api.PlayerData.TargetInCombat)
            {
                Input.KeyPress(VirtualKeyCode.VK_F);
                Helper.WaitSeconds(RegisterDelay);
            }
            else if (Api.PlayerData.TargetFaction > 0 ||
                     !Api.PlayerData.TargetTargetingPlayer)
            {
                // Wait
            }
            else if (Api.PlayerData.PlayerActionError > ActionErrorType.None &&
                     Api.PlayerData.PlayerActionError < ActionErrorType.OutOfRange)
            {
                Waddle();
                Helper.WaitSeconds(0.35);
            }
            else if (!Api.PlayerData.IsInCloseRange &&
                     m_WowClassAutomater.IsMelee)
            {
                PlayerJitterizer.Jitter();
                Helper.WaitSeconds(0.5);
            }
            else if (!Api.PlayerData.PlayerIsAttacking)
            {
                Input.KeyPress(VirtualKeyCode.VK_1);
                Helper.WaitSeconds(RegisterDelay);
            }
            else if (Api.PlayerData.PlayerHealthPercentage < 10 && !m_Potion)
            {
                Input.KeyPress(VirtualKeyCode.VK_0);
                m_Potion = true;
            }
            else
            {
                m_WowClassAutomater.KillTarget();

                if (m_WowClassAutomater.IsMelee)
                {
                    PlayerJitterizer.RandomJitter();
                }
            }
        }
Exemplo n.º 9
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();
            }
        }