Exemple #1
0
        private void Smite()
        {
            if (CanUse(smite))
            {
                var mobs = Cache.GetMinions(Player.ServerPosition, 520, MinionTeam.Neutral);
                if (mobs.Count == 0 &&
                    (Player.GetSpellSlot("s5_summonersmiteplayerganker") != SpellSlot.Unknown ||
                     Player.GetSpellSlot("s5_summonersmiteduel") != SpellSlot.Unknown))
                {
                    var enemy = TargetSelector.GetTarget(500, DamageType.True);
                    if (enemy.IsValidTarget())
                    {
                        if (enemy.HealthPercent < 50 && getCheckBoxItem("SmiteEnemy"))
                        {
                            Player.Spellbook.CastSpell(smite, enemy);
                        }

                        var smiteDmg = Player.GetSummonerSpellDamage(enemy, DamageLibrary.SummonerSpells.Smite);

                        if (getCheckBoxItem("SmiteEnemyKS") &&
                            enemy.Health - OktwCommon.GetIncomingDamage(enemy) < smiteDmg)
                        {
                            Player.Spellbook.CastSpell(smite, enemy);
                        }
                    }
                }
                if (mobs.Count > 0 && getKeyBindItem("Smite"))
                {
                    foreach (var mob in mobs)
                    {
                        Console.WriteLine(mob.BaseSkinName);
                        if ((((mob.BaseSkinName.ToLower().Contains("dragon")) && getCheckBoxItem("Rdragon")) ||
                             (mob.BaseSkinName == "SRU_Baron" && getCheckBoxItem("Rbaron")) ||
                             (mob.BaseSkinName == "SRU_RiftHerald" && getCheckBoxItem("Rherald")) ||
                             (mob.BaseSkinName == "SRU_Red" && getCheckBoxItem("Rred")) ||
                             (mob.BaseSkinName == "SRU_Blue" && getCheckBoxItem("Rblue"))) &&
                            mob.Health <= Player.GetSummonerSpellDamage(mob, DamageLibrary.SummonerSpells.Smite))
                        {
                            Player.Spellbook.CastSpell(smite, mob);
                        }
                    }
                }
            }
        }
Exemple #2
0
        private void Ignite()
        {
            if (CanUse(ignite) && Config.Item("Ignite").GetValue <bool>())
            {
                var enemy = TargetSelector.GetTarget(600, TargetSelector.DamageType.True);
                if (enemy.IsValidTarget())
                {
                    var pred = enemy.Health - OktwCommon.GetIncomingDamage(enemy);
                    if (pred < 0)
                    {
                        return;
                    }

                    var IgnDmg = Player.GetSummonerSpellDamage(enemy, Damage.SummonerSpell.Ignite);

                    if (pred <= IgnDmg && Player.ServerPosition.Distance(enemy.ServerPosition) > 500 && enemy.CountAlliesInRange(500) < 2)
                    {
                        Player.Spellbook.CastSpell(ignite, enemy);
                    }

                    if (pred <= 2 * IgnDmg)
                    {
                        if (enemy.PercentLifeStealMod > 10)
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }

                        if (enemy.HasBuff("RegenerationPotion") || enemy.HasBuff("ItemMiniRegenPotion") || enemy.HasBuff("ItemCrystalFlask"))
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }

                        if (enemy.Health > Player.Health)
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }
                    }
                }
            }
        }
Exemple #3
0
        private void Ignite()
        {
            if (CanUse(ignite) && Config.Item("Ignite").GetValue <bool>())
            {
                foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(600)))
                {
                    var pred = enemy.Health - OktwCommon.GetIncomingDamage(enemy);

                    var IgnDmg = Player.GetSummonerSpellDamage(enemy, Damage.SummonerSpell.Ignite);

                    if (pred <= 2 * IgnDmg && OktwCommon.ValidUlt(enemy))
                    {
                        if (pred <= IgnDmg && enemy.CountAlliesInRange(450) < 2)
                        {
                            var enemyPred = Prediction.GetPrediction(enemy, 0.1f).CastPosition;
                            if (Player.ServerPosition.Distance(enemyPred) > 500 || NavMesh.IsWallOfGrass(enemyPred, 0))
                            {
                                Player.Spellbook.CastSpell(ignite, enemy);
                            }
                        }

                        if (enemy.PercentLifeStealMod > 10)
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }

                        if (enemy.HasBuff("RegenerationPotion") || enemy.HasBuff("ItemMiniRegenPotion") || enemy.HasBuff("ItemCrystalFlask"))
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }

                        if (enemy.Health > Player.Health)
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }
                    }
                }
            }
        }
