예제 #1
0
        private void CastR(Obj_AI_Hero target, float dmg)
        {
            if (menu.Item("overKill", true).GetValue <bool>() && Player.GetSpellDamage(target, SpellSlot.Q) > target.Health)
            {
                return;
            }

            if (Player.Distance(target) > R.Range)
            {
                return;
            }

            //DFG + R
            if (Dfg.IsReady() && R.IsReady() && Player.Distance(target.ServerPosition) < R.Range &&
                Player.GetItemDamage(target, Damage.DamageItems.Dfg) +
                (Player.GetSpellDamage(target, SpellSlot.R) * 1.2) > target.Health + 50)
            {
                Use_DFG(target);
                R.CastOnUnit(target, packets());
                return;
            }

            if (dmg > target.Health + 20 && R.IsReady())
            {
                R.CastOnUnit(target, packets());
            }
        }
예제 #2
0
        private float GetComboDamage(Obj_AI_Base enemy)
        {
            if (enemy == null)
                return 0;

            double damage = 0d;

            if (Q.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.Q);
                damage += Player.GetSpellDamage(enemy, SpellSlot.Q, 1);
            }

            if (Dfg.IsReady())
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.Dfg) / 1.2;

            if (W.IsReady())
                damage += Player.GetSpellDamage(enemy, SpellSlot.W);

            if (_rOn)
                damage += Player.GetSpellDamage(enemy, SpellSlot.R)*RCount();
            else if (R.IsReady())
                damage += Player.GetSpellDamage(enemy, SpellSlot.R) * 3;

            damage = ActiveItems.CalcDamage(enemy, damage);

            if (E.IsReady())
                damage += Player.GetSpellDamage(enemy, SpellSlot.E);

            return (float)damage;
        }
예제 #3
0
        private float GetComboDamage(Obj_AI_Base enemy)
        {
            double damage = 0d;

            if (Q.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.Q) * 2;
            }

            if (Dfg.IsReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.Dfg) / 1.2;
            }

            if (E.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.E);
            }

            if (R.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.R) * 3;
            }

            if (Dfg.IsReady())
            {
                damage = damage * 1.2;
            }

            damage = ActiveItems.CalcDamage(enemy, damage);

            return((float)damage);
        }
예제 #4
0
        private float GetComboDamage(Obj_AI_Base enemy)
        {
            if (enemy == null)
            {
                return(0);
            }

            double damage = 0d;

            if (Q.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.Q);
                damage += Player.GetSpellDamage(enemy, SpellSlot.Q, 1);
            }

            if (Dfg.IsReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.Dfg) / 1.2;
            }

            if (W.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.W);
            }

            if (_rOn)
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.R) * RCount();
            }
            else if (R.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.R) * 3;
            }

            if (enemy.HasBuffOfType(BuffType.Charm) || enemy.HasBuffOfType(BuffType.Taunt))
            {
                damage = damage * 1.2;
            }

            damage = ActiveItems.CalcDamage(enemy, damage);

            if (E.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.E);
            }

            return((float)damage);
        }
예제 #5
0
        private void SmartKs()
        {
            if (!menu.Item("smartKS", true).GetValue <bool>())
            {
                return;
            }

            if (menu.Item("rCancel", true).GetValue <bool>() && countEnemiesNearPosition(Player.ServerPosition, 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&& Environment.TickCount - E.LastCastAttemptT > 0;
                    //QEW
                    if (Player.Distance(target.ServerPosition) <= E.Range && shouldE &&
                        (Player.GetSpellDamage(target, SpellSlot.E) + Player.GetSpellDamage(target, SpellSlot.Q) + Player.GetSpellDamage(target, SpellSlot.Q, 1) +
                         Player.GetSpellDamage(target, SpellSlot.W)) > target.Health + 20)
                    {
                        if (E.IsReady() && Q.IsReady() && W.IsReady())
                        {
                            CancelUlt(target);
                            Q.Cast(target, packets());
                            E.Cast(target, packets());
                            E.LastCastAttemptT = Environment.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, packets());
                            E.LastCastAttemptT = Environment.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, packets());
                            E.LastCastAttemptT = Environment.TickCount + delay;
                            Q.Cast(target, packets());
                            //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, packets());
                            //Game.PrintChat("ks 7");
                            return;
                        }
                        if (Q.IsReady() && E.IsReady() && Player.Distance(target.ServerPosition) <= 1375 &&
                            menu.Item("wardKs", true).GetValue <bool>() &&
                            countEnemiesNearPosition(target.ServerPosition, 500) < 3)
                        {
                            CancelUlt(target);
                            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, packets());
                            E.LastCastAttemptT = Environment.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())
                        {
                            R.Cast();
                            //Game.PrintChat("ks 8");
                            return;
                        }
                    }
                    if (menu.Item("dfgKS", true).GetValue <bool>())
                    {
                        //dfg
                        if (Dfg.IsReady() && Player.GetItemDamage(target, Damage.DamageItems.Dfg) > target.Health + 20 &&
                            Player.Distance(target.ServerPosition) <= 750)
                        {
                            Items.UseItem(Dfg.Id, target);
                            //Game.PrintChat("ks 1");
                            return;
                        }

                        //dfg + q
                        if (Player.Distance(target.ServerPosition) <= Q.Range &&
                            (Player.GetItemDamage(target, Damage.DamageItems.Dfg) +
                             (Player.GetSpellDamage(target, SpellSlot.Q)) * 1.2) > target.Health + 20)
                        {
                            if (Dfg.IsReady() && Q.IsReady())
                            {
                                Items.UseItem(Dfg.Id, target);
                                CancelUlt(target);
                                Q.Cast(target, packets());
                                //Game.PrintChat("ks 2");
                                return;
                            }
                        }

                        //dfg + e
                        if (Player.Distance(target.ServerPosition) <= E.Range &&
                            (Player.GetItemDamage(target, Damage.DamageItems.Dfg) +
                             (Player.GetSpellDamage(target, SpellSlot.E)) * 1.2) > target.Health + 20)
                        {
                            if (Dfg.IsReady() && E.IsReady())
                            {
                                Items.UseItem(Dfg.Id, target);
                                CancelUlt(target);
                                E.Cast(target, packets());
                                E.LastCastAttemptT = Environment.TickCount + delay;
                                //Game.PrintChat("ks 3");
                                return;
                            }
                        }
                    }
                }
            }
        }