Ejemplo n.º 1
0
        protected override void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base unit, GameObjectProcessSpellCastEventArgs args)
        {
            if (!unit.IsMe)
            {
                return;
            }

            if (args.SData.Name == "KatarinaR")
            {
                OrbwalkManager.SetAttack(false);
                OrbwalkManager.SetMovement(false);
            }

            SpellSlot castedSlot = ObjectManager.Player.GetSpellSlot(args.SData.Name);

            if (castedSlot == SpellSlot.Q)
            {
                Q.LastCastAttemptT = Utils.TickCount;
            }

            if (castedSlot == SpellSlot.R)
            {
                R.LastCastAttemptT = Utils.TickCount;
            }
        }
Ejemplo n.º 2
0
        protected override void Game_OnGameUpdate(EventArgs args)
        {
            SmartKs();

            if (Player.IsChannelingImportantSpell() || Player.HasBuff("KatarinaR"))
            {
                OrbwalkManager.SetAttack(false);
                OrbwalkManager.SetMovement(false);
                ShouldCancel();
                return;
            }

            OrbwalkManager.SetAttack(true);
            OrbwalkManager.SetMovement(true);

            if (menu.Item("Wardjump", true).GetValue <KeyBind>().Active)
            {
                OrbwalkManager.Orbwalk(null, Game.CursorPos);
                WardJumper.WardJump();
            }
            else if (menu.Item("ComboActive", true).GetValue <KeyBind>().Active)
            {
                Combo();
            }
            else
            {
                if (menu.Item("lastHit", true).GetValue <KeyBind>().Active)
                {
                    LastHit();
                }

                if (menu.Item("LaneClearActive", true).GetValue <KeyBind>().Active)
                {
                    Farm();
                }

                if (menu.Item("jFarm", true).GetValue <KeyBind>().Active)
                {
                    JungleFarm();
                }

                if (menu.Item("HarassActive", true).GetValue <KeyBind>().Active)
                {
                    Harass();
                }

                if (menu.Item("HarassActiveT", true).GetValue <KeyBind>().Active)
                {
                    Harass();
                }
            }

            if (menu.Item("autoWz", true).GetValue <bool>())
            {
                AutoW();
            }
        }
