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)); } } } }
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; } } } }
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); } } } }
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; }
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; }