public bool CheckR2(Obj_AI_Hero t) { if (ObjectManager.Player.HasBuff("RivenFengShuiEngine") && !ConfigMenu.Item("CDISABLER").GetValue <KeyBind>().Active&& Spells[R].IsReady() && t.Distance(ObjectManager.Player.ServerPosition) < 900 && Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo) { switch (ConfigMenu.Item("CR2MODE").GetValue <StringList>().SelectedIndex) { case 1: if (t.Health - CalculateDamageR2(t) > 0 || t.Distance(ObjectManager.Player.ServerPosition) > 650f) { return(false); } break; case 2: if (t.Distance(ObjectManager.Player.ServerPosition) < 600) { return(false); } break; case 3: if ((t.HealthPercent > 25 && t.Health - CalculateDamageR2(t) - CalculateComboDamage(t) - CalculateAADamage(t, 2) > 0) || t.Distance(ObjectManager.Player.ServerPosition) > 650f) { return(false); } break; } return(true); } return(false); }
public void Combo() { //R if (ConfigMenu.Item("CUSER").GetValue <bool>()) { UltMethods[ConfigMenu.Item("CUSERMETHOD").GetValue <StringList>().SelectedIndex](); } if (Spells[Q].IsReady() && ConfigMenu.Item("CUSEQ").GetValue <bool>()) { var t = TargetSelector.GetTarget(Spells[Q].Range / 2f, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Attack, t); } } if (Spells[W].IsReady() && ConfigMenu.Item("CUSEW").GetValue <bool>()) { if (CountEnemiesInRangePredicted(Spells[W].Range, 50, 0.25f) > 0) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Dissonance, null); } } if (Spells[E].IsReady() && !Spells[W].IsReady() && ConfigMenu.Item("CUSEE").GetValue <bool>()) { if (Helpers.BallMgr.CheckHeroCollision(ObjectManager.Player.ServerPosition)) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Protect, ObjectManager.Player); } } }
protected override void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) { if (!gapcloser.Sender.IsEnemy) { return; } if (Spells[W].IsReady() && gapcloser.End.Distance(ObjectManager.Player.ServerPosition) <= Spells[W].Range && ConfigMenu.Item("MANTIGAPW").GetValue <bool>()) { LeagueSharp.Common.Utility.DelayAction.Add(100 + Game.Ping, () => Spells[W].Cast()); } if (ConfigMenu.Item("MANTIGAPQ").GetValue <bool>() && Animation.QStacks == 2) { if (gapcloser.Sender.Spellbook.GetSpell(gapcloser.Slot).SData.MissileSpeed != 0) { LeagueSharp.Common.Utility.DelayAction.Add((int)(gapcloser.End.Distance(gapcloser.Start) / gapcloser.Sender.Spellbook.GetSpell(gapcloser.Slot).SData.MissileSpeed * 1000f) - Game.Ping, () => { if (Items.GetWardSlot() != null) { Items.UseItem((int)Items.GetWardSlot().Id, ObjectManager.Player.ServerPosition + (gapcloser.End - gapcloser.Start).Normalized() * 40); } Spells[Q].Cast(ObjectManager.Player.ServerPosition); }); } } }
public void BeforeOrbwalk() { bool autoQ = ConfigMenu.Item("SAutoCarry.Veigar.Misc.AutoQLastHit").GetValue <KeyBind>().Active; bool autoW = ConfigMenu.Item("SAutoCarry.Veigar.Misc.AutoWImmobile").GetValue <bool>(); bool autoR = ConfigMenu.Item("SAutoCarry.Veigar.AutoR.Enabled").GetValue <bool>(); foreach (var enemy in HeroManager.Enemies) { if (enemy.IsValidTarget(Spells[W].Range - 150) && enemy.IsImmobilized() && autoW) { Spells[W].Cast(enemy.ServerPosition); } if (enemy.IsValidTarget(Spells[R].Range) && autoR && !ConfigMenu.Item("SAutoCarry.Veigar.AutoR.DontUlt" + enemy.ChampionName).GetValue <bool>()) { if (CalculateDamageR(enemy) >= enemy.Health) { Spells[R].CastOnUnit(enemy); } } } if (autoQ && Orbwalker.ActiveMode != SCommon.Orbwalking.Orbwalker.Mode.Combo) { StackQ(); } }
public bool CheckR1(Obj_AI_Hero t) { if (!ObjectManager.Player.HasBuff("RivenFengShuiEngine") && !ConfigMenu.Item("CDISABLER").GetValue <KeyBind>().Active&& Spells[R].IsReady() && t.Distance(ObjectManager.Player.ServerPosition) < 500 && Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo) { if (ObjectManager.Player.GetSpellDamage(t, SpellSlot.Q) * 2 + ObjectManager.Player.GetSpellDamage(t, SpellSlot.W) + CalculateAADamage(t, 2) >= t.Health && ObjectManager.Player.CountEnemiesInRange(1000) == 1) { return(false); } if (ObjectManager.Player.ServerPosition.CountEnemiesInRange(500) > 1) { return(true); } switch (ConfigMenu.Item("CR1MODE").GetValue <StringList>().SelectedIndex) { case 1: if (!(t.Health - CalculateComboDamage(t) - CalculateDamageR2(t) <= 0)) { return(false); } break; case 2: if (!(t.Health - CalculateComboDamage(t) < 1000 && t.Health >= 1000)) { return(false); } break; } return(true); } return(false); }
public void LaneClear() { var minion = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 400, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).FirstOrDefault(); if (minion != null) { if (ConfigMenu.Item("LUSEQ").GetValue <bool>() && Spells[Q].IsReady()) { Animation.SetAttack(true); if (!IsDoingFastQ && !SCommon.Orbwalking.Utility.InAARange(minion)) { Spells[Q].Cast(minion.ServerPosition); } IsDoingFastQ = true; } if (ConfigMenu.Item("LUSEW").GetValue <bool>() && Spells[W].IsReady() && (ObjectManager.Get <Obj_AI_Minion>().Count(p => MinionManager.IsMinion(p) && p.IsValidTarget(Spells[W].Range)) >= ConfigMenu.Item("LMINW").GetValue <Slider>().Value || minion.IsJungleMinion())) { if (ConfigMenu.Item("LUSETIAMAT").GetValue <bool>()) { CastCrescent(); } Spells[W].Cast(); } } }
public void Harass() { if (ObjectManager.Player.ManaPercent < ConfigMenu.Item("HMANA").GetValue <Slider>().Value) { return; } if (Spells[Q].IsReady() && ConfigMenu.Item("HUSEQ").GetValue <bool>()) { var t = TargetSelector.GetTarget(Spells[Q].Range / 2f, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Attack, t); } } if (Spells[W].IsReady() && ConfigMenu.Item("HUSEW").GetValue <bool>()) { if (CountEnemiesInRangePredicted(Spells[W].Range, 50, 0.25f) > 0) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Dissonance, null); } } if (Spells[E].IsReady() && !Spells[W].IsReady() && ConfigMenu.Item("HUSEE").GetValue <bool>()) { if (Helpers.BallMgr.CheckHeroCollision(ObjectManager.Player.ServerPosition)) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Protect, ObjectManager.Player); } } }
public void LaneClear() { if (ObjectManager.Player.ManaPercent < ConfigMenu.Item("LMANA").GetValue <Slider>().Value || Utils.TickCount - m_lastLaneClearTick < 250 || !ConfigMenu.Item("TOGGLESPELL").GetValue <KeyBind>().Active) { return; } m_lastLaneClearTick = Utils.TickCount; if (Spells[Q].IsReady() && ConfigMenu.Item("LUSEQ").GetValue <bool>()) { var farm = MinionManager.GetBestCircularFarmLocation(MinionManager.GetMinions(Spells[Q].Range / 2f, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Select(p => p.ServerPosition.To2D()).ToList(), Spells[Q].Width, Spells[Q].Range); if (farm.MinionsHit > 0 && Helpers.BallMgr.IsBallReady) { Spells[Q].Cast(farm.Position, true); } } if (Spells[W].IsReady() && ConfigMenu.Item("LUSEW").GetValue <bool>()) { if (ObjectManager.Get <Obj_AI_Minion>().Count(p => (p.IsEnemy || p.IsJungleMinion()) && p.ServerPosition.Distance(Helpers.BallMgr.Position) <= Spells[W].Range) >= ConfigMenu.Item("LMINW").GetValue <Slider>().Value) { Spells[W].Cast(ObjectManager.Player.ServerPosition, true); } } if (Spells[E].IsReady() && ConfigMenu.Item("LUSEE").GetValue <bool>()) { if (MinionManager.GetMinions(ObjectManager.Player.AttackRange, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).Any(p => p.GetJunglePriority() == 1)) { Spells[E].CastOnUnit(ObjectManager.Player); } } }
public void Combo() { var t = Target.Get(600, true); if (t != null) { ComboInstance.MethodsOnUpdate[ConfigMenu.Item(String.Format("CMETHOD{0}", t.ChampionName)).GetValue <StringList>().SelectedIndex](t); } }
protected override void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) { if (ConfigMenu.Item("SAutoCarry.Veigar.Misc.AntiGapcloseE").GetValue <bool>()) { if (gapcloser.End.Distance(ObjectManager.Player.ServerPosition) < 350) { Spells[E].Cast(ObjectManager.Player.ServerPosition); } } }
private void Animation_OnAnimationCastable(string animname) { if (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo || Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed || ConfigMenu.Item("CSHYKEY").GetValue <KeyBind>().Active || ConfigMenu.Item("CFLASHKEY").GetValue <KeyBind>().Active) { var t = Target.Get(1000); if (t != null) { ComboInstance.MethodsOnAnimation[ConfigMenu.Item(String.Format("CMETHOD{0}", t.ChampionName)).GetValue <StringList>().SelectedIndex](t, animname); } } }
public void Flee() { if (Spells[Q].IsReady() && Animation.QStacks != 2) { Spells[Q].Cast(Game.CursorPos); } if (ConfigMenu.Item("MFLEEWJ").GetValue <bool>()) { if (Spells[Q].IsReady()) { var curSpot = WallJump.GetSpot(ObjectManager.Player.ServerPosition); if (curSpot.Start != Vector3.Zero && Animation.QStacks == 2) { if (Spells[E].IsReady()) { Spells[E].Cast(curSpot.End); } else if (Items.GetWardSlot() != null) { Items.UseItem((int)Items.GetWardSlot().Id, curSpot.End); } Spells[Q].Cast(curSpot.End); return; } var spot = WallJump.GetNearest(Game.CursorPos); if (spot.Start != Vector3.Zero) { ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, spot.Start); return; } else { Spells[E].Cast(Game.CursorPos); } } } else { if (Spells[Q].IsReady() && Animation.QStacks == 2) { Spells[Q].Cast(Game.CursorPos); } if (Spells[E].IsReady()) { Spells[E].Cast(Game.CursorPos); } } ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); }
protected override void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser) { if (AntiGapCloserEnabled) { if (ConfigMenu.Item("SAutoCarry.Azir.Misc.AntiGapCloser." + gapcloser.Sender.Spellbook.GetSpell(gapcloser.Slot).Name).GetValue <bool>()) { if (gapcloser.End.Distance(ObjectManager.Player.ServerPosition) < 200) { Spells[R].Cast(gapcloser.End.Extend(gapcloser.Start, 100)); } } } }
public void BeforeDraw() { if (ConfigMenu.Item("DDRAWCOMBOMODE").GetValue <bool>()) { foreach (var enemy in HeroManager.Enemies) { if (!enemy.IsDead && enemy.IsVisible) { var text_pos = Drawing.WorldToScreen(enemy.Position); Drawing.DrawText((int)text_pos.X - 20, (int)text_pos.Y + 35, System.Drawing.Color.Aqua, ConfigMenu.Item(String.Format("CMETHOD{0}", enemy.ChampionName)).GetValue <StringList>().SelectedValue); } } } }
private void Game_OnWndProc(WndEventArgs args) { if (args.Msg == (uint)WindowsMessages.WM_LBUTTONDBLCLK) { var clickedTarget = HeroManager.Enemies .FindAll(hero => hero.IsValidTarget() && hero.Distance(Game.CursorPos, true) < 40000) // 200 * 200 .OrderBy(h => h.Distance(Game.CursorPos, true)).FirstOrDefault(); if (clickedTarget != null) { var typeVal = ConfigMenu.Item(String.Format("CMETHOD{0}", clickedTarget.ChampionName)).GetValue <StringList>(); typeVal.SelectedIndex = (typeVal.SelectedIndex + 1) % 3; ConfigMenu.Item(String.Format("CMETHOD{0}", clickedTarget.ChampionName)).SetValue(typeVal); } } }
public void LastHit() { if (ConfigMenu.Item("LASTUSETIAMAT").GetValue <bool>() && IsCrestcentReady) { var minion = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 400, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).FirstOrDefault(); if (minion != null) { float dist = minion.Distance(ObjectManager.Player.ServerPosition); double dmg = (ObjectManager.Player.BaseAttackDamage + ObjectManager.Player.FlatPhysicalDamageMod) * (1 - dist * 0.001); if (minion.Health <= dmg) { CastCrescent(); } } } }
public override double CalculateDamageQ(AIHeroClient target) { double dmg = 0.0; if (ConfigMenu.Item("CUSEQ").GetValue <bool>() && Spells[Q].IsReady()) { dmg = ObjectManager.Player.GetSpellDamage(target, SpellSlot.Q); int collCount = Spells[R].GetCollision(Helpers.BallMgr.Position.To2D(), new List <Vector2>() { target.ServerPosition.To2D() }).Count(); int percent = 10 - (collCount > 6 ? 6 : collCount); dmg = dmg * percent * 0.1; } return(dmg); }
public void BeforeDraw() { if (ConfigMenu.Item("DDRAWKILL").GetValue <bool>()) { foreach (var enemy in HeroManager.Enemies) { if (!enemy.IsDead && enemy.Health < CalculateComboDamage(enemy)) { var killable_pos = Drawing.WorldToScreen(enemy.Position); Drawing.DrawText((int)killable_pos.X - 20, (int)killable_pos.Y + 35, System.Drawing.Color.Red, "Killable"); } } } if (ConfigMenu.Item("DDRAWBALL").GetValue <bool>() && Helpers.BallMgr.Position != Vector3.Zero) { Render.Circle.DrawCircle(Helpers.BallMgr.Position, 130f, System.Drawing.Color.Red, 1); } }
public override void CreateConfigMenu() { Menu combo = new Menu("Combo", "SAutoCarry.Jax.Combo"); combo.AddItem(new MenuItem("SAutoCarry.Jax.Combo.UseQ", "Use Q").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Jax.Combo.UseW", "Use W").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Jax.Combo.UseE", "Use E").SetValue(true)).ValueChanged += (s, ar) => { ConfigMenu.Item("SAutoCarry.Jax.Combo.EStun").Show(ar.GetNewValue <bool>()); ConfigMenu.Item("SAutoCarry.Jax.Combo.EBeforeJump").Show(ar.GetNewValue <bool>()); }; combo.AddItem(new MenuItem("SAutoCarry.Jax.Combo.EStun", "Stun With E After Jump").SetValue(new KeyBind('T', KeyBindType.Toggle)).Show(combo.Item("SAutoCarry.Jax.Combo.UseE").GetValue <bool>())); combo.AddItem(new MenuItem("SAutoCarry.Jax.Combo.EBeforeJump", "Use E Before Q").SetValue(new KeyBind('Z', KeyBindType.Toggle)).Show(combo.Item("SAutoCarry.Jax.Combo.UseE").GetValue <bool>())); combo.AddItem(new MenuItem("SAutoCarry.Jax.Combo.UseTiamat", "Use Tiamat/Hydra").SetValue(true)); Menu harass = new Menu("Harass", "SAutoCarry.Jax.Harass"); harass.AddItem(new MenuItem("SAutoCarry.Jax.Harass.UseQ", "Use Q").SetValue(true)); harass.AddItem(new MenuItem("SAutoCarry.Jax.Harass.UseW", "Use W").SetValue(true)); harass.AddItem(new MenuItem("SAutoCarry.Jax.Harass.UseE", "Use E").SetValue(true)); Menu laneclear = new Menu("LaneClear/JungleClear", "SAutoCarry.Jax.LaneClear"); laneclear.AddItem(new MenuItem("SAutoCarry.Jax.LaneClear.UseQ", "Use Q").SetValue(false)).SetTag(0); laneclear.AddItem(new MenuItem("SAutoCarry.Jax.LaneClear.UseW", "Use W").SetValue(true)).SetTag(0); laneclear.AddItem(new MenuItem("SAutoCarry.Jax.LaneClear.UseE", "Use E").SetValue(true)).SetTag(0); laneclear.AddItem(new MenuItem("SAutoCarry.Jax.JungleClear.UseQ", "Use Q").SetValue(true)).SetTag(1); laneclear.AddItem(new MenuItem("SAutoCarry.Jax.JungleClear.UseW", "Use W").SetValue(true)).SetTag(1); laneclear.AddItem(new MenuItem("SAutoCarry.Jax.JungleClear.UseE", "Use E").SetValue(true)).SetTag(1); laneclear.AddItem(new MenuItem("SAutoCarry.Jax.LaneClear.Mode", "Show Settings for: ").SetValue(new StringList(new[] { "Lane Clear", "Jungle Clear" }))).SetTag(2).ValueChanged += (s, ar) => LaneClearMenuSwitch(ar.GetNewValue <StringList>().SelectedIndex); Menu misc = new Menu("Misc", "SautoCarry.Jax.Misc"); misc.AddItem(new MenuItem("SAutoCarry.Jax.Misc.WJump", "Ward Jump").SetValue(new KeyBind('G', KeyBindType.Press))); ConfigMenu.AddSubMenu(combo); ConfigMenu.AddSubMenu(harass); ConfigMenu.AddSubMenu(laneclear); ConfigMenu.AddSubMenu(misc); ConfigMenu.AddToMainMenu(); LaneClearMenuSwitch(ConfigMenu.Item("SAutoCarry.Jax.LaneClear.Mode").GetValue <StringList>().SelectedIndex); }
public void BeforeDraw() { if (ConfigMenu.Item("DDRAWCOMBOMODE").GetValue <bool>()) { foreach (var enemy in HeroManager.Enemies) { if (!enemy.IsDead && enemy.IsVisible) { var text_pos = Drawing.WorldToScreen(enemy.Position); Drawing.DrawText((int)text_pos.X - 20, (int)text_pos.Y + 35, System.Drawing.Color.Aqua, ConfigMenu.Item(String.Format("CMETHOD{0}", enemy.ChampionName)).GetValue <StringList>().SelectedValue); } } } if (ConfigMenu.Item("DRAWULTSTATUS").GetValue <bool>()) { var text_pos = Drawing.WorldToScreen(ObjectManager.Player.Position); Drawing.DrawText((int)text_pos.X - 20, (int)text_pos.Y + 35, System.Drawing.Color.Aqua, "Disable R Usage: " + (ConfigMenu.Item("CDISABLER").GetValue <KeyBind>().Active ? "On" : "Off")); } }
public void Combo() { bool waitforE = false; if (Spells[E].IsReady() && ConfigMenu.Item("SAutoCarry.Veigar.Combo.UseE").GetValue <bool>()) { var t = TargetSelector.GetTarget(1000, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Spells[E].SPredictionCastRing(t, 80, HitChance.High, ConfigMenu.Item("SAutoCarry.Veigar.Combo.EMode").GetValue <StringList>().SelectedIndex == 0); waitforE = true; } } if (Spells[W].IsReady() && ConfigMenu.Item("SAutoCarry.Veigar.Combo.UseW").GetValue <bool>() && !waitforE) { var t = TargetSelector.GetTarget(Spells[W].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Spells[W].SPredictionCast(t, HitChance.High); } } if (Spells[R].IsReady() && ConfigMenu.Item("SAutoCarry.Veigar.Combo.UseR").GetValue <bool>()) { var t = TargetSelector.GetTarget(Spells[R].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null && CalculateComboDamage(t, 4) >= t.Health) { Spells[R].CastOnUnit(t); } } if (Spells[Q].IsReady() && ConfigMenu.Item("SAutoCarry.Veigar.Combo.UseQ").GetValue <bool>()) { var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Spells[Q].SPredictionCast(t, HitChance.High); } } }
public void LaneClear() { if (ObjectManager.Player.ManaPercent < ConfigMenu.Item("SAutoCarry.Veigar.LaneClear.Mana").GetValue <Slider>().Value) { return; } if (ConfigMenu.Item("SAutoCarry.Veigar.LaneClear.UseQ").GetValue <bool>()) { StackQ(); } if (ConfigMenu.Item("SAutoCarry.Veigar.LaneClear.UseW").GetValue <bool>()) { var farmLocation = MinionManager.GetBestCircularFarmLocation(MinionManager.GetMinions(Spells[W].Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).Select(q => q.ServerPosition.To2D()).ToList(), Spells[W].Width, Spells[W].Range); if (farmLocation.MinionsHit >= ConfigMenu.Item("SAutoCarry.Veigar.LaneClear.MinW").GetValue <Slider>().Value) { Spells[W].Cast(farmLocation.Position); } } }
public void Harass() { if (ObjectManager.Player.ManaPercent < ConfigMenu.Item("SAutoCarry.Veigar.Harass.Mana").GetValue <Slider>().Value) { return; } bool waitforE = false; if (Spells[E].IsReady() && ConfigMenu.Item("SAutoCarry.Veigar.Harass.UseE").GetValue <bool>()) { var t = TargetSelector.GetTarget(1000, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Spells[E].SPredictionCastRing(t, 80, HitChance.High, ConfigMenu.Item("SAutoCarry.Veigar.Harass.EMode").GetValue <StringList>().SelectedIndex == 0); waitforE = true; } } if (Spells[W].IsReady() && ConfigMenu.Item("SAutoCarry.Veigar.Harass.UseW").GetValue <bool>() && !waitforE) { var t = TargetSelector.GetTarget(Spells[W].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Spells[W].SPredictionCast(t, HitChance.High); } } if (Spells[Q].IsReady() && ConfigMenu.Item("SAutoCarry.Veigar.Harass.UseQ").GetValue <bool>()) { var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (t != null) { Spells[Q].SPredictionCast(t, HitChance.High); } } }
public override void CreateConfigMenu() { Menu combo = new Menu("Combo", "SAutoCarry.Jhin.Combo"); combo.AddItem(new MenuItem("SAutoCarry.Jhin.Combo.UseQ", "UseQ").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Jhin.Combo.UseW", "Use W").SetValue(true)).ValueChanged += (s, ar) => ConfigMenu.Item("SAutoCarry.Jhin.Combo.UseWMarked").Show(ar.GetNewValue <bool>()); combo.AddItem(new MenuItem("SAutoCarry.Jhin.Combo.UseWMarked", "Use W Only If Target Is Marked").SetValue(true)).Show(combo.Item("SAutoCarry.Jhin.Combo.UseW").GetValue <bool>()); combo.AddItem(new MenuItem("SAutoCarry.Jhin.Combo.UseEImmobile", "Use E Immobile Targets").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Jhin.Combo.UseEDashing", "Use E Dashing Targets").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Jhin.Combo.UseR", "Use R Shoots If Ult Activated").SetValue(true)); Menu harass = new Menu("Harass", "SAutoCarry.Jhin.Harass"); harass.AddItem(new MenuItem("SAutoCarry.Jhin.Harass.UseQ", "Use Q").SetValue(true)); harass.AddItem(new MenuItem("SAutoCarry.Jhin.Harass.UseW", "Use W").SetValue(true)); harass.AddItem(new MenuItem("SAutoCarry.Jhin.Harass.Toggle", "Toggle Harass").SetValue(new KeyBind('T', KeyBindType.Toggle))); Menu misc = new Menu("Misc", "SAutoCarry.Jhin.Misc"); misc.AddItem(new MenuItem("SAutoCarry.Jhin.Misc.AdjustW", "Adjust W Range").SetValue(new Slider(1000, 0, 2500))).ValueChanged += (s, ar) => Spells[W].Range = ar.GetNewValue <Slider>().Value; misc.AddItem(new MenuItem("SAutoCarry.Jhin.Misc.AdjustR", "Adjust R Range").SetValue(new Slider(1000, 0, 3500))).ValueChanged += (s, ar) => Spells[R].Range = ar.GetNewValue <Slider>().Value; misc.AddItem(new MenuItem("SAutoCarry.Jhin.Misc.KillStealRW", "KillSteal").SetValue(false)); ConfigMenu.AddSubMenu(combo); ConfigMenu.AddSubMenu(harass); ConfigMenu.AddSubMenu(misc); ConfigMenu.AddToMainMenu(); }
public override void CreateConfigMenu() { Menu combo = new Menu("Combo", "SAutoCarry.Blitzcrank.Combo"); combo.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Combo.UseQ", "Use Q").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Combo.UseW", "Use W").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Combo.UseE", "Use E").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Combo.UseR", "Use R").SetValue(true)).ValueChanged += (s, ar) => ConfigMenu.Item("SAutoCarry.Blitzcrank.Combo.UseRHit").Show(ar.GetNewValue <bool>()); combo.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Combo.UseRHit", "Use R When Enemy Count >= ").SetValue(new Slider(2, 1, 5))).Show(combo.Item("SAutoCarry.Blitzcrank.Combo.UseR").GetValue <bool>()); // Menu nograb = new Menu("Grab Filter", "SAutoCarry.Blitzcrank.Combo.Grabfilter"); foreach (AIHeroClient enemy in HeroManager.Enemies) { nograb.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Combo.Grabfilter.DontGrab" + enemy.ChampionName, string.Format("Dont Grab {0}", enemy.ChampionName)).SetValue(false)); } // combo.AddSubMenu(nograb); Menu harass = new Menu("Harass", "SAutoCarry.Blitzcrank.Harass"); harass.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Harass.UseQ", "Use Q").SetValue(true)); harass.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Harass.UseE", "Use E").SetValue(true)); Menu laneclear = new Menu("LaneClear/JungleClear", "SAutoCarry.Blitzcrank.LaneClear"); laneclear.AddItem(new MenuItem("SAutoCarry.Blitzcrank.LaneClear.UseR", "Use R").SetValue(true)); laneclear.AddItem(new MenuItem("SAutoCarry.Blitzcrank.LaneClear.MinMana", "Min Mana Percent").SetValue(new Slider(50, 100, 0))); Menu misc = new Menu("Misc", "SAutoCarry.Blitzcrank.Misc"); misc.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Misc.InterruptQ", "Interrupt With Q").SetValue(true)); misc.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Misc.InterruptR", "Interrupt With R").SetValue(true)); // Menu autograb = new Menu("Auto Grab (Q)", "SAutoCarry.Blitzcrank.Misc.AutoGrab"); foreach (AIHeroClient enemy in HeroManager.Enemies) { autograb.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Misc.AutoGrab.DontGrab" + enemy.ChampionName, string.Format("Dont Grab {0}", enemy.ChampionName)).SetValue(false)); } autograb.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Misc.AutoGrab.Immobile", "Auto Grab Immobile Target").SetValue(true)); autograb.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Misc.AutoGrab.Range", "Max. Grab Range").SetValue(new Slider(800, 1, 925))); autograb.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Misc.AutoGrab.MinHp", "Min. HP Percent").SetValue(new Slider(40, 1, 100))); autograb.AddItem(new MenuItem("SAutoCarry.Blitzcrank.Misc.AutoGrab.Enabled", "Enabled").SetValue(new KeyBind('T', KeyBindType.Toggle))); // misc.AddSubMenu(autograb); ConfigMenu.AddSubMenu(combo); ConfigMenu.AddSubMenu(harass); ConfigMenu.AddSubMenu(laneclear); ConfigMenu.AddSubMenu(misc); ConfigMenu.AddToMainMenu(); }
public bool IsBlacklistedComboGrab(AIHeroClient hero) { return(ConfigMenu.Item("SAutoCarry.Blitzcrank.Combo.Grabfilter.DontGrab" + hero.ChampionName).GetValue <bool>()); }
public override void SetSpells() { Spells[Q] = new Spell(SpellSlot.Q, 825f * 2f); Spells[Q].SetSkillshot(0f, 130f, 1400f, false, SkillshotType.SkillshotLine); Spells[W] = new Spell(SpellSlot.W, 220f); Spells[E] = new Spell(SpellSlot.E, 1100); Spells[R] = new Spell(SpellSlot.R, 330f); UltMethods[0] = () => { { if (Helpers.BallMgr.Position.CountEnemiesInRange(Spells[R].Range) >= ConfigMenu.Item("CUSERHIT").GetValue <Slider>().Value) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Shockwave, null); return; } } if (Spells[Q].IsReady() && Spells[R].IsReady()) { Vector3 bestQPos = Vector3.Zero; int bestEnemyCount = 0; foreach (var enemy in HeroManager.Enemies) { var enemies = enemy.GetEnemiesInRange(Spells[R].Range); if (enemies.Count >= ConfigMenu.Item("CUSERHIT").GetValue <Slider>().Value) { if (enemies.Count > bestEnemyCount) { bestEnemyCount = enemies.Count; //find center of enemies Vector3 pos = Vector3.Zero; enemies.ForEach(p => pos += p.ServerPosition); pos = pos / enemies.Count; if (pos.Distance(ObjectManager.Player.ServerPosition) < Spells[Q].Range / 2f && pos.CountEnemiesInRange(Spells[R].Range) >= bestEnemyCount) { bestQPos = pos; } else { bestQPos = enemy.ServerPosition; } } } } if (bestQPos != Vector3.Zero && bestQPos.Distance(ObjectManager.Player.ServerPosition) < Spells[Q].Range / 2f) { if (Helpers.BallMgr.IsBallReady && Spells[Q].IsReady()) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Attack, null, bestQPos.To2D()); Helpers.BallMgr.Post(Helpers.BallMgr.Command.Shockwave, null); } } } }; UltMethods[1] = () => { if (TargetSelector.SelectedTarget != null) { if (Spells[Q].IsReady() && Spells[R].IsReady()) { if (TargetSelector.SelectedTarget.ServerPosition.Distance(ObjectManager.Player.ServerPosition) < Spells[Q].Range / 2f) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Attack, TargetSelector.SelectedTarget); Helpers.BallMgr.Post(Helpers.BallMgr.Command.Shockwave, null); } } else if (Spells[R].IsReady()) { if (TargetSelector.SelectedTarget.ServerPosition.Distance(Helpers.BallMgr.Position) < Spells[R].Range) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Shockwave, TargetSelector.SelectedTarget); } } } }; UltMethods[2] = () => { if (Spells[Q].IsReady() && Spells[R].IsReady()) { Vector3 bestQPos = Vector3.Zero; int bestPrioSum = 0; foreach (var enemy in HeroManager.Enemies) { var enemies = enemy.GetEnemiesInRange(Spells[R].Range); int prio_sum = 0; foreach (var e in enemies) { prio_sum += e.GetPriority(); if (e.HealthPercent < 50) { prio_sum += 1; } } if (prio_sum >= 6) { if (prio_sum > bestPrioSum) { bestPrioSum = prio_sum; //find center of enemies Vector3 pos = Vector3.Zero; enemies.ForEach(p => pos += p.ServerPosition); pos = pos / enemies.Count; var enemies2 = pos.GetEnemiesInRange(Spells[R].Range); int prio_sum2 = 0; foreach (var e in enemies2) { prio_sum2 += e.GetPriority(); if (e.HealthPercent < 50) { prio_sum2 += 1; } } if (pos.Distance(ObjectManager.Player.ServerPosition) < Spells[Q].Range / 2f && prio_sum2 >= bestPrioSum) { bestQPos = pos; } else { bestQPos = enemy.ServerPosition; } } } } if (bestQPos != Vector3.Zero && bestQPos.Distance(ObjectManager.Player.ServerPosition) < Spells[Q].Range / 2f) { if (Helpers.BallMgr.IsBallReady && Spells[Q].IsReady()) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Attack, null, bestQPos.To2D()); Helpers.BallMgr.Post(Helpers.BallMgr.Command.Shockwave, null); } } } { int prio_sum = 0; var enemies = HeroManager.Enemies.Where(p => p.ServerPosition.Distance(Helpers.BallMgr.Position) <= Spells[R].Range); foreach (var enemy in enemies) { prio_sum += enemy.GetPriority(); if (enemy.HealthPercent < 50) { prio_sum += 1; } } if (prio_sum >= 6) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Shockwave, null); return; } var t = TargetSelector.GetTarget(Spells[R].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical, true, null, Helpers.BallMgr.Position); if (t != null && ObjectManager.Player.CountEnemiesInRange(2000) <= 2) { Helpers.BallMgr.Post(Helpers.BallMgr.Command.Shockwave, t); return; } } }; }
protected override void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsAlly) { if (InitiatorsList.Contains(args.SData.Name.ToLower()) && sender.ServerPosition.Distance(ObjectManager.Player.ServerPosition) < Spells[E].Range && ConfigMenu.Item("MEINIT").GetValue <bool>()) { Spells[E].CastOnUnit(sender, true); } } }
public override void CreateConfigMenu() { Menu combo = new Menu("Combo", "SAutoCarry.Viktor.Combo"); combo.AddItem(new MenuItem("SAutoCarry.Viktor.Combo.UseQ", "Use Q").SetValue(true)).ValueChanged += (s, ar) => ConfigMenu.Item("SAutoCarry.Viktor.Combo.UseQOnlyRange").Show(ar.GetNewValue <bool>()); combo.AddItem(new MenuItem("SAutoCarry.Viktor.Combo.UseQOnlyRange", "Use Q Only When In AA Range (faster Q->AA burst)").SetValue(new KeyBind('G', KeyBindType.Toggle, true))).Show(combo.Item("SAutoCarry.Viktor.Combo.UseQ").GetValue <bool>()); combo.AddItem(new MenuItem("SAutoCarry.Viktor.Combo.UseE", "Use E").SetValue(true)); combo.AddItem(new MenuItem("SAutoCarry.Viktor.Combo.UseR", "Use R").SetValue(true)).ValueChanged += (s, ar) => ConfigMenu.Item("SAutoCarry.Viktor.Combo.UseRMin").Show(ar.GetNewValue <bool>()); combo.AddItem(new MenuItem("SAutoCarry.Viktor.Combo.UseRMin", "Use R Min. Hit").SetValue(new Slider(1, 1, 5))).Show(combo.Item("SAutoCarry.Viktor.Combo.UseR").GetValue <bool>()); Menu harass = new Menu("Harass", "SAutoCarry.Viktor.Harass"); harass.AddItem(new MenuItem("SAutoCarry.Viktor.Harass.UseQ", "Use Q").SetValue(true)); harass.AddItem(new MenuItem("SAutoCarry.Viktor.Harass.UseE", "Use E").SetValue(true)); harass.AddItem(new MenuItem("SAutoCarry.Viktor.Harass.MinMana", "Min. Mana").SetValue(new Slider(60, 0, 100))); harass.AddItem(new MenuItem("SAutoCarry.Viktor.Harass.Toggle", "Toggle Harass").SetValue(new KeyBind('Z', KeyBindType.Toggle))); Menu laneclear = new Menu("LaneClear", "SAutoCarry.Viktor.LaneClear"); laneclear.AddItem(new MenuItem("SAutoCarry.Viktor.LaneClear.UseQ", "Use Q").SetValue(false)); laneclear.AddItem(new MenuItem("SAutoCarry.Viktor.LaneClear.UseE", "Use E").SetValue(true)).ValueChanged += (s, ar) => ConfigMenu.Item("SAutoCarry.Viktor.LaneClear.UseEMin").Show(ar.GetNewValue <bool>()); laneclear.AddItem(new MenuItem("SAutoCarry.Viktor.LaneClear.UseEMin", "Use E Min. Minions").SetValue(new Slider(3, 1, 6))).Show(laneclear.Item("SAutoCarry.Viktor.LaneClear.UseE").GetValue <bool>()); laneclear.AddItem(new MenuItem("SAutoCarry.Viktor.LaneClear.Toggle", "Enable Spellfarm").SetValue(new KeyBind('T', KeyBindType.Toggle, true))); laneclear.AddItem(new MenuItem("SAutoCarry.Viktor.LaneClear.MinMana", "Min. Mana %").SetValue(new Slider(40, 0, 100))); Menu misc = new Menu("Misc", "SAutoCarry.Viktor.Misc"); misc.AddItem(new MenuItem("SAutoCarry.Viktor.Misc.AutoFollowR", "Auto Follow R").SetValue(true)); misc.AddItem(new MenuItem("SAutoCarry.Viktor.Misc.InterruptR", "Interrupt Channeling Spells With R").SetValue(true)); misc.AddItem(new MenuItem("SAutoCarry.Viktor.Misc.InterruptW", "Interrupt Spells With W").SetValue(true)); misc.AddItem(new MenuItem("SAutoCarry.Viktor.Misc.AntiGapW", "Anti Gap Closer With W").SetValue(true)); misc.AddItem(new MenuItem("SAutoCarry.Viktor.Misc.ImmobileW", "Auto W To Immobile Target").SetValue(true)); //DamageIndicator.Initialize((t) => (float)CalculateComboDamage(t), misc); ConfigMenu.AddSubMenu(combo); ConfigMenu.AddSubMenu(harass); ConfigMenu.AddSubMenu(laneclear); ConfigMenu.AddSubMenu(misc); ConfigMenu.AddToMainMenu(); }
public override void CreateConfigMenu() { Menu combo = new Menu("Combo", "Combo"); combo.AddItem(new MenuItem("CUSEQ", "Use Q").SetValue(true)); combo.AddItem(new MenuItem("CUSEW", "Use W").SetValue(true)); combo.AddItem(new MenuItem("CUSEE", "Use E For Damage Enemy").SetValue(true)); // Menu ult = new Menu("R Settings", "rsetting"); ult.AddItem(new MenuItem("CUSER", "Use R").SetValue(true)); ult.AddItem(new MenuItem("CUSERMETHOD", "R Method").SetValue <StringList>(new StringList(new string[] { "Only If Will Hit >= X Method", "If Will Hit Toggle Selected", "Smart R" }, 2))).ValueChanged += (s, ar) => ult.Item("CUSERHIT").Show(ar.GetNewValue <StringList>().SelectedIndex == 0); ult.AddItem(new MenuItem("CUSERHIT", "Use When Enemy Count >=").SetValue <Slider>(new Slider(3, 1, 5))).Show(ult.Item("CUSERMETHOD").GetValue <StringList>().SelectedIndex == 0); // combo.AddSubMenu(ult); Menu harass = new Menu("Harass", "Harass"); harass.AddItem(new MenuItem("HUSEQ", "Use Q").SetValue(true)); harass.AddItem(new MenuItem("HUSEW", "Use W").SetValue(true)); harass.AddItem(new MenuItem("HUSEE", "Use E For Damage Enemy").SetValue(true)); harass.AddItem(new MenuItem("HTOGGLE", "Toggle Harass").SetValue(new KeyBind('T', KeyBindType.Toggle))); harass.AddItem(new MenuItem("HMANA", "Min. Mana Percent").SetValue(new Slider(50, 0, 100))); Menu laneclear = new Menu("Lane/Jungle Clear", "LaneClear"); laneclear.AddItem(new MenuItem("LUSEQ", "Use Q").SetValue(true)); laneclear.AddItem(new MenuItem("LUSEW", "Use W").SetValue(true)); laneclear.AddItem(new MenuItem("LMINW", "Min. Minions To W In Range").SetValue(new Slider(3, 1, 12))); laneclear.AddItem(new MenuItem("LUSEE", "Use E While Jungle Clear").SetValue(true)); laneclear.AddItem(new MenuItem("TOGGLESPELL", "Enabled Spell Farm").SetValue(new KeyBind('G', KeyBindType.Toggle, true))); laneclear.AddItem(new MenuItem("LMANA", "Min. Mana Percent").SetValue(new Slider(50, 0, 100))); Menu misc = new Menu("Misc", "Misc"); misc.AddItem(new MenuItem("MANTIGAPEW", "Anti Gap Closer With E->W").SetValue(true)); misc.AddItem(new MenuItem("MINTIMPORTANT", "Interrupt Important Spells With Q->R").SetValue(true)); misc.AddItem(new MenuItem("MEINIT", "Cast E On Initiators").SetValue(true)); misc.AddItem(new MenuItem("MAUTOR", "Enable Auto Ult").SetValue(true)).ValueChanged += (s, ar) => ConfigMenu.Item("MAUTORHIT").Show(ar.GetNewValue <bool>()); misc.AddItem(new MenuItem("MAUTORHIT", "Auto R When Can Hit").SetValue(new Slider(4, 2, 5))).Show(misc.Item("MAUTOR").GetValue <bool>()); misc.AddItem(new MenuItem("DDRAWBALL", "Draw Ball Position").SetValue(false)); misc.AddItem(new MenuItem("DDRAWKILL", "Draw Killable Enemy").SetValue(true)); DamageIndicator.Initialize((t) => (float)CalculateComboDamage(t), misc); m_targetedEvader = new TargetedSpellEvader(TargetedSpell_Evade, misc); ConfigMenu.AddSubMenu(combo); ConfigMenu.AddSubMenu(harass); ConfigMenu.AddSubMenu(laneclear); ConfigMenu.AddSubMenu(misc); ConfigMenu.AddToMainMenu(); }