Beispiel #1
0
        private static bool AutoEOnLeave()
        {
            if (!Properties.Time.CheckRendDelay())
            {
                return(false);
            }

            if (Properties.MainMenu.Item("bUseManaManager").GetValue <bool>())
            {
                if (Properties.PlayerHero.ManaPercent < Properties.MainMenu.Item("sMinManaE").GetValue <Slider>().Value)
                {
                    return(false);
                }
            }

            foreach (var target in HeroManager.Enemies)
            {
                if (!target.IsValid)
                {
                    continue;
                }
                if (!target.IsValidTarget(Properties.Champion.E.Range))
                {
                    continue;
                }
                if (!Properties.Time.CheckRendDelay())
                {
                    continue;
                }
                if (DamageCalc.CheckNoDamageBuffs(target))
                {
                    continue;
                }
                if (!Properties.Champion.E.IsInRange(target))
                {
                    continue;
                }
                if (target.IsDead)
                {
                    continue;
                }
                if (target.Distance(Properties.PlayerHero) < Properties.Champion.E.Range - 100)
                {
                    continue;
                }
                var stacks = target.GetBuffCount("kalistaexpungemarker");
                if (stacks <= Properties.MainMenu.Item("sStacksOnLeave").GetValue <Slider>().Value)
                {
                    continue;
                }
#if DEBUG_MODE
                Console.WriteLine("Using Rend On Long  E:{0}", Properties.Time.TickCount);
#endif
                Properties.Champion.UseRend();
                return(true);
            }
            return(false);
        }
Beispiel #2
0
        public static bool CheckEnemies()
        {
            if (!Properties.Time.CheckRendDelay())
            {
                return(false);
            }

            foreach (var target in HeroManager.Enemies)
            {
                if (!target.IsValid)
                {
                    continue;
                }
                if (!target.IsValidTarget(Properties.Champion.E.Range))
                {
                    continue;
                }
                if (DamageCalc.CheckNoDamageBuffs(target))
                {
                    continue;
                }
                if (!Properties.Time.CheckRendDelay())
                {
                    continue;
                }
                if (!Properties.Champion.E.IsInRange(target))
                {
                    continue;
                }
                if (DamageCalc.GetRendDamage(target) < target.Health)
                {
                    continue;
                }
                if (target.IsDead)
                {
                    continue;
                }
#if DEBUG_MODE
                Console.WriteLine("Using Killing Enemy E:{0}", Properties.Time.TickCount);
#endif
                Properties.Champion.UseRend();
                return(true);
            }
            return(false);
        }
Beispiel #3
0
        private static bool AutoEOnStacksAndMinions()
        {
            if (!Properties.Time.CheckRendDelay())
            {
                return(false);
            }

            foreach (var target in HeroManager.Enemies)
            {
                if (!target.IsValid)
                {
                    continue;
                }
                if (!target.IsValidTarget(Properties.Champion.E.Range))
                {
                    continue;
                }
                if (DamageCalc.CheckNoDamageBuffs(target))
                {
                    continue;
                }
                if (!Properties.Time.CheckRendDelay())
                {
                    continue;
                }
                var stacks = target.GetBuffCount("kalistaexpungemarker");
                if (stacks < Properties.MainMenu.Item("sUseEOnChampStacks").GetValue <Slider>().Value)
                {
                    continue;
                }
                var minions = MinionManager.GetMinions(Properties.PlayerHero.ServerPosition, Properties.Champion.E.Range);
                var count   = minions.Count(minion => minion.Health <= DamageCalc.GetRendDamage(minion) && minion.IsValid);
                if (Properties.MainMenu.Item("sUseEOnMinionKilled").GetValue <Slider>().Value > count)
                {
                    continue;
                }
                Properties.Champion.UseRend();
#if DEBUG_MODE
                Console.WriteLine("Using Stacks And Minions E:{0}", Environment.TickCount);
#endif
                return(true);
            }
            return(false);
        }
        //Cool Q in mid Auto
        //if (Properties.PlayerHero.IsWindingUp || Properties.PlayerHero.IsDashing())
        //Properties.Champion.Q.Cast(predictionPosition.CastPosition);

        private static void Mixed()
        {
            if (Properties.MainMenu.Item("bUseQMixed").GetValue <bool>() && Properties.Champion.Q.IsReady())
            {
                if (!Properties.MainMenu.Item("bUseManaManager").GetValue <bool>() ||
                    Properties.MainMenu.Item("bUseManaManager").GetValue <bool>() &&
                    Properties.PlayerHero.ManaPercent > Properties.MainMenu.Item("sMinManaQ").GetValue <Slider>().Value)
                {
                    var target = TargetSelector.GetTarget(Properties.Champion.Q.Range,
                                                          TargetSelector.DamageType.Physical);
                    var predictionPosition = Properties.Champion.Q.GetPrediction(target);
                    if (predictionPosition.Hitchance >= GetHitChance())
                    {
                        if (predictionPosition.Hitchance >= GetHitChance())
                        {
                            if (Properties.MainMenu.Item("bUseQMixedReset").GetValue <bool>())
                            {
                                if (Properties.PlayerHero.IsWindingUp || Properties.PlayerHero.IsDashing())
                                {
                                    Properties.Champion.Q.Cast(predictionPosition.CastPosition);
                                }
                            }
                            else if (!Properties.PlayerHero.IsWindingUp && !Properties.PlayerHero.IsDashing())
                            {
                                Properties.Champion.Q.Cast(predictionPosition.CastPosition);
                            }
                        }
                    }
                }
            }

            if (!Properties.MainMenu.Item("bUseEMixed").GetValue <bool>())
            {
                return;
            }

            if (!Properties.MainMenu.Item("bUseManaManager").GetValue <bool>() ||
                Properties.MainMenu.Item("bUseManaManager").GetValue <bool>() &&
                Properties.PlayerHero.ManaPercent > Properties.MainMenu.Item("sMinManaE").GetValue <Slider>().Value)
            {
                // ReSharper disable once UnusedVariable
                foreach (var stacks in from target in HeroManager.Enemies
                         where target.IsValid
                         where target.IsValidTarget(Properties.Champion.E.Range)
                         where !DamageCalc.CheckNoDamageBuffs(target)
                         select target.GetBuffCount("kalistaexpungemarker")
                         into stacks
                         where stacks >= Properties.MainMenu.Item("sMixedStacks").GetValue <Slider>().Value
                         select stacks)
                {
                    if (!Properties.Time.CheckRendDelay()) // Wait for rend delay
                    {
                        continue;
                    }
#if DEBUG_MODE
                    Console.WriteLine("Using Mixed E:{0}", Properties.Time.TickCount);
#endif
                    Properties.Champion.UseRend();
                }
            }
        }