Ejemplo n.º 1
0
 private static void Fight(string mode)
 {
     if (mode == "Combo" && GetValue <bool>(mode, "W") && W.IsReady() && !Player.IsDashing())
     {
         var target = W.GetTarget();
         if (target != null)
         {
             if (GetValue <bool>(mode, "WSolo") && LeagueSharp.Common.Utility.IsBothFacing(Player, target) &&
                 Orbwalking.InAutoAttackRange(target) &&
                 Player.GetAutoAttackDamage(target, true) < target.GetAutoAttackDamage(Player, true))
             {
                 return;
             }
             if (Player.IsFacing(target) && !target.IsFacing(Player) && !Orbwalking.InAutoAttackRange(target, 30) &&
                 W.Cast())
             {
                 return;
             }
         }
     }
     if (GetValue <bool>(mode, "E") && E.IsReady() &&
         (mode == "Combo" || Player.HealthPercent >= GetValue <Slider>(mode, "EHpA").Value))
     {
         var target = E.GetTarget(E.Width);
         if (target != null)
         {
             var predE = E.GetPrediction(target, true);
             if (predE.Hitchance >= E.MinHitChance &&
                 ((mode == "Combo" && !Orbwalking.InAutoAttackRange(target, 20)) ||
                  (mode == "Harass" && Orbwalking.InAutoAttackRange(target, 50))))
             {
                 E.Cast(predE.CastPosition.Extend(Player.ServerPosition, -100));
             }
         }
         else
         {
             var sub = E.GetTarget(Orbwalking.GetAutoAttackRange());
             if (sub != null &&
                 Orbwalking.InAutoAttackRange(sub, 20, Player.ServerPosition.Extend(sub.ServerPosition, E.Range)))
             {
                 E.Cast(Player.ServerPosition.Extend(sub.ServerPosition, E.Range));
             }
         }
     }
 }
Ejemplo n.º 2
0
        private static void AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!E.IsReady())
            {
                return;
            }
            if (((Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && target is Obj_AI_Minion) ||
                 ((Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo ||
                   (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed &&
                    Player.HealthPercent >= GetValue <Slider>("Harass", "EHpA").Value)) && target is AIHeroClient)) &&
                GetValue <bool>(Orbwalker.ActiveMode.ToString(), "E") && !HavePassive)
            {
                var obj = (Obj_AI_Base)target;
                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed ||
                    (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo &&
                     GetValue <StringList>("Combo", "EMode").SelectedIndex == 0))
                {
                    var pos = Geometry.CircleCircleIntersection(
                        Player.ServerPosition.To2D(), Prediction.GetPrediction(obj, 0.25f).UnitPosition.To2D(), E.Range,
                        Orbwalking.GetAutoAttackRange(obj));
                    if (pos.Count() > 0)
                    {
                        E.Cast(pos.MinOrDefault(i => i.Distance(Game.CursorPos)));
                    }
                    else
                    {
                        E.Cast(Player.ServerPosition.Extend(obj.ServerPosition, -E.Range));
                    }
                }
                else if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                {
                    switch (GetValue <StringList>("Combo", "EMode").SelectedIndex)
                    {
                    case 1:
                        E.Cast(Player.ServerPosition.Extend(Game.CursorPos, E.Range));
                        break;

                    case 2:
                        E.Cast(obj.ServerPosition);
                        break;
                    }
                }
            }
        }
Ejemplo n.º 3
0
 private static void Fight(string mode)
 {
     if (mode == "Combo" && GetValue <bool>(mode, "R") && R.IsReady())
     {
         var target = R.GetTarget();
         if (target != null && CanKill(target, GetRDmg(target)))
         {
             if (Player.Distance(target) > 550 ||
                 (!Orbwalking.InAutoAttackRange(target) && (!GetValue <bool>(mode, "Q") || !Q.IsReady()) &&
                  (!GetValue <bool>(mode, "W") || !W.IsReady()) && (!GetValue <bool>(mode, "E") || !E.IsReady())))
             {
                 if (R.Cast(target).IsCasted())
                 {
                     if (GetValue <bool>(mode, "RItem") && Youmuu.IsReady())
                     {
                         LeagueSharp.Common.Utility.DelayAction.Add(10, () => Youmuu.Cast());
                     }
                     return;
                 }
             }
         }
     }
     if (mode == "Combo" && GetValue <bool>(mode, "E") && GetValue <bool>(mode, "EGap") && E.IsReady())
     {
         var target = E.GetTarget(Orbwalking.GetAutoAttackRange() - 30);
         if (target != null && !Orbwalking.InAutoAttackRange(target) &&
             Orbwalking.InAutoAttackRange(target, 20, Player.ServerPosition.Extend(Game.CursorPos, E.Range)) &&
             E.Cast(Player.ServerPosition.Extend(Game.CursorPos, E.Range)))
         {
             return;
         }
     }
     if (GetValue <bool>(mode, "PSave") && HavePassive)
     {
         return;
     }
     if (GetValue <bool>(mode, "E") &&
         (E.IsReady() || (mode == "Combo" && E.IsReady(GetValue <Slider>(mode, "EDelay").Value))))
     {
         return;
     }
     if (GetValue <bool>(mode, "Q") && Q.IsReady())
     {
         var target = Q.GetTarget() ?? Q2.GetTarget();
         if (target != null)
         {
             if (((Orbwalking.InAutoAttackRange(target) && !HavePassive) ||
                  (!Orbwalking.InAutoAttackRange(target, 20) && Q.IsInRange(target))) &&
                 Q.CastOnUnit(target))
             {
                 return;
             }
             if ((mode == "Harass" || GetValue <bool>(mode, "QExtend")) && !Q.IsInRange(target) &&
                 CastExtendQ(target))
             {
                 return;
             }
         }
     }
     if ((!GetValue <bool>(mode, "Q") || !Q.IsReady()) && GetValue <bool>(mode, "W") && W.IsReady() &&
         !Player.IsDashing())
     {
         var target = W.GetTarget();
         if (target != null &&
             ((Orbwalking.InAutoAttackRange(target) && !HavePassive) || !Orbwalking.InAutoAttackRange(target, 20)))
         {
             if (Orbwalking.InAutoAttackRange(target))
             {
                 W2.CastIfWillHit(target, -1);
             }
             else
             {
                 W.CastIfWillHit(target, -1);
             }
         }
     }
 }
Ejemplo n.º 4
0
        public Jax()
        {
            Q = new Spell(SpellSlot.Q, 700);
            W = new Spell(SpellSlot.W, Orbwalking.GetAutoAttackRange(), TargetSelector.DamageType.Magical);
            E = new Spell(SpellSlot.E, 375);
            R = new Spell(SpellSlot.R);

            var orbwalker = new Menu("Orbwalk", "rorb");

            Orbwalker = new Orbwalking.Orbwalker(orbwalker);
            MainMenu.AddSubMenu(orbwalker);

            var champMenu = new Menu("Plugin", Player.ChampionName + "_Plugin");

            {
                var comboMenu = new Menu("Combo", "Combo");
                {
                    AddBool(comboMenu, "Q", "Use Q");
                    AddBool(comboMenu, "W", "Use W");
                    AddBool(comboMenu, "E", "Use E");
                    AddSlider(comboMenu, "ECountA", "-> Cancel If Enemy >=", 2, 1, 5);
                    AddBool(comboMenu, "R", "Use R");
                    AddSlider(comboMenu, "RHpU", "-> If Player Hp <", 60);
                    AddSlider(comboMenu, "RCountA", "-> Or Enemy >=", 2, 1, 5);
                    champMenu.AddSubMenu(comboMenu);
                }
                var harassMenu = new Menu("Harass", "Harass");
                {
                    AddBool(harassMenu, "Q", "Use Q");
                    AddSlider(harassMenu, "QHpA", "-> If Hp >=", 20);
                    AddBool(harassMenu, "W", "Use W");
                    AddBool(harassMenu, "E", "Use E");
                    champMenu.AddSubMenu(harassMenu);
                }
                var clearMenu = new Menu("Clear", "Clear");
                {
                    AddSmiteMob(clearMenu);
                    AddBool(clearMenu, "Q", "Use Q");
                    AddBool(clearMenu, "W", "Use W");
                    AddBool(clearMenu, "E", "Use E");
                    AddBool(clearMenu, "Item", "Use Tiamat/Hydra");
                    champMenu.AddSubMenu(clearMenu);
                }
                var lastHitMenu = new Menu("Last Hit", "LastHit");
                {
                    AddBool(lastHitMenu, "W", "Use W");
                    champMenu.AddSubMenu(lastHitMenu);
                }
                var fleeMenu = new Menu("Flee", "Flee");
                {
                    AddBool(fleeMenu, "Q", "Use Q");
                    AddBool(fleeMenu, "PinkWard", "-> Ward Jump Use Pink Ward", false);
                    champMenu.AddSubMenu(fleeMenu);
                }
                var miscMenu = new Menu("Misc", "Misc");
                {
                    var killStealMenu = new Menu("Kill Steal", "KillSteal");
                    {
                        AddBool(killStealMenu, "Q", "Use Q");
                        AddBool(killStealMenu, "W", "Use W");
                        AddBool(killStealMenu, "Ignite", "Use Ignite");
                        AddBool(killStealMenu, "Smite", "Use Smite");
                        miscMenu.AddSubMenu(killStealMenu);
                    }
                    var antiGapMenu = new Menu("Anti Gap Closer", "AntiGap");
                    {
                        AddBool(antiGapMenu, "E", "Use E");
                        foreach (var spell in
                                 AntiGapcloser.Spells.Where(
                                     i => HeroManager.Enemies.Any(a => i.ChampionName == a.ChampionName)))
                        {
                            AddBool(
                                antiGapMenu, spell.ChampionName + "_" + spell.Slot,
                                "-> Skill " + spell.Slot + " Of " + spell.ChampionName);
                        }
                        miscMenu.AddSubMenu(antiGapMenu);
                    }
                    var interruptMenu = new Menu("Interrupt", "Interrupt");
                    {
                        AddBool(interruptMenu, "E", "Use E");
                        foreach (var spell in
                                 Interrupter.Spells.Where(
                                     i => HeroManager.Enemies.Any(a => i.ChampionName == a.ChampionName)))
                        {
                            AddBool(
                                interruptMenu, spell.ChampionName + "_" + spell.Slot,
                                "-> Skill " + spell.Slot + " Of " + spell.ChampionName);
                        }
                        miscMenu.AddSubMenu(interruptMenu);
                    }
                    champMenu.AddSubMenu(miscMenu);
                }
                var drawMenu = new Menu("Draw", "Draw");
                {
                    AddBool(drawMenu, "Q", "Q Range", false);
                    AddBool(drawMenu, "E", "E Range", false);
                    champMenu.AddSubMenu(drawMenu);
                }
                MainMenu.AddSubMenu(champMenu);
            }
            Game.OnUpdate  += OnUpdate;
            Drawing.OnDraw += OnDraw;
            AntiGapcloser.OnEnemyGapcloser     += OnEnemyGapcloser;
            Interrupter2.OnInterruptableTarget += OnPossibleToInterrupt;
            Orbwalking.AfterAttack             += AfterAttack;
            GameObject.OnCreate += OnCreateWardForFlee;
        }
