internal static void Rotation()
    {
        Main.Log("Started");
        while (Main._isLaunched)
        {
            try
            {
                if (!Products.InPause && !ObjectManager.Me.IsDeadMe)
                {
                    Main.settingRange = _goInMelee ? 5f : _pullRange;
                    CheckEnchantWeapon();
                    totemManager.CheckForTotemicCall();

                    // Lesser Healing Wave OOC
                    if (!Fight.InFight && Me.HealthPercent < 65 && LesserHealingWave.KnownSpell)
                    {
                        Cast(LesserHealingWave);
                    }

                    // Ghost Wolf
                    if (Me.ManaPercentage > 50 && !Me.IsIndoors && _ghostWolfTimer.ElapsedMilliseconds > 3000 &&
                        _settings.UseGhostWolf && !Me.IsMounted && !Fight.InFight && !Me.HaveBuff("Ghost Wolf") &&
                        !ObjectManager.Target.IsFlightMaster)
                    {
                        _ghostWolfTimer.Stop();
                        Cast(GhostWolf);
                    }

                    // Buff rotation
                    if (!Fight.InFight && ObjectManager.GetNumberAttackPlayer() < 1)
                    {
                        BuffRotation();
                    }

                    // Pull & Combat rotation
                    if (Fight.InFight && ObjectManager.Me.Target > 0UL && ObjectManager.Target.IsAttackable && ObjectManager.Target.IsAlive)
                    {
                        if (ObjectManager.GetNumberAttackPlayer() < 1 && !ObjectManager.Target.InCombatFlagOnly)
                        {
                            Pull();
                        }
                        else
                        {
                            CombatRotation();
                        }
                    }
                }
            }
            catch (Exception arg)
            {
                Logging.WriteError("ERROR: " + arg, true);
            }
            Thread.Sleep(ToolBox.GetLatency() + _settings.ThreadSleepCycle);
        }
        Main.Log("Stopped.");
    }
Beispiel #2
0
    internal static void Rotation()
    {
        while (_isLaunched)
        {
            try
            {
                if (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause)
                {
                    if (lowlevel)
                    {
                        Main.settingRange = 25f;
                    }
                    if (!lowlevel)
                    {
                        Main.settingRange = 5f;
                    }
                    if (!Fight.InFight)
                    {
                        if (Spec == "Under10")
                        {
                            Under10Rotation();
                            Under10HealRotation();
                        }
                        if (Spec == "Elemental")
                        {
                            ElementalRotation();
                            ElementalHealRotation();
                        }
                        if (Spec == "Enhancement")
                        {
                            EnhancementRotation();
                            EnhancementHealRotation();
                        }
                        if (Spec == "Restoration")
                        {
                            RestorationRotation();
                            RestorationHealRotation();
                        }
                        TotemManager.CheckForTotemicCall();
                        BuffRotation();
                        EnchantWeapon();
                    }

                    if (Fight.InFight && ObjectManager.Me.HasTarget)
                    {
                        if (Spec == "Under10")
                        {
                            Under10Rotation();
                            Under10HealRotation();
                        }
                        if (Spec == "Elemental")
                        {
                            ElementalRotation();
                            ElementalHealRotation();
                        }
                        if (Spec == "Enhancement")
                        {
                            EnhancementRotation();
                            EnhancementHealRotation();
                        }
                        if (Spec == "Restoration")
                        {
                            RestorationRotation();
                            RestorationHealRotation();
                        }
                        EnchantWeapon();
                    }
                }
            }
            catch (Exception e)
            {
                Logging.Write("error" + e);
            }
            Thread.Sleep(ShamanLevelSettings.CurrentSetting.Delay);
        }
    }