Exemple #4
0
        public void Orbwalker_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (W.IsReady() && !Program.None && target.IsValidTargetLS())
            {
                var t = target as AIHeroClient;
                if (t != null)
                {
                    if (Player.GetAutoAttackDamage(t) * 3 > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        W.Cast();
                    }
                    if (Program.Combo && Player.Mana > RMANA + WMANA)
                    {
                        W.Cast();
                    }
                    else if (Config.Item("harasW", true).GetValue <bool>() && !Player.UnderTurret(true) && Player.Mana > RMANA + WMANA + QMANA && Config.Item("haras" + t.ChampionName).GetValue <bool>())
                    {
                        W.Cast();
                    }
                }
                else
                {
                    var t2 = TargetSelector.GetTarget(900, TargetSelector.DamageType.Physical);
                    if (t2.IsValidTargetLS() && Config.Item("harasW", true).GetValue <bool>() && Config.Item("haras" + t2.ChampionName).GetValue <bool>() && !Player.UnderTurret(true) && Player.Mana > RMANA + WMANA + QMANA && t2.Distance(target.Position) < 500)
                    {
                        W.Cast();
                    }

                    if (target is Obj_AI_Minion && Program.LaneClear && Config.Item("farmW", true).GetValue <bool>() && Player.ManaPercent > Config.Item("Mana", true).GetValue <Slider>().Value&& !Player.UnderTurret(true))
                    {
                        var minions = Cache.GetMinions(target.Position, 500);
                        if (minions.Count >= Config.Item("LCminions", true).GetValue <Slider>().Value)
                        {
                            W.Cast();
                        }
                    }
                }
            }
        }
Exemple #5
0
        private void LogicR()
        {
            if (Player.UnderTurret(true) && Config.Item("Rturrent", true).GetValue <bool>())
            {
                return;
            }

            if (Config.Item("autoR", true).GetValue <bool>() && Player.CountEnemiesInRange(800) == 0 && Game.Time - OverKill > 0.6)
            {
                R.Range = Config.Item("MaxRangeR", true).GetValue <Slider>().Value;
                foreach (var target in Program.Enemies.Where(target => target.IsValidTarget(R.Range) && OktwCommon.ValidUlt(target)))
                {
                    double predictedHealth = target.Health - OktwCommon.GetIncomingDamage(target);

                    if (Config.Item("Rcc", true).GetValue <bool>() && target.IsValidTarget(Q.Range + E.Range) && target.Health < Player.MaxHealth && !OktwCommon.CanMove(target))
                    {
                        R.Cast(target, true, true);
                    }

                    double Rdmg = R.GetDamage(target);

                    if (Rdmg > predictedHealth)
                    {
                        Rdmg = getRdmg(target);
                    }

                    if (Rdmg > predictedHealth && target.CountAlliesInRange(500) == 0 && Player.Distance(target) > Config.Item("MinRangeR", true).GetValue <Slider>().Value)
                    {
                        Program.CastSpell(R, target);
                        Program.debug("R normal");
                    }
                    if (Program.Combo && Config.Item("Raoe", true).GetValue <bool>() && Player.CountEnemiesInRange(1000) == 0)
                    {
                        R.CastIfWillHit(target, 3, true);
                    }
                }
            }
        }
Exemple #6
0
        private void PotionManagement()
        {
            if (Player.Health - OktwCommon.GetIncomingDamage(Player) + 250 > Player.MaxHealth)
            {
                return;
            }

            if (Player.HealthPercent > 50 && Player.CountEnemiesInRange(700) == 0)
            {
                return;
            }

            if (Player.HasBuff("RegenerationPotion") || Player.HasBuff("ItemMiniRegenPotion") || Player.HasBuff("ItemCrystalFlaskJungle") || Player.HasBuff("ItemDarkCrystalFlask") || Player.HasBuff("ItemCrystalFlask"))
            {
                return;
            }

            if (Potion.IsReady())
            {
                Potion.Cast();
            }
            else if (Biscuit.IsReady())
            {
                Biscuit.Cast();
            }
            else if (Hunter.IsReady())
            {
                Hunter.Cast();
            }
            else if (Corrupting.IsReady())
            {
                Corrupting.Cast();
            }
            else if (Refillable.IsReady())
            {
                Refillable.Cast();
            }
        }
Exemple #7
0
 private static void Orbwalker_OnPostAttack(AttackableUnit target, EventArgs args)
 {
     if (W.IsReady())
     {
         var t = target as AIHeroClient;
         if (t != null)
         {
             if (Player.LSGetAutoAttackDamage(t) * 3 > t.Health - OktwCommon.GetIncomingDamage(t))
             {
                 W.Cast();
             }
             if (Program.Combo && Player.Mana > RMANA + WMANA)
             {
                 W.Cast();
             }
             else if (getCheckBoxItem(wMenu, "harasW") && !Player.UnderTurret(true) && Player.Mana > RMANA + WMANA + QMANA && getCheckBoxItem(wMenu, "haras" + t.NetworkId))
             {
                 W.Cast();
             }
         }
         else
         {
             var t2 = TargetSelector.GetTarget(900, DamageType.Physical);
             if (t2.LSIsValidTarget() && getCheckBoxItem(wMenu, "harasW") && getCheckBoxItem(wMenu, "haras" + t2.NetworkId) && !Player.UnderTurret(true) && Player.Mana > RMANA + WMANA + QMANA && t2.LSDistance(target.Position) < 500)
             {
                 W.Cast();
             }
             if (target is Obj_AI_Minion && Program.LaneClear && getCheckBoxItem(farmMenu, "farmW") && Player.ManaPercent > getSliderItem(farmMenu, "Mana") && !Player.UnderTurret(true))
             {
                 var minions = Cache.GetMinions(target.Position, 500);
                 if (minions.Count >= getSliderItem(farmMenu, "LCminions"))
                 {
                     W.Cast();
                 }
             }
         }
     }
 }
Exemple #8
0
        private void Ignite()
        {
            if (CanUse(ignite) && getCheckBoxItem("Ignite"))
            {
                var enemy = TargetSelector.GetTarget(600, DamageType.True);
                if (enemy.LSIsValidTarget() && OktwCommon.ValidUlt(enemy))
                {
                    var pred = enemy.Health - OktwCommon.GetIncomingDamage(enemy);

                    var IgnDmg = Player.GetSummonerSpellDamage(enemy, DamageLibrary.SummonerSpells.Ignite);

                    if (pred <= IgnDmg && Player.ServerPosition.LSDistance(enemy.ServerPosition) > 500 &&
                        enemy.CountAlliesInRange(500) < 2)
                    {
                        Player.Spellbook.CastSpell(ignite, enemy);
                    }

                    if (pred <= 2 * IgnDmg)
                    {
                        if (enemy.PercentLifeStealMod > 10)
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }

                        if (enemy.HasBuff("RegenerationPotion") || enemy.HasBuff("ItemMiniRegenPotion") ||
                            enemy.HasBuff("ItemCrystalFlask"))
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }

                        if (enemy.Health > Player.Health)
                        {
                            Player.Spellbook.CastSpell(ignite, enemy);
                        }
                    }
                }
            }
        }
Exemple #9
0
        private void SurvivalLogic()
        {
            if (E.IsReady() && Player.HealthPercent < 50 && Config.Item("Edead", true).GetValue <bool>())
            {
                double dmg = OktwCommon.GetIncomingDamage(Player, 0.5F);
                if (dmg > 0)
                {
                    if (Player.Health - dmg < Player.CountEnemiesInRange(700) * Player.Level * 5)
                    {
                        CastE();
                    }
                    else if (Player.Health - dmg < Player.Level * 5)
                    {
                        CastE();
                    }
                }
            }

            if (R.IsReady())
            {
                if (R.IsReady() && AllyR != null && AllyR.IsVisible && AllyR.HealthPercent < 50 && AllyR.Distance(Player.Position) < R.Range)
                {
                    double dmg = OktwCommon.GetIncomingDamage(AllyR, 1);
                    if (dmg > 0)
                    {
                        if (AllyR.Health - dmg < AllyR.CountEnemiesInRange(700) * AllyR.Level * 10)
                        {
                            R.Cast();
                        }
                        else if (AllyR.Health - dmg < AllyR.Level * 10)
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Exemple #10
0
        private static void Orbwalking_BeforeAttack(SebbyLib.Orbwalking.BeforeAttackEventArgs args)
        {
            if (Combo && Config.Item("comboDisableMode", true).GetValue <bool>())
            {
                var t = (AIHeroClient)args.Target;
                if (4 * Player.GetAutoAttackDamage(t) < t.Health - OktwCommon.GetIncomingDamage(t) && !t.HasBuff("luxilluminatingfraulein") && !Player.HasBuff("sheen") && !Player.HasBuff("Mastery6261"))
                {
                    args.Process = false;
                }
            }

            if (!Player.IsMelee && OktwCommon.CollisionYasuo(Player.ServerPosition, args.Target.Position) && Config.Item("collAA", true).GetValue <bool>())
            {
                args.Process = false;
            }

            if (Orbwalker.ActiveMode == SebbyLib.Orbwalking.OrbwalkingMode.Mixed && Config.Item("supportMode", true).GetValue <bool>())
            {
                if (args.Target.Type == GameObjectType.obj_AI_Minion)
                {
                    args.Process = false;
                }
            }
        }
Exemple #11
0
        private void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var t = target as AIHeroClient;

            if (t != null)
            {
                if (E.IsReady() && Config.Item("Eks", true).GetValue <bool>())
                {
                    var incomingDMG = OktwCommon.GetIncomingDamage(t, 0.3f, false);
                    if (incomingDMG > t.Health)
                    {
                        return;
                    }

                    var dmgE = E.GetDamage(t) + incomingDMG;

                    if (GetWStacks(t) == 1)
                    {
                        dmgE += Wdmg(t);
                    }

                    if (dmgE > t.Health)
                    {
                        E.Cast(t);
                    }
                }

                if (Q.IsReady() && !Program.None && Config.Item("autoQ", true).GetValue <bool>() && (GetWStacks(t) == Config.Item("Qstack", true).GetValue <Slider>().Value - 1 || Player.HasBuff("vayneinquisition")))
                {
                    var dashPos = Dash.CastDash(true);
                    if (!dashPos.IsZero)
                    {
                        Q.Cast(dashPos);
                    }
                }
            }

            var m = target as Obj_AI_Minion;

            if (m != null && Q.IsReady() && Program.Farm && Config.Item("farmQ", true).GetValue <bool>())
            {
                var dashPosition = Player.Position.Extend(Game.CursorPos, Q.Range).To3DWorld();
                if (!Dash.IsGoodPosition(dashPosition))
                {
                    return;
                }

                if (Config.Item("farmQjungle", true).GetValue <bool>() && m.Team == GameObjectTeam.Neutral)
                {
                    Q.Cast(dashPosition, true);
                }

                if (Config.Item("farmQ", true).GetValue <bool>())
                {
                    foreach (var minion in Cache.GetMinions(dashPosition, 0).Where(minion => m.NetworkId != minion.NetworkId))
                    {
                        var time       = (int)(Player.AttackCastDelay * 1000) + Game.Ping / 2 + 1000 * (int)Math.Max(0, Player.Distance(minion) - Player.BoundingRadius) / (int)Player.BasicAttack.MissileSpeed;
                        var predHealth = LeagueSharp.Common.HealthPrediction.GetHealthPrediction(minion, time);
                        if (predHealth < Player.GetAutoAttackDamage(minion) + Q.GetDamage(minion) && predHealth > 0)
                        {
                            Q.Cast(dashPosition, true);
                        }
                    }
                }
            }
        }
Exemple #12
0
        private void Offensive()
        {
            if (Botrk.IsReady() && Config.Item("Botrk").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Botrk.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("BotrkKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Physical, t.MaxHealth * 0.1) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkLS").GetValue <bool>() && Player.Health < Player.MaxHealth * 0.5 - OktwCommon.GetIncomingDamage(Player))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkCombo").GetValue <bool>() && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (GLP800.IsReady() && Config.Item("GLP800").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(GLP800.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("GLP800KS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 200 + Player.FlatMagicDamageMod * 0.35) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        GLP800.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (Config.Item("GLP800Combo").GetValue <bool>() && Program.Combo)
                    {
                        Program.debug("PRO");
                        GLP800.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            if (Protobelt.IsReady() && Config.Item("Protobelt").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Protobelt.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("ProtobeltKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.35) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Protobelt.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (Config.Item("ProtobeltCombo").GetValue <bool>() && Program.Combo)
                    {
                        Program.debug("PRO");
                        Protobelt.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            if (Hextech.IsReady() && Config.Item("Hextech").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Hextech.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("HextechKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (Config.Item("HextechCombo").GetValue <bool>() && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Program.Combo && FrostQueen.IsReady() && Config.Item("FrostQueen").GetValue <bool>() && Player.CountEnemiesInRange(800) > 0)
            {
                FrostQueen.Cast();
            }

            if (Cutlass.IsReady() && Config.Item("Cutlass").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("CutlassKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (Config.Item("CutlassCombo").GetValue <bool>() && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && Config.Item("Youmuus").GetValue <bool>() && Program.Combo)
            {
                var t = Orbwalker.GetTarget();

                if (t.IsValidTarget() && t is AIHeroClient)
                {
                    if (Config.Item("YoumuusKS").GetValue <bool>() && t.Health < Player.MaxHealth)
                    {
                        Youmuus.Cast();
                    }
                    if (Config.Item("YoumuusCombo").GetValue <bool>())
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (Config.Item("Hydra").GetValue <bool>())
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
Exemple #13
0
        private void Smite()
        {
            if (CanUse(smite))
            {
                var mobs = MinionManager.GetMinions(Player.ServerPosition, 520, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.Health);
                if (mobs.Count == 0 && (Player.GetSpellSlot("s5_summonersmiteplayerganker") != SpellSlot.Unknown || Player.GetSpellSlot("s5_summonersmiteduel") != SpellSlot.Unknown))
                {
                    var enemy = TargetSelector.GetTarget(500, TargetSelector.DamageType.True);
                    if (enemy.IsValidTarget() && enemy.HealthPercent < 50)
                    {
                        if (enemy.HealthPercent < 50 && Config.Item("SmiteEnemy").GetValue <bool>())
                        {
                            Player.Spellbook.CastSpell(smite, enemy);
                        }

                        var smiteDmg = Player.GetSummonerSpellDamage(enemy, Damage.SummonerSpell.Smite);

                        if (Config.Item("SmiteEnemyKS").GetValue <bool>() && enemy.Health - OktwCommon.GetIncomingDamage(enemy) < smiteDmg)
                        {
                            Player.Spellbook.CastSpell(smite, enemy);
                        }
                    }
                }
                if (mobs.Count > 0 && Config.Item("Smite").GetValue <KeyBind>().Active)
                {
                    foreach (var mob in mobs)
                    {
                        if (((mob.SkinName == "SRU_Dragon" && Config.Item("Rdragon", true).GetValue <bool>()) ||
                             (mob.SkinName == "SRU_Baron" && Config.Item("Rbaron", true).GetValue <bool>()) ||
                             (mob.SkinName == "SRU_RiftHerald" && Config.Item("Rherald", true).GetValue <bool>()) ||
                             (mob.SkinName == "SRU_Red" && Config.Item("Rred", true).GetValue <bool>()) ||
                             (mob.SkinName == "SRU_Blue" && Config.Item("Rblue", true).GetValue <bool>())) &&
                            mob.Health <= Player.GetSummonerSpellDamage(mob, Damage.SummonerSpell.Smite))
                        {
                            Player.Spellbook.CastSpell(smite, mob);
                        }
                    }
                }
            }
        }
Exemple #14
0
        private void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (target.Type != GameObjectType.obj_AI_Hero)
            {
                return;
            }

            var t = target as Obj_AI_Hero;

            if (E.IsReady() && Config.Item("Eks", true).GetValue <bool>())
            {
                var dmgE = E.GetDamage(t) + OktwCommon.GetIncomingDamage(t, 0.5f, false);

                if (GetWStacks(t) == 1)
                {
                    dmgE += Wdmg(t);
                }

                if (dmgE > t.Health)
                {
                    E.Cast(t);
                }
            }

            if (!Q.IsReady())
            {
                return;
            }

            if (t.IsValidTarget() && (Program.Combo || Program.Farm) && Config.Item("autoQ", true).GetValue <bool>() && (GetWStacks(t) == 1 || Player.HasBuff("vayneinquisition")))
            {
                var dashPos = Dash.CastDash(true);
                if (!dashPos.IsZero)
                {
                    Q.Cast(dashPos);
                }
            }
            else if (Program.Farm && Config.Item("farmQ", true).GetValue <bool>())
            {
                var dashPosition = Player.Position.Extend(Game.CursorPos, Q.Range);
                if (!Dash.IsGoodPosition(dashPosition))
                {
                    return;
                }

                var minions = Cache.GetMinions(dashPosition, Player.AttackRange);

                if (minions == null || minions.Count == 0)
                {
                    return;
                }

                int countMinions = 0;

                foreach (var minion in minions.Where(minion => minion.Health < Player.GetAutoAttackDamage(minion) + Q.GetDamage(minion)))
                {
                    countMinions++;
                }

                if (countMinions > 1)
                {
                    Q.Cast(dashPosition, true);
                }
            }
        }
Exemple #15
0
        private void Survival()
        {
            if (Redemption.IsReady() && Config.Item("Redemption").GetValue <bool>())
            {
                var target = HeroManager.Enemies.FirstOrDefault(x => x.IsValidTarget(5000) && x.Position.CountAlliesInRange(600) > 0);
                if (target != null)
                {
                    var ally = HeroManager.Allies.FirstOrDefault(x => x.IsValid && !x.IsDead && x.Position.Distance(target.Position) < 400);
                    if (ally != null && ally.Health - OktwCommon.GetIncomingDamage(ally) < ally.MaxHealth * 0.5)
                    {
                        if (target.CountAlliesInRange(600) > 1 || ally.CountEnemiesInRange(600) > 1)
                        {
                            var predInput = new SebbyLib.Prediction.PredictionInput
                            {
                                Aoe       = true,
                                Collision = false,
                                Speed     = float.MaxValue,
                                Delay     = 0.5f,
                                Range     = 5500,
                                From      = Player.ServerPosition,
                                Radius    = 500,
                                Unit      = target,
                                Type      = SebbyLib.Prediction.SkillshotType.SkillshotCircle
                            };
                            var pos = SebbyLib.Prediction.Prediction.GetPrediction(predInput);
                            Redemption.Cast(pos.CastPosition);
                        }
                    }
                }
            }


            if (Player.HealthPercent < 60 && (Seraph.IsReady() || Zhonya.IsReady() || CanUse(barrier)))
            {
                double dmg    = OktwCommon.GetIncomingDamage(Player);
                var    enemys = Player.CountEnemiesInRange(800);
                if (dmg > 0 || enemys > 0)
                {
                    if (CanUse(barrier) && Config.Item("Barrier").GetValue <bool>())
                    {
                        var value = 95 + Player.Level * 20;
                        if (dmg > value && Player.HealthPercent < 50)
                        {
                            ObjectManager.Player.Spellbook.CastSpell(barrier, Player);
                        }
                        else if (Player.Health - dmg < enemys * Player.Level * 20)
                        {
                            ObjectManager.Player.Spellbook.CastSpell(barrier, Player);
                        }
                        else if (Player.Health - dmg < Player.Level * 10)
                        {
                            ObjectManager.Player.Spellbook.CastSpell(barrier, Player);
                        }
                    }

                    if (Seraph.IsReady() && Config.Item("Seraph").GetValue <bool>())
                    {
                        var value = Player.Mana * 0.2 + 150;
                        if (dmg > value && Player.HealthPercent < 50)
                        {
                            Seraph.Cast();
                        }
                        else if (Player.Health - dmg < enemys * Player.Level * 20)
                        {
                            Seraph.Cast();
                        }
                        else if (Player.Health - dmg < Player.Level * 10)
                        {
                            Seraph.Cast();
                        }
                    }

                    if (Zhonya.IsReady() && Config.Item("Zhonya").GetValue <bool>())
                    {
                        if (dmg > Player.Level * 35)
                        {
                            ZhonyaTryCast();
                        }
                        else if (Player.Health - dmg < enemys * Player.Level * 20)
                        {
                            ZhonyaTryCast();
                        }
                        else if (Player.Health - dmg < Player.Level * 10)
                        {
                            ZhonyaTryCast();
                        }
                    }
                }
            }


            if (!Solari.IsReady() && !FaceOfTheMountain.IsReady() && !CanUse(heal))
            {
                return;
            }

            foreach (var ally in HeroManager.Allies.Where(ally => ally.IsValid && !ally.IsDead && ally.HealthPercent < 50 && Player.Distance(ally.ServerPosition) < 700))
            {
                double dmg = OktwCommon.GetIncomingDamage(ally);

                if (dmg == 0)
                {
                    continue;
                }

                if (CanUse(heal) && Config.Item("Heal").GetValue <bool>())
                {
                    if (!Config.Item("AllyHeal").GetValue <bool>() && !ally.IsMe)
                    {
                        return;
                    }

                    if (ally.Health - dmg < ally.Level * 10)
                    {
                        ObjectManager.Player.Spellbook.CastSpell(heal, ally);
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        ObjectManager.Player.Spellbook.CastSpell(heal, ally);
                    }
                }

                if (Config.Item("Solari").GetValue <bool>() && Solari.IsReady() && Player.Distance(ally.ServerPosition) < Solari.Range)
                {
                    var value = 75 + (15 * Player.Level);
                    if (dmg > value && Player.HealthPercent < 50)
                    {
                        Solari.Cast();
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        Solari.Cast();
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        Solari.Cast();
                    }
                }

                if (Config.Item("FaceOfTheMountain").GetValue <bool>() && FaceOfTheMountain.IsReady() && Player.Distance(ally.ServerPosition) < FaceOfTheMountain.Range)
                {
                    var value = 0.1 * Player.MaxHealth;
                    if (dmg > value && Player.HealthPercent < 50)
                    {
                        FaceOfTheMountain.Cast(ally);
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        FaceOfTheMountain.Cast(ally);
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        FaceOfTheMountain.Cast(ally);
                    }
                }
            }
        }
Exemple #16
0
        private void Survival()
        {
            if (Player.HealthPercent < 60 && (Seraph.IsReady() || Zhonya.IsReady() || CanUse(barrier)))
            {
                var dmg    = OktwCommon.GetIncomingDamage(Player, 1);
                var enemys = Player.CountEnemiesInRange(800);
                if (dmg > 0 || enemys > 0)
                {
                    if (CanUse(barrier) && getCheckBoxItem("Barrier"))
                    {
                        var value = 95 + Player.Level * 20;
                        if (dmg > value && Player.HealthPercent < 50)
                        {
                            Player.Spellbook.CastSpell(barrier, Player);
                        }
                        else if (Player.Health - dmg < enemys * Player.Level * 20)
                        {
                            Player.Spellbook.CastSpell(barrier, Player);
                        }
                        else if (Player.Health - dmg < Player.Level * 10)
                        {
                            Seraph.Cast();
                        }
                    }

                    if (Seraph.IsReady() && getCheckBoxItem("Seraph"))
                    {
                        var value = Player.Mana * 0.2 + 150;
                        if (dmg > value && Player.HealthPercent < 50)
                        {
                            Seraph.Cast();
                        }
                        else if (Player.Health - dmg < enemys * Player.Level * 20)
                        {
                            Seraph.Cast();
                        }
                        else if (Player.Health - dmg < Player.Level * 10)
                        {
                            Seraph.Cast();
                        }
                    }

                    if (Zhonya.IsReady() && getCheckBoxItem("Zhonya"))
                    {
                        if (dmg > Player.Level * 35)
                        {
                            Zhonya.Cast();
                        }
                        else if (Player.Health - dmg < enemys * Player.Level * 20)
                        {
                            Zhonya.Cast();
                        }
                        else if (Player.Health - dmg < Player.Level * 10)
                        {
                            Zhonya.Cast();
                        }
                    }
                }
            }


            if (!Solari.IsReady() && !FaceOfTheMountain.IsReady() && !CanUse(heal))
            {
                return;
            }

            foreach (
                var ally in
                Program.Allies.Where(
                    ally =>
                    ally.IsValid && !ally.IsDead && ally.HealthPercent < 50 &&
                    Player.Distance(ally.ServerPosition) < 700))
            {
                var dmg    = OktwCommon.GetIncomingDamage(ally, 1);
                var enemys = ally.CountEnemiesInRange(700);
                if (dmg == 0 && enemys == 0)
                {
                    continue;
                }

                if (CanUse(heal) && getCheckBoxItem("Heal"))
                {
                    if (!getCheckBoxItem("AllyHeal") && !ally.IsMe)
                    {
                        return;
                    }

                    if (ally.Health - dmg < enemys * ally.Level * 15)
                    {
                        Player.Spellbook.CastSpell(heal, ally);
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        Player.Spellbook.CastSpell(heal, ally);
                    }
                }

                if (getCheckBoxItem("Solari") && Solari.IsReady() && Player.Distance(ally.ServerPosition) < Solari.Range)
                {
                    var value = 75 + 15 * Player.Level;
                    if (dmg > value && Player.HealthPercent < 50)
                    {
                        Solari.Cast();
                    }
                    else if (ally.Health - dmg < enemys * ally.Level * 15)
                    {
                        Solari.Cast();
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        Solari.Cast();
                    }
                }

                if (getCheckBoxItem("FaceOfTheMountain") && FaceOfTheMountain.IsReady() &&
                    Player.Distance(ally.ServerPosition) < FaceOfTheMountain.Range)
                {
                    var value = 0.1 * Player.MaxHealth;
                    if (dmg > value && Player.HealthPercent < 50)
                    {
                        FaceOfTheMountain.Cast(ally);
                    }
                    else if (ally.Health - dmg < enemys * ally.Level * 15)
                    {
                        FaceOfTheMountain.Cast(ally);
                    }
                    else if (ally.Health - dmg < ally.Level * 10)
                    {
                        FaceOfTheMountain.Cast(ally);
                    }
                }
            }
        }
Exemple #17
0
        private void Offensive()
        {
            if (Botrk.IsReady() && getCheckBoxItem("Botrk"))
            {
                var t = TargetSelector.GetTarget(Botrk.Range, DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (getCheckBoxItem("BotrkKS") &&
                        Player.CalcDamage(t, DamageType.Physical, t.MaxHealth * 0.1) >
                        t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (getCheckBoxItem("BotrkLS") &&
                        Player.Health < Player.MaxHealth * 0.5 - OktwCommon.GetIncomingDamage(Player))
                    {
                        Botrk.Cast(t);
                    }
                    if (getCheckBoxItem("BotrkCombo") && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Hextech.IsReady() && getCheckBoxItem("Hextech"))
            {
                var t = TargetSelector.GetTarget(Hextech.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (getCheckBoxItem("HextechKS") &&
                        Player.CalcDamage(t, DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) >
                        t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (getCheckBoxItem("HextechCombo") && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Program.Combo && FrostQueen.IsReady() && getCheckBoxItem("FrostQueen") &&
                Player.CountEnemiesInRange(800) > 0)
            {
                FrostQueen.Cast();
            }

            if (Cutlass.IsReady() && getCheckBoxItem("Cutlass"))
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (getCheckBoxItem("CutlassKS") &&
                        Player.CalcDamage(t, DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (getCheckBoxItem("CutlassCombo") && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && getCheckBoxItem("Youmuus"))
            {
                var t = Orbwalker.LastTarget;

                if (t.IsValidTarget() && t is AIHeroClient)
                {
                    if (getCheckBoxItem("YoumuusKS") && t.Health < Player.MaxHealth)
                    {
                        Youmuus.Cast();
                    }
                    if (getCheckBoxItem("YoumuusCombo") && Program.Combo)
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (getCheckBoxItem("Hydra"))
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
Exemple #18
0
        private void Offensive()
        {
            if (Botrk.IsReady() && Config.Item("Botrk").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Botrk.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("BotrkKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Physical, t.MaxHealth * 0.1) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkLS").GetValue <bool>() && Player.Health < Player.MaxHealth * 0.5)
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkCombo").GetValue <bool>() && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Hextech.IsReady() && Config.Item("Hextech").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Hextech.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("HextechKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (Config.Item("HextechCombo").GetValue <bool>() && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Program.Combo && FrostQueen.IsReady() && Config.Item("FrostQueen").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(FrostQueen.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    var predInput2 = new Core.PredictionInput
                    {
                        Aoe       = true,
                        Collision = false,
                        Speed     = 1200,
                        Delay     = 0.25f,
                        Range     = FrostQueen.Range,
                        From      = Player.ServerPosition,
                        Radius    = 200,
                        Unit      = t,
                        Type      = Core.SkillshotType.SkillshotCircle
                    };
                    var poutput2 = Core.Prediction.GetPrediction(predInput2);

                    if (poutput2.Hitchance >= Core.HitChance.High)
                    {
                        FrostQueen.Cast(poutput2.CastPosition);
                    }
                }
            }

            if (Cutlass.IsReady() && Config.Item("Cutlass").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("CutlassKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (Config.Item("CutlassCombo").GetValue <bool>() && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && Config.Item("Youmuus").GetValue <bool>())
            {
                var t = Orbwalker.GetTarget();

                if (t.IsValidTarget() && t is Obj_AI_Hero)
                {
                    if (Config.Item("YoumuusKS").GetValue <bool>() && t.Health < Player.MaxHealth * 0.6)
                    {
                        Youmuus.Cast();
                    }
                    if (Config.Item("YoumuusCombo").GetValue <bool>() && Program.Combo)
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (Config.Item("Hydra").GetValue <bool>())
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }