Beispiel #1
0
        static void Combo()
        {
            if (!Orbwalking.CanMove(1))
            {
                return;
            }

            if (SharpShooter.Menu.Item("comboUseQ", true).GetValue <Boolean>())
            {
                var Qtarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical, true);

                if (Q.CanCast(Qtarget))
                {
                    Q.SPredictionCast(Qtarget, Q.MinHitChance);
                }
            }

            if (SharpShooter.Menu.Item("comboUseW", true).GetValue <Boolean>())
            {
                var Wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical, true);

                if (W.CanCast(Wtarget))
                {
                    W.SPredictionCast(Wtarget, W.MinHitChance);
                }
            }

            if (SharpShooter.Menu.Item("comboUseR", true).GetValue <Boolean>())
            {
                foreach (var Rtarget in HeroManager.Enemies.Where(x => R.CanCast(x)))
                {
                    if (R.CanCast(Rtarget) && !Rtarget.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player)))
                    {
                        R.CastIfWillHit(Rtarget, 2);
                    }
                }
            }
        }
Beispiel #2
0
        static void Combo()
        {
            if (!Orbwalking.CanMove(1))
            {
                return;
            }

            if (SharpShooter.Menu.Item("comboUseQ", true).GetValue <Boolean>())
            {
                QSwitchForUnit(TargetSelector.GetTarget(GetQActiveRange + 30, TargetSelector.DamageType.Physical, true));
            }

            if (SharpShooter.Menu.Item("comboUseW", true).GetValue <Boolean>())
            {
                var Wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical, true);

                if (W.CanCast(Wtarget) && !Wtarget.IsValidTarget(DefaultRange / 3) && W.GetPrediction(Wtarget).Hitchance >= HitChance.VeryHigh)
                {
                    W.Cast(Wtarget);
                }
            }

            if (SharpShooter.Menu.Item("comboUseE", true).GetValue <Boolean>())
            {
                var Etarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical, false);

                if (E.CanCast(Etarget) && !Etarget.HasBuffOfType(BuffType.SpellImmunity) && E.GetPrediction(Etarget).Hitchance >= HitChance.VeryHigh && Etarget.IsMoving)
                {
                    E.Cast(Etarget);
                }
            }

            if (SharpShooter.Menu.Item("comboUseR", true).GetValue <Boolean>())
            {
                foreach (Obj_AI_Hero Rtarget in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsEnemy && x.IsValidTarget(R.Range) && !Player.HasBuffOfType(BuffType.SpellShield) && !Player.HasBuffOfType(BuffType.Invulnerability)))
                {
                    var Rpred = R.GetPrediction(Rtarget);

                    if (R.CanCast(Rtarget) && Rpred.Hitchance >= HitChance.VeryHigh)
                    {
                        var    dis        = Player.Distance(Rpred.CastPosition);
                        double predhealth = HealthPrediction.GetHealthPrediction(Rtarget, (int)(R.Delay + dis / R.Speed) * 1000);

                        double RMinDamage = 75 + (50 * R.Level) + (Player.FlatPhysicalDamageMod * 0.5);
                        double RMaxDamage = RMinDamage * 2;

                        double RrangeDamage = RMaxDamage * ((dis / 1200) * 100);

                        if (RrangeDamage < RMinDamage)
                        {
                            RrangeDamage = RMinDamage;
                        }
                        else if (RrangeDamage > RMaxDamage)
                        {
                            RrangeDamage = RMaxDamage;
                        }

                        double RbonusDamage = ((20 + (5 * R.Level)) / 100) * (Rtarget.MaxHealth - Rtarget.Health);

                        var RDamage     = RrangeDamage + RbonusDamage;
                        var RCalcDamage = Damage.CalcDamage(Player, Rtarget, Damage.DamageType.Physical, RDamage);

                        if (Rtarget.IsValidTarget(GetQActiveRange))
                        {
                            predhealth -= Player.GetAutoAttackDamage(Rtarget, true) * 2;
                        }

                        if (predhealth <= RCalcDamage && !Player.IsWindingUp)
                        {
                            if (CollisionCheck(Player, Rpred.CastPosition, 50))
                            {
                                R.Cast(Rtarget);
                            }
                        }
                    }
                }
            }
        }
Beispiel #3
0
        static void Combo()
        {
            if (!Orbwalking.CanMove(1))
            {
                return;
            }

            if (SharpShooter.Menu.Item("comboUseQ", true).GetValue <Boolean>())
            {
                QSwitchForUnit(TargetSelector.GetTarget(GetQActiveRange + 30, TargetSelector.DamageType.Physical, true));
            }

            if (SharpShooter.Menu.Item("comboUseW", true).GetValue <Boolean>())
            {
                var Wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical, true);

                if (W.CanCast(Wtarget) && !Wtarget.IsValidTarget(DefaultRange / 3) && W.GetPrediction(Wtarget).Hitchance >= HitChance.VeryHigh)
                {
                    W.Cast(Wtarget);
                }
            }

            if (SharpShooter.Menu.Item("comboUseE", true).GetValue <Boolean>() && E.IsReady())
            {
                var Etarget = E_GetBestTarget();

                if (E.CanCast(Etarget))
                {
                    E.Cast(Etarget);
                }
            }

            if (SharpShooter.Menu.Item("comboUseR", true).GetValue <Boolean>() && R.IsReady() && WLastCastedTime + 1.0 < Game.ClockTime)
            {
                foreach (Obj_AI_Hero Rtarget in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range) && !x.IsValidTarget(DefaultRange) && !Player.HasBuffOfType(BuffType.SpellShield) && !Player.HasBuffOfType(BuffType.Invulnerability) && R.GetPrediction(x).Hitchance >= HitChance.High && Utility.GetAlliesInRange(x, 800).Where(ally => !ally.IsMe).Count() <= 1))
                {
                    if (R.CanCast(Rtarget) && !Player.IsWindingUp)
                    {
                        var    dis        = Player.Distance(Rtarget.ServerPosition);
                        double predhealth = HealthPrediction.GetHealthPrediction(Rtarget, (int)(R.Delay + dis / R.Speed) * 1000) + Rtarget.HPRegenRate;

                        if (Rtarget.IsValidTarget(DefaultRange))
                        {
                            predhealth -= Player.GetAutoAttackDamage(Rtarget, true) * 2;
                        }
                        else
                        if (Rtarget.IsValidTarget(GetQActiveRange - 50))
                        {
                            predhealth -= Player.GetAutoAttackDamage(Rtarget, true);
                        }

                        if (CollisionCheck(Player, Rtarget, R.Width))
                        {
                            if (predhealth <= R.GetDamage(Rtarget))
                            {
                                R.Cast(Rtarget);
                                break;
                            }
                        }
                        else
                        if (predhealth <= R.GetDamage(Rtarget) * 0.8)
                        {
                            foreach (Obj_AI_Hero ExplosionTarget in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range)))
                            {
                                if (R.GetPrediction(ExplosionTarget).Hitchance >= HitChance.High && CollisionCheck(Player, ExplosionTarget, R.Width) && Rtarget.IsValidTarget(224, true, ExplosionTarget.ServerPosition))
                                {
                                    R.Cast(ExplosionTarget);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #4
0
        public static void Active()
        {
            if (Player.Instance.IsDead)
            {
                return;
            }

            if (Player.Instance.GetSpellSlotFromName("summonerdot") != SpellSlot.Unknown && Status_CheckBox(M_Misc, "Misc_Ignite"))
            {
                var Ignite_target = TargetSelector.GetTarget(600, DamageType.True);

                if (Ignite_target != null && SpellManager.Ignite.IsReady())
                {
                    if (Ignite_target.Health <= Damage.DmgCla(Ignite_target))
                    {
                        SpellManager.Ignite.Cast(Ignite_target);
                    }
                }
            }

            var target = TargetSelector.GetTarget(925, DamageType.Mixed);

            if (target != null)
            {
                if (Status_CheckBox(M_Misc, "Misc_KillSt"))
                {
                    if (!target.IsInvulnerable || !target.HasUndyingBuff())
                    {
                        if (target.TotalShieldHealth() <= Player.Instance.GetAutoAttackDamage(target, true) && Player.Instance.Distance(target) <= Player.Instance.AttackRange)
                        {
                            Player.IssueOrder(GameObjectOrder.AttackTo, target);
                        }

                        if (SpellManager.Q.IsReady() && SpellManager.Q.IsInRange(target))
                        {
                            var Qpredicticon = SpellManager.Q.GetPrediction(target);

                            if (target.TotalShieldHealth() <= Damage.DmgQ(target) && Qpredicticon.HitChancePercent >= 50)
                            {
                                SpellManager.Q.Cast(Qpredicticon.CastPosition);
                            }
                        }

                        if (SpellManager.E.IsReady() && SpellManager.E.IsInRange(target))
                        {
                            var Epredicticon = SpellManager.E.GetPrediction(target);

                            if (target.TotalShieldHealth() <= Damage.DmgE(target) && Epredicticon.HitChancePercent >= 50)
                            {
                                SpellManager.E.Cast(Epredicticon.CastPosition);
                            }
                        }
                    }
                }

                if (Status_CheckBox(M_Auto, "Auto_Q") && Player.Instance.ManaPercent >= Status_Slider(M_Auto, "Auto_Q_Mana") && SpellManager.Q.IsReady() && SpellManager.Q.IsInRange(target))
                {
                    if (!target.IsInvulnerable || !target.HasUndyingBuff() || !target.IsZombie)
                    {
                        var prediction = Mode_Combo.GetQPrediction(target);

                        if (prediction.HitChancePercent >= Status_Slider(M_Auto, "Auto_Q_Hit"))
                        {
                            switch (Status_ComboBox(M_Auto, "Auto_Q_Mode"))
                            {
                            case 0:
                                SpellManager.Q.Cast(prediction.CastPosition);
                                break;

                            case 1:
                                if (target.Health >= ((Player.Instance.Spellbook.GetSpell(SpellSlot.Q).Cooldown / Player.Instance.AttackDelay) * Player.Instance.GetAutoAttackDamage(target)) + Damage.DmgQ(target))
                                {
                                    SpellManager.Q.Cast(prediction.CastPosition);
                                }
                                break;
                            }
                        }
                    }
                }
            }

            if ((Status_CheckBox(M_Auto, "Auto_W") && SpellManager.W.IsReady() && Player.Instance.HealthPercent > Status_Slider(M_Auto, "Auto_W_MyHp")) || Status_KeyBind(M_Auto, "Auto_W_Semi"))
            {
                var team = ObjectManager.Get <AIHeroClient>().Where(x => x.IsAlly && x.IsValidTarget(SpellManager.W.Range + 100) && !x.IsMe &&
                                                                    x.HealthPercent <= Status_Slider(M_Auto, "Auto_W_TeamHp") && !x.IsRecalling() && !x.IsInShopRange() && Status_CheckBox(M_Auto, "Auto_W_" + x.ChampionName));
                if (team != null)
                {
                    switch (Status_ComboBox(M_Auto, "Auto_W_Target"))
                    {
                    case 0:     //Health
                        team = team.OrderBy(x => x.Health);
                        break;

                    case 1:     //AD"
                        team = team.OrderByDescending(x => x.TotalAttackDamage);
                        break;

                    case 2:     //AP
                        team = team.OrderByDescending(x => x.TotalMagicalDamage);
                        break;
                    }

                    var Wtarget = team.FirstOrDefault();

                    if (Wtarget != null && SpellManager.W.IsInRange(Wtarget) && !Player.Instance.IsRecalling())
                    {
                        if (Status_CheckBox(M_Auto, "Auto_W_" + Wtarget.ChampionName))
                        {
                            SpellManager.W.Cast(Wtarget);
                        }
                    }
                }
            }

            if (Status_CheckBox(M_Auto, "Auto_R") && SpellManager.R.IsReady())
            {
                foreach (var Rtarget in EntityManager.Heroes.Allies.Where(x => x.IsValidTarget() && x.IsHPBarRendered && !x.IsRecalling() && !x.IsInShopRange()))
                {
                    if (Rtarget.CountEnemiesInRange(550) >= 1 && Rtarget.HealthPercent < Status_Slider(M_Auto, "Auto_R_TeamHp"))
                    {
                        SpellManager.R.Cast();
                    }
                }

                if (target != null && target.IsAttackingPlayer)
                {
                    if (Player.Instance.HealthPercent < Status_Slider(M_Auto, "Auto_R_MyHp"))
                    {
                        SpellManager.R.Cast();
                    }
                }
            }
        }
Beispiel #5
0
        static void Combo()
        {
            if (!Orbwalking.CanMove(1))
            {
                return;
            }

            if (SharpShooter.Menu.Item("comboUseQ", true).GetValue <Boolean>())
            {
                QSwitchForUnit(TargetSelector.GetTarget(GetQActiveRange + 30, TargetSelector.DamageType.Physical, true));
            }

            if (SharpShooter.Menu.Item("comboUseW", true).GetValue <Boolean>())
            {
                var Wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical, true);

                if (W.CanCast(Wtarget) && !Wtarget.IsValidTarget(DefaultRange / 3) && W.GetPrediction(Wtarget).Hitchance >= HitChance.VeryHigh && aaKillunableCheck(Wtarget))
                {
                    W.Cast(Wtarget);
                }
            }

            if (SharpShooter.Menu.Item("comboUseE", true).GetValue <Boolean>())
            {
                var Etarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical, false);

                if (E.CanCast(Etarget) && !Etarget.HasBuffOfType(BuffType.SpellImmunity) && E.GetPrediction(Etarget).Hitchance >= HitChance.VeryHigh && aaKillunableCheck(Etarget))
                {
                    E.Cast(Etarget);
                }
            }

            if (SharpShooter.Menu.Item("comboUseR", true).GetValue <Boolean>() && R.IsReady() && WLastCastedTime + W.Delay + 0.2 < Game.ClockTime)
            {
                foreach (Obj_AI_Hero Rtarget in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsEnemy && x.IsValidTarget(R.Range) && !Player.HasBuffOfType(BuffType.SpellShield) && !Player.HasBuffOfType(BuffType.Invulnerability)))
                {
                    var Rpred = R.GetPrediction(Rtarget);

                    if (R.CanCast(Rtarget) && Rpred.Hitchance >= HitChance.High && !Player.IsWindingUp && aaKillunableCheck(Rtarget))
                    {
                        var    dis        = Player.Distance(Rpred.UnitPosition);
                        double predhealth = HealthPrediction.GetHealthPrediction(Rtarget, (int)(R.Delay + dis / R.Speed) * 1000) + Rtarget.HPRegenRate;

                        if (Rtarget.IsValidTarget(DefaultRange))
                        {
                            predhealth -= Player.GetAutoAttackDamage(Rtarget, true) * 2;
                        }
                        else
                        if (Rtarget.IsValidTarget(GetQActiveRange - 50))
                        {
                            predhealth -= Player.GetAutoAttackDamage(Rtarget, true);
                        }

                        if (CollisionCheck(Player, Rpred.UnitPosition, R.Width))
                        {
                            if (predhealth <= R.GetDamage(Rtarget))
                            {
                                R.Cast(Rtarget);
                                break;
                            }
                        }
                        else
                        if (predhealth <= R.GetDamage(Rtarget) * 0.8)
                        {
                            foreach (Obj_AI_Hero ExplosionTarget in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsEnemy && x.IsValidTarget(R.Range)))
                            {
                                var pred = R.GetPrediction(ExplosionTarget);

                                if (pred.Hitchance >= HitChance.High && CollisionCheck(Player, pred.UnitPosition, R.Width) && Rtarget.IsValidTarget(235, true, ExplosionTarget.ServerPosition))
                                {
                                    R.Cast(ExplosionTarget);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }