Beispiel #1
0
 internal static void Harass()
 {
     CM.CastJavelin(TargetSelector.GetTarget(KL.Spells["Javelin"].Range, TargetSelector.DamageType.Magical), "ha");
     CM.CastTakedown(TargetSelector.GetTarget(KL.Spells["Takedown"].Range, TargetSelector.DamageType.Magical), "ha");
     CM.CastSwipe(TargetSelector.GetTarget(KL.Spells["Swipe"].Range, TargetSelector.DamageType.Magical), "ha");
     CM.SwitchForm(TargetSelector.GetTarget(KL.Spells["Javelin"].Range, TargetSelector.DamageType.Magical), "ha");
 }
Beispiel #2
0
        internal static void Combo()
        {
            var assassin = Root.Item("pstyle").GetValue <StringList>().SelectedIndex == 0;

            if (!Player.IsWindingUp)
            {
                CM.CastJavelin(assassin ? Target : TargetSelector.GetTarget(KL.Spells["Javelin"].Range, TargetSelector.DamageType.Magical), "co");
                CM.SwitchForm(assassin ? Target : TargetSelector.GetTarget(KL.Spells["Javelin"].Range, TargetSelector.DamageType.Magical), "co");
            }

            CM.CastBushwhack(assassin ? Target : TargetSelector.GetTarget(KL.Spells["Bushwhack"].Range, TargetSelector.DamageType.Magical), "co");
            CM.CastTakedown(assassin ? Target : TargetSelector.GetTarget(KL.Spells["Takedown"].Range, TargetSelector.DamageType.Magical), "co");
            CM.CastPounce(assassin ? Target : TargetSelector.GetTarget(KL.Spells["ExPounce"].Range, TargetSelector.DamageType.Magical), "co");
            CM.CastSwipe(assassin ? Target : TargetSelector.GetTarget(KL.Spells["Swipe"].Range, TargetSelector.DamageType.Magical), "co");
        }
Beispiel #3
0
        internal static void Combo()
        {
            var solo = Root.Item("pstyle").GetValue <StringList>().SelectedIndex == 0;

            CM.CastJavelin(solo ? Target : TargetSelector.GetTarget(KL.Spells["Javelin"].Range, TargetSelector.DamageType.Magical), "co");
            CM.SwitchForm(solo ? Target : TargetSelector.GetTarget(KL.Spells["Javelin"].Range, TargetSelector.DamageType.Magical), "co");

            if (!Root.Item("ndhwsp").GetValue <bool>())
            {
                CM.CastBushwhack(solo ? Target : TargetSelector.GetTarget(KL.Spells["Bushwhack"].Range, TargetSelector.DamageType.Magical), "co");
            }

            CM.CastTakedown(solo ? Target : TargetSelector.GetTarget(KL.Spells["Takedown"].Range, TargetSelector.DamageType.Magical), "co");
            CM.CastPounce(solo ? Target : TargetSelector.GetTarget(KL.Spells["ExPounce"].Range, TargetSelector.DamageType.Magical), "co");
            CM.CastSwipe(solo ? Target : TargetSelector.GetTarget(KL.Spells["Swipe"].Range, TargetSelector.DamageType.Magical), "co");
        }
Beispiel #4
0
        internal static void Clear()
        {
            var minions = MinionManager.GetMinions(Player.ServerPosition,
                                                   750f, MinionTypes.All, MinionTeam.All, MinionOrderTypes.MaxHealth);

            m = minions.Any(KL.IsJungleMinion);

            foreach (var unit in minions.OrderByDescending(KL.IsJungleMinion))
            {
                switch (unit.Team)
                {
                case GameObjectTeam.Neutral:
                    if (!unit.Name.Contains("Mini"))
                    {
                        CM.CastJavelin(unit, "jg");
                        CM.CastBushwhack(unit, "jg");
                    }

                    CM.CastPounce(unit, "jg");
                    CM.CastTakedown(unit, "jg");
                    CM.CastSwipe(unit, "jg");

                    if (unit.PassiveRooted() && Root.Item("jgaacount").GetValue <KeyBind>().Active&&
                        Player.Distance(unit.ServerPosition) > 450)
                    {
                        return;
                    }

                    CM.SwitchForm(unit, "jg");
                    break;

                default:
                    if (unit.Team != Player.Team && unit.Team != GameObjectTeam.Neutral)
                    {
                        CM.CastJavelin(unit, "wc");
                        CM.CastPounce(unit, "wc");
                        CM.CastBushwhack(unit, "wc");
                        CM.CastTakedown(unit, "wc");
                        CM.CastSwipe(unit, "wc");
                        CM.SwitchForm(unit, "wc");
                    }
                    break;
                }
            }
        }
Beispiel #5
0
        /// <summary>
        ///     Swipe/Javelin on gapclosers
        /// </summary>
        /// <param name="gapcloser"></param>
        internal static void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser)
        {
            var attacker = gapcloser.Sender;

            if (attacker.IsValidTarget(275f) && !Player.UnderTurret(true))
            {
                if (CatForm())
                {
                    CM.CastSwipe(attacker, "gap");
                    CM.SwitchForm(attacker, "gap");
                }
                else
                {
                    CM.CastJavelin(attacker, "gap");
                    CM.SwitchForm(attacker, "gap");
                }
            }
        }
Beispiel #6
0
        internal static void Clear()
        {
            var minions = MinionManager.GetMinions(Player.ServerPosition,
                                                   750f, MinionTypes.All, MinionTeam.All, MinionOrderTypes.MaxHealth);

            m = minions.Any(KL.IsJungleMinion);

            foreach (var unit in minions.OrderByDescending(KL.IsJungleMinion))
            {
                switch (unit.Team)
                {
                case GameObjectTeam.Neutral:
                    if (!unit.Name.Contains("Mini"))
                    {
                        CM.CastJavelin(unit, "jg");
                        CM.CastBushwhack(unit, "jg");
                    }

                    CM.CastPounce(unit, "jg");
                    CM.CastTakedown(unit, "jg");
                    CM.CastSwipe(unit, "jg");
                    CM.SwitchForm(unit, "jg");
                    break;

                default:
                    if (unit.Team != Player.Team && unit.Team != GameObjectTeam.Neutral)
                    {
                        CM.CastJavelin(unit, "wc");
                        CM.CastPounce(unit, "wc");
                        CM.CastBushwhack(unit, "wc");
                        CM.CastTakedown(unit, "wc");
                        CM.CastSwipe(unit, "wc");
                        CM.SwitchForm(unit, "wc");
                    }
                    break;
                }
            }
        }
Beispiel #7
0
        internal static void SmiteOnUpdate(EventArgs args)
        {
            if (!KN.Root.Item("jgsmite").GetValue <bool>())
            {
                return;
            }

            foreach (var minion in MinionManager.GetMinions(900f, MinionTypes.All, MinionTeam.Neutral))
            {
                var damage = Player.Spellbook.GetSpell(Smite).State == SpellState.Ready
                    ? (float)Player.GetSummonerSpellDamage(minion, Damage.SummonerSpell.Smite)
                    : 0;

                if (minion.Distance(Player.ServerPosition) > 500 + minion.BoundingRadius + Player.BoundingRadius)
                {
                    return;
                }

                if (LargeList.Any(name => minion.Name.StartsWith(name) && !minion.Name.Contains("Mini")))
                {
                    if (KN.Root.Item("jgsmitebg").GetValue <bool>())
                    {
                        if (KN.Root.Item("jgsmitetd").GetValue <bool>())
                        {
                            if (Player.GetSpellDamage(minion, SpellSlot.Q, 1) + damage >= minion.Health)
                            {
                                CM.CastTakedown(minion, "jg");
                            }
                        }

                        if (damage >= minion.Health)
                        {
                            Player.Spellbook.CastSpell(Smite, minion);
                        }
                    }
                }

                if (SmallList.Any(name => minion.Name.StartsWith(name) && !minion.Name.Contains("Mini")))
                {
                    if (KN.Root.Item("jgsmitesm").GetValue <bool>())
                    {
                        if (KN.Root.Item("jgsmitetd").GetValue <bool>())
                        {
                            if (Player.GetSpellDamage(minion, SpellSlot.Q, 1) + damage >= minion.Health)
                            {
                                CM.CastTakedown(minion, "jg");
                            }
                        }

                        if (damage >= minion.Health)
                        {
                            Player.Spellbook.CastSpell(Smite, minion);
                        }
                    }
                }

                if (EpicList.Any(name => minion.Name.StartsWith(name)))
                {
                    if (KN.Root.Item("jgsmitetd").GetValue <bool>())
                    {
                        if (Player.GetSpellDamage(minion, SpellSlot.Q, 1) + damage >= minion.Health)
                        {
                            CM.CastTakedown(minion, "jg");
                        }
                    }

                    if (KN.Root.Item("jgsmiteep").GetValue <bool>())
                    {
                        if (damage >= minion.Health)
                        {
                            Player.Spellbook.CastSpell(Smite, minion);
                        }
                    }
                }
            }

            if (!KN.Root.Item("jgsmitehe").GetValue <bool>())
            {
                return;
            }

            // smite hero blu/red
            if (Player.GetSpell(Smite).Name.ToLower() == "s5_summonersmiteduel" ||
                Player.GetSpell(Smite).Name.ToLower() == "s5_summonersmiteplayerganker")
            {
                // KS Smite
                if (Player.GetSpell(Smite).Name.ToLower() == "s5_summonersmiteplayerganker")
                {
                    foreach (
                        var hero in
                        HeroManager.Enemies.Where(
                            h =>
                            h.IsValidTarget(500) && !h.IsZombie &&
                            h.Health <= 20 + 8 * Player.Level))
                    {
                        Player.Spellbook.CastSpell(Smite, hero);
                    }
                }

                // Combo Smite
                if (Player.GetSpell(Smite).Name.ToLower() == "s5_summonersmiteduel" ||
                    Player.GetSpell(Smite).Name.ToLower() == "s5_summonersmiteplayerganker")
                {
                    foreach (
                        var hero in
                        HeroManager.Enemies
                        .Where(h => h.IsValidTarget(500) && !h.IsZombie)
                        .OrderBy(h => h.Distance(Game.CursorPos)))
                    {
                        Player.Spellbook.CastSpell(Smite, hero);
                    }
                }
            }
        }
Beispiel #8
0
        /// <summary>
        /// Tracks the spells nidalee casts.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private static void HeroOnCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            try
            {
                if (KN.Root.Item("ndhwsp").GetValue <bool>())
                {
                    if (sender.IsEnemy && sender.Type == GameObjectType.obj_AI_Hero && SpellTimer["Javelin"].IsReady())
                    {
                        if (args.End.IsValid() && args.End.Distance(KN.Player.ServerPosition) <= KN.Player.BoundingRadius * 2)
                        {
                            var hero = sender as Obj_AI_Hero;
                            if (hero == null || !hero.IsValidTarget(Spells["Bushwhack"].Range))
                            {
                                return;
                            }

                            CM.CastBushwhack(hero, "co");
                        }
                    }
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "pounce")
                {
                    var unit = args.Target as Obj_AI_Base;
                    if (unit.IsValid <Obj_AI_Base>() && unit.IsHunted())
                    {
                        TimeStamp["Pounce"] = Game.Time + 3;
                    }
                    else
                    {
                        TimeStamp["Pounce"] = Game.Time + (6 + (6 * Player.PercentCooldownMod));
                    }
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "swipe")
                {
                    TimeStamp["Swipe"] = Game.Time + (6 + (6 * Player.PercentCooldownMod));
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "primalsurge")
                {
                    TimeStamp["Primalsurge"] = Game.Time + (12 + (12 * Player.PercentCooldownMod));
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "bushwhack")
                {
                    var wperlevel = new[] { 13, 12, 11, 10, 9 }[Spells["Bushwhack"].Level - 1];
                    TimeStamp["Bushwhack"] = Game.Time + (wperlevel + (wperlevel * Player.PercentCooldownMod));
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "javelintoss")
                {
                    Counter = 0;
                    TimeStamp["Javelin"] = Game.Time + (6 + (6 * Player.PercentCooldownMod));
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "aspectofthecougar")
                {
                    LastR = Utils.GameTimeTickCount;
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "aspectofthecougar" && CatForm())
                {
                    Counter = 0;
                    //Orbwalking.ResetAutoAttackTimer();
                }

                if (sender.IsMe && args.SData.Name.ToLower() == "aspectofthecougar" && !CatForm())
                {
                    //Orbwalking.ResetAutoAttackTimer();
                }

                if (sender.IsMe && args.SData.IsAutoAttack() && Player.HasBuff("takedown"))
                {
                    LastBite = Utils.GameTimeTickCount;
                    TimeStamp["Takedown"] = Game.Time + (6 + (6 * Player.PercentCooldownMod));
                }
            }

            catch (Exception e)
            {
                Console.WriteLine("KL: OnCastException (" + e.Message + ")");
            }
        }