Пример #1
0
        public override void Pulse()
        {
            if (!StyxWoW.IsInGame || !StyxWoW.IsInWorld)
            {
                return;
            }
            if (TalentManager.Pulse())
            {
                return;
            }

            UpdateContext();
            Spell.DoubleCastPreventionDict.RemoveAll(t => DateTime.UtcNow > t);

            switch (StyxWoW.Me.Class)
            {
            case WoWClass.Hunter:
            case WoWClass.DeathKnight:
            case WoWClass.Warlock:
            case WoWClass.Mage:
                PetManager.Pulse();
                break;
            }

            if (HealerManager.NeedHealTargeting)
            {
                HealerManager.Instance.Pulse();
            }

            if (Movement)
            {
                Helpers.Movement.PulseMovement();
                TargetingGeneral.TargetingPulse();
            }

            if (!BotManager.Current.Name.Equals("BGBuddy") && !BotManager.Current.Name.Equals("Bg Bot"))
            {
                return;
            }
            if (StyxWoW.IsInGame == false || StyxWoW.Me.IsValid == false)
            {
                return;
            }
            if (StyxWoW.Me.IsActuallyInCombat && Helpers.Movement.MoveTo(StyxWoW.Me.CurrentTarget))
            {
                Blacklist.Flush();
            }
            if (TargetingPvP.TargetExists())
            {
                TargetingPvP.GetInCombat(); return;
            }
            if (StyxWoW.Me.IsDead || StyxWoW.Me.HasAura("Preparation"))
            {
                Helpers.Movement.StopMovement(true, true, true, true); StyxWoW.Me.ClearTarget(); return;
            }
            TargetingPvP.TargetPulse();
        }