Ejemplo n.º 5
0
        public Nasus()
        {
            Q = new Spell(SpellSlot.Q, Orbwalking.GetAutoAttackRange());
            W = new Spell(SpellSlot.W, 600);
            E = new Spell(SpellSlot.E, 650, TargetSelector.DamageType.Magical);
            R = new Spell(SpellSlot.R);
            E.SetSkillshot(0.25f, 190, float.MaxValue, false, SkillshotType.SkillshotCircle);

            var orbwalker = new Menu("Orbwalk", "rorb");

            Orbwalker = new Orbwalking.Orbwalker(orbwalker);
            MainMenu.AddSubMenu(orbwalker);

            var champMenu = new Menu("Plugin", Player.ChampionName + "_Plugin");

            {
                var comboMenu = new Menu("Combo", "Combo");
                {
                    AddBool(comboMenu, "Q", "Use Q");
                    AddBool(comboMenu, "W", "Use W");
                    AddBool(comboMenu, "E", "Use E");
                    AddBool(comboMenu, "R", "Use R");
                    AddSlider(comboMenu, "RHpU", "-> If Player Hp <", 60);
                    AddSlider(comboMenu, "RCountA", "-> Or Enemy >=", 2, 1, 5);
                    champMenu.AddSubMenu(comboMenu);
                }
                var harassMenu = new Menu("Harass", "Harass");
                {
                    AddBool(harassMenu, "Q", "Use Q");
                    AddBool(harassMenu, "W", "Use W");
                    AddBool(harassMenu, "E", "Use E");
                    champMenu.AddSubMenu(harassMenu);
                }
                var clearMenu = new Menu("Clear", "Clear");
                {
                    AddSmiteMob(clearMenu);
                    AddBool(clearMenu, "Q", "Use Q");
                    AddBool(clearMenu, "E", "Use E");
                    champMenu.AddSubMenu(clearMenu);
                }
                var lastHitMenu = new Menu("Last Hit", "LastHit");
                {
                    AddBool(lastHitMenu, "Q", "Use Q");
                    champMenu.AddSubMenu(lastHitMenu);
                }
                var miscMenu = new Menu("Misc", "Misc");
                {
                    var killStealMenu = new Menu("Kill Steal", "KillSteal");
                    {
                        AddBool(killStealMenu, "Q", "Use Q");
                        AddBool(killStealMenu, "E", "Use E");
                        AddBool(killStealMenu, "Ignite", "Use Ignite");
                        AddBool(killStealMenu, "Smite", "Use Smite");
                        miscMenu.AddSubMenu(killStealMenu);
                    }
                    var antiGapMenu = new Menu("Anti Gap Closer", "AntiGap");
                    {
                        AddBool(antiGapMenu, "W", "Use W");
                        foreach (var spell in
                                 AntiGapcloser.Spells.Where(
                                     i => HeroManager.Enemies.Any(a => i.ChampionName == a.ChampionName)))
                        {
                            AddBool(
                                antiGapMenu, spell.ChampionName + "_" + spell.Slot,
                                "-> Skill " + spell.Slot + " Of " + spell.ChampionName);
                        }
                        miscMenu.AddSubMenu(antiGapMenu);
                    }
                    champMenu.AddSubMenu(miscMenu);
                }
                var drawMenu = new Menu("Draw", "Draw");
                {
                    AddBool(drawMenu, "QKillObj", "Minion Killable By Q", false);
                    AddBool(drawMenu, "W", "W Range", false);
                    AddBool(drawMenu, "E", "E Range", false);
                    champMenu.AddSubMenu(drawMenu);
                }
                MainMenu.AddSubMenu(champMenu);
            }
            Game.OnUpdate  += OnUpdate;
            Drawing.OnDraw += OnDraw;
            AntiGapcloser.OnEnemyGapcloser += OnEnemyGapcloser;
            Orbwalking.AfterAttack         += AfterAttack;
        }