Ejemplo n.º 3
0
        private void SmartKs()
        {
            if (!menu.Item("smartKS", true).GetValue <bool>())
            {
                return;
            }

            if (menu.Item("rCancel", true).GetValue <bool>() && Player.CountEnemiesInRange(570) > 1)
            {
                return;
            }

            foreach (Obj_AI_Hero target in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsValidTarget(1375) && !x.HasBuffOfType(BuffType.Invulnerability)).OrderByDescending(GetComboDamage))
            {
                if (target != null)
                {
                    var  delay   = menu.Item("E_Delay_Slider", true).GetValue <Slider>().Value;
                    bool shouldE = !menu.Item("KS_With_E", true).GetValue <KeyBind>().Active&& Utils.TickCount - E.LastCastAttemptT > 0;
                    //QEW
                    if (Player.Distance(target.ServerPosition) <= E.Range && shouldE &&
                        (Player.GetSpellDamage(target, SpellSlot.E) + Player.GetSpellDamage(target, SpellSlot.Q) + MarkDmg(target) +
                         Player.GetSpellDamage(target, SpellSlot.W)) > target.Health + 20)
                    {
                        if (E.IsReady() && Q.IsReady() && W.IsReady())
                        {
                            CancelUlt(target);
                            Q.Cast(target);
                            E.Cast(target);
                            E.LastCastAttemptT = Utils.TickCount + delay;
                            if (Player.Distance(target.ServerPosition) < W.Range)
                            {
                                W.Cast();
                            }
                            return;
                        }
                    }

                    //E + W
                    if (Player.Distance(target.ServerPosition) <= E.Range && shouldE &&
                        (Player.GetSpellDamage(target, SpellSlot.E) + Player.GetSpellDamage(target, SpellSlot.W)) >
                        target.Health + 20)
                    {
                        if (E.IsReady() && W.IsReady())
                        {
                            CancelUlt(target);
                            E.Cast(target);
                            E.LastCastAttemptT = Utils.TickCount + delay;
                            if (Player.Distance(target.ServerPosition) < W.Range)
                            {
                                W.Cast();
                            }
                            //Game.PrintChat("ks 5");
                            return;
                        }
                    }

                    //E + Q
                    if (Player.Distance(target.ServerPosition) <= E.Range && shouldE &&
                        (Player.GetSpellDamage(target, SpellSlot.E) + Player.GetSpellDamage(target, SpellSlot.Q)) >
                        target.Health + 20)
                    {
                        if (E.IsReady() && Q.IsReady())
                        {
                            CancelUlt(target);
                            E.Cast(target);
                            E.LastCastAttemptT = Utils.TickCount + delay;
                            Q.Cast(target);
                            //Game.PrintChat("ks 6");
                            return;
                        }
                    }

                    //Q
                    if ((Player.GetSpellDamage(target, SpellSlot.Q)) > target.Health + 20)
                    {
                        if (Q.IsReady() && Player.Distance(target.ServerPosition) <= Q.Range)
                        {
                            CancelUlt(target);
                            Q.Cast(target);
                            //Game.PrintChat("ks 7");
                            return;
                        }
                        if (Q.IsReady() && E.IsReady() && Player.Distance(target.ServerPosition) <= 1375 &&
                            menu.Item("wardKs", true).GetValue <bool>() &&
                            target.CountEnemiesInRange(500) < 3)
                        {
                            CancelUlt(target);
                            WardJumper.JumpKs(target);
                            //Game.PrintChat("wardKS!!!!!");
                            return;
                        }
                    }

                    //E
                    if (Player.Distance(target.ServerPosition) <= E.Range && shouldE &&
                        (Player.GetSpellDamage(target, SpellSlot.E)) > target.Health + 20)
                    {
                        if (E.IsReady())
                        {
                            CancelUlt(target);
                            E.Cast(target);
                            E.LastCastAttemptT = Utils.TickCount + delay;
                            //Game.PrintChat("ks 8");
                            return;
                        }
                    }

                    //R
                    if (Player.Distance(target.ServerPosition) <= E.Range &&
                        (Player.GetSpellDamage(target, SpellSlot.R) * 5) > target.Health + 20 &&
                        menu.Item("rKS", true).GetValue <bool>())
                    {
                        if (R.IsReady())
                        {
                            OrbwalkManager.SetAttack(false);
                            OrbwalkManager.SetMovement(false);
                            R.Cast();
                            //Game.PrintChat("ks 8");
                            return;
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
        private void Combo(bool useQ, bool useW, bool useE, bool useR)
        {
            Obj_AI_Hero target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

            int mode = menu.Item("comboMode", true).GetValue <StringList>().SelectedIndex;

            int eDis = menu.Item("eDis", true).GetValue <Slider>().Value;

            if (!target.IsValidTarget(E.Range))
            {
                return;
            }

            if (!target.HasBuffOfType(BuffType.Invulnerability) && !target.IsZombie)
            {
                if (mode == 0) //qwe
                {
                    //items

                    var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                    if (itemTarget != null && E.IsReady())
                    {
                        var dmg = GetComboDamage(itemTarget);
                        ItemManager.Target = itemTarget;

                        //see if killable
                        if (dmg > itemTarget.Health - 50)
                        {
                            ItemManager.KillableTarget = true;
                        }

                        ItemManager.UseTargetted = true;
                    }


                    if (useQ && Q.IsReady() && Player.Distance(target.Position) <= Q.Range)
                    {
                        Q.Cast(target);
                    }

                    if (useE && E.IsReady() && Player.Distance(target.Position) < E.Range && Utils.TickCount - E.LastCastAttemptT > 0 &&
                        Player.Distance(target.Position) > eDis && !Q.IsReady())
                    {
                        if (menu.Item("smartE", true).GetValue <bool>() &&
                            Player.CountEnemiesInRange(500) > 2 &&
                            (!R.IsReady() || !(RSpell.State == SpellState.Surpressed && R.Level > 0)))
                        {
                            return;
                        }

                        var delay = menu.Item("E_Delay_Slider", true).GetValue <Slider>().Value;
                        OrbwalkManager.SetAttack(false);
                        OrbwalkManager.SetMovement(false);
                        E.Cast(target);
                        E.LastCastAttemptT = Utils.TickCount + delay;
                    }
                }
                else if (mode == 1) //eqw
                {
                    //items
                    var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                    if (itemTarget != null && E.IsReady())
                    {
                        var dmg = GetComboDamage(itemTarget);
                        ItemManager.Target = itemTarget;

                        //see if killable
                        if (dmg > itemTarget.Health - 50)
                        {
                            ItemManager.KillableTarget = true;
                        }

                        ItemManager.UseTargetted = true;
                    }

                    if (useE && E.IsReady() && Player.Distance(target.Position) < E.Range && Utils.TickCount - E.LastCastAttemptT > 0 &&
                        Player.Distance(target.Position) > eDis)
                    {
                        if (menu.Item("smartE", true).GetValue <bool>() &&
                            Player.CountEnemiesInRange(500) > 2 &&
                            (!R.IsReady() || !(RSpell.State == SpellState.Surpressed && R.Level > 0)))
                        {
                            return;
                        }

                        var delay = menu.Item("E_Delay_Slider", true).GetValue <Slider>().Value;
                        OrbwalkManager.SetAttack(false);
                        OrbwalkManager.SetMovement(false);
                        E.Cast(target);
                        E.LastCastAttemptT = Utils.TickCount + delay;
                    }

                    if (useQ && Q.IsReady() && Player.Distance(target.Position) <= Q.Range)
                    {
                        Q.Cast(target);
                    }
                }

                if (useW && W.IsReady() && Player.Distance(target.Position) <= W.Range && QSuccessfullyCasted())
                {
                    W.Cast();
                }

                if (useR && R.IsReady() &&
                    Player.CountEnemiesInRange(R.Range) > 0)
                {
                    if (!Q.IsReady() && !E.IsReady() && !W.IsReady())
                    {
                        OrbwalkManager.SetAttack(false);
                        OrbwalkManager.SetMovement(false);
                        R.Cast();
                    }
                }
            }
        }