private static void Laneclear() { var m = MinionManager.GetMinions(spells[Spells.Q].Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.MaxHealth).FirstOrDefault(); if (m == null || U.QinAir()) { return; } var w = MinionManager.GetMinions(spells[Spells.W].Range).Count; var count = _config.Item("laneclear.whitcount").GetValue <Slider>().Value; var useQ = _config.Item("laneclear.useQ").GetValue <bool>(); var useW = _config.Item("laneclear.useW").GetValue <bool>(); var useE = _config.Item("laneclear.useE").GetValue <bool>(); if (useQ && spells[Spells.Q].CanCast(m)) { spells[Spells.Q].CastOnUnit(m); } if (useW && spells[Spells.W].CanCast(m) && w >= count) { spells[Spells.W].Cast(); } if (useE && spells[Spells.E].CanCast(m) && !m.UnderTurret(true)) { spells[Spells.E].CastOnUnit(m); } }
static void Game_OnGameLoad() { if (Player.CharData.BaseSkinName != "Katarina") { U.Log("Champion is not Katarina, exiting."); return; } _ignite = new Spell(Player.GetSpellSlot("SummonerDot"), 550); _ignite.SetTargetted(0.1f, float.MaxValue); spells[Spells.Q].SetTargetted((float)0.3, 400); spells[Spells.R].SetCharged(550, 550, 1.0f); _cutlass = ItemData.Bilgewater_Cutlass.GetItem(); _hextech = ItemData.Hextech_Gunblade.GetItem(); InitMenu(); Game.OnUpdate += OnUpdate; Drawing.OnDraw += Drawings; EloBuddy.Player.OnIssueOrder += AIHeroClient_OnIssueOrder; GameObject.OnCreate += GameObject_OnCreate; Notifications.AddNotification("EasyCarry - Katarina Loaded", 5000); Notifications.AddNotification("Version: " + Assembly.GetExecutingAssembly().GetName().Version, 5000); Console.Clear(); U.Log("Katarina initialized."); }
private static void AutoHarass() { if (_orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { return; } var enabled = _config.Item("autoharass.enabled").GetValue <KeyBind>().Active; if (!enabled) { return; } var useq = _config.Item("autoharass.useQ").GetValue <bool>(); var usew = _config.Item("autoharass.useW").GetValue <bool>(); var target = TargetSelector.GetTarget(spells[Spells.Q].Range, TargetSelector.DamageType.Magical); if (target == null) { return; } if (useq && spells[Spells.Q].CanCast(target)) { spells[Spells.Q].Cast(target); } if (usew && spells[Spells.W].CanCast(target) && U.ProcQ(target)) { spells[Spells.W].Cast(); } }
private static void Harass() { var target = TargetSelector.GetTarget(spells[Spells.Q].Range, TargetSelector.DamageType.Magical); if (target == null || !target.IsValidTarget()) { return; } var menuItem = _config.Item("harass.mode").GetValue <StringList>().SelectedIndex; switch (menuItem) { case 0: if (spells[Spells.Q].CanCast(target)) { spells[Spells.Q].Cast(target); } break; case 1: if (spells[Spells.Q].CanCast(target)) { spells[Spells.Q].Cast(target); } if (spells[Spells.W].CanCast(target) && U.ProcQ(target)) { spells[Spells.W].Cast(); } break; case 2: if (spells[Spells.Q].CanCast(target)) { spells[Spells.Q].Cast(target); } if (spells[Spells.E].CanCast(target) && U.ProcQ(target)) { spells[Spells.E].Cast(target); } if (spells[Spells.W].CanCast(target)) { spells[Spells.W].Cast(); } break; } }
private static void Lasthit() { if (Player.Spellbook.IsAutoAttacking || U.QinAir()) { return; } var minions = MinionManager.GetMinions(spells[Spells.Q].Range); var useQ = _config.Item("farm.useQ").GetValue <bool>(); var useW = _config.Item("farm.useW").GetValue <bool>(); var useE = _config.Item("farm.useE").GetValue <bool>(); if (useQ && spells[Spells.Q].IsReady()) { var qm = minions.FirstOrDefault(y => spells[Spells.Q].IsInRange(y) && spells[Spells.Q].IsKillable(y)); if (qm != null && !spells[Spells.W].CanKill(qm)) { spells[Spells.Q].Cast(qm); } } if (useW && spells[Spells.W].IsReady()) { var wm = minions.FirstOrDefault(y => spells[Spells.W].IsInRange(y) && spells[Spells.W].IsKillable(y)); var qwm = minions.FirstOrDefault(y => spells[Spells.W].IsInRange(y) && y.HasBuff("KatarinaQMark") && y.Health < spells[Spells.W].GetDamage(y) + GetMarkDamage(y)); if (wm != null && !spells[Spells.Q].CanKill(wm)) { spells[Spells.W].Cast(); } if (qwm != null) { spells[Spells.W].Cast(); } } if (useE && spells[Spells.E].IsReady()) { var em = minions.FirstOrDefault(y => spells[Spells.E].IsInRange(y) && spells[Spells.E].IsKillable(y)); if (em != null) { spells[Spells.E].Cast(em); } } }
private static void Flee() { var mode = _config.Item("flee.mode").GetValue <StringList>().SelectedIndex; var wardjump = _config.Item("flee.useWardJump").GetValue <bool>(); var cursorpos = Game.CursorPos; var range = _config.Item("flee.range").GetValue <Slider>().Value; switch (mode) { case 0: //To mouse var m = MinionManager.GetMinions(cursorpos, range, MinionTypes.All, MinionTeam.All).OrderBy(x => x.Distance(cursorpos)).FirstOrDefault(j => spells[Spells.E].IsInRange(j)); var wards = ObjectManager.Get <GameObject>().Where(x => x.Name.ToLower().Contains("ward") && !x.Name.Contains(".troy")).FirstOrDefault(x => spells[Spells.E].IsInRange(x)); var h = ObjectManager.Get <AIHeroClient>().FirstOrDefault(x => x.IsTargetable && x.IsEnemy && spells[Spells.W].CanCast(x)); if (h != null && spells[Spells.W].CanCast(h)) { spells[Spells.W].Cast(); } if (wards != null && spells[Spells.E].IsInRange(wards) && wards.Position.Distance(cursorpos) < range) { spells[Spells.E].Cast((Obj_AI_Base)wards); } if (m != null) { spells[Spells.E].Cast(m); } else if (wardjump) { WardJump(); } EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); break; case 1: //Auto var jumpobjects = ObjectManager.Get <GameObject>().Where(p => spells[Spells.E].IsInRange(p) && U.CanJumpTo(p)); var enemies = HeroManager.Enemies.Where(e => e.IsVisible); var best = jumpobjects.OrderByDescending(l => enemies.OrderByDescending(e => e.Distance(l.Position)).FirstOrDefault().Distance(l.Position)).FirstOrDefault(); if (best != null && spells[Spells.E].IsReady()) { spells[Spells.E].Cast((Obj_AI_Base)best); } break; } }
private static void Jungleclear() { var m = MinionManager.GetMinions(spells[Spells.Q].Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault(); if (m == null) { return; } var mode = _config.Item("jungleclear.mode").GetValue <StringList>().SelectedIndex; var useq = _config.Item("jungleclear.useQ").GetValue <bool>(); var usew = _config.Item("jungleclear.useW").GetValue <bool>(); var usee = _config.Item("jungleclear.useE").GetValue <bool>(); if (mode == 0) { if (useq && spells[Spells.Q].CanCast(m)) { spells[Spells.Q].CastOnUnit(m); } if (usee && spells[Spells.E].CanCast(m) && (m.HasBuff("KatarinaQMark") || (!U.QinAir() && !spells[Spells.Q].IsReady()))) { spells[Spells.E].CastOnUnit(m); } if (usew && spells[Spells.W].CanCast(m)) { spells[Spells.W].Cast(); } } else { if (usee && spells[Spells.E].CanCast(m)) { spells[Spells.E].CastOnUnit(m); } if (useq && spells[Spells.Q].CanCast(m)) { spells[Spells.Q].CastOnUnit(m); } if (usew && spells[Spells.W].CanCast(m) && (m.HasBuff("KatarinaQMark") || (!U.QinAir() && !spells[Spells.Q].IsReady()))) { spells[Spells.W].Cast(); } } }
private static void Killsteal() { var e = HeroManager.Enemies.Where(x => x.IsVisible && x.IsValidTarget()); var useq = _config.Item("killsteal.useQ").GetValue <bool>(); var usew = _config.Item("killsteal.useW").GetValue <bool>(); var usee = _config.Item("killsteal.useE").GetValue <bool>(); var usei = _config.Item("killsteal.useI").GetValue <bool>(); var ultks = _config.Item("killsteal.ultks").GetValue <bool>(); var mode = _config.Item("killsteal.mode").GetValue <StringList>().SelectedIndex; var waitformark = _config.Item("killsteal.procQ").GetValue <bool>(); var useward = _config.Item("killsteal.ward").GetValue <bool>(); var aiHeroes = e as AIHeroClient[] ?? e.ToArray(); if (RBlock && ultks) //KSing while Ulting { var target = aiHeroes.FirstOrDefault(x => x.Health < spells[Spells.Q].GetDamage(x) + spells[Spells.W].GetDamage(x) + spells[Spells.E].GetDamage(x) - 50); if (target != null && spells[Spells.Q].CanCast(target) && spells[Spells.W].IsReady() && spells[Spells.E].CanCast(target)) { if (mode == 0) { spells[Spells.E].Cast(target); spells[Spells.Q].Cast(target); if (waitformark && U.ProcQ(target)) { spells[Spells.W].Cast(); } else if (!waitformark) { spells[Spells.W].Cast(); } } else { spells[Spells.Q].Cast(target); if (waitformark && U.ProcQ(target)) { spells[Spells.E].Cast(target); } else if (!waitformark) { spells[Spells.E].Cast(target); } spells[Spells.W].Cast(); } } } var objAiHeroes = e as AIHeroClient[] ?? aiHeroes.ToArray(); var qtarget = objAiHeroes.FirstOrDefault(y => spells[Spells.Q].IsKillable(y)); if (useq && spells[Spells.Q].CanCast(qtarget) && qtarget != null) { spells[Spells.Q].Cast(qtarget); } else if (useq && useward && qtarget != null && Player.Distance(qtarget) < spells[Spells.E].Range + spells[Spells.Q].Range && spells[Spells.Q].IsReady()) { WardJump(qtarget); spells[Spells.Q].Cast(qtarget); } var qwtarget = objAiHeroes.FirstOrDefault(y => y.Health < spells[Spells.W].GetDamage(y) + GetMarkDamage(y) && y.HasBuff("KatarinaQMark")); if (usew && spells[Spells.W].CanCast(qwtarget) && qwtarget != null) { spells[Spells.W].Cast(); } var wtarget = objAiHeroes.FirstOrDefault(y => spells[Spells.W].IsKillable(y)); if (usew && spells[Spells.W].CanCast(wtarget) && wtarget != null) { spells[Spells.W].Cast(); } var etarget = objAiHeroes.FirstOrDefault(y => spells[Spells.E].IsKillable(y)); if (usee && spells[Spells.E].CanCast(etarget) && etarget != null) { CastE(etarget); } var itarget = objAiHeroes.FirstOrDefault(y => Player.GetSummonerSpellDamage(y, Damage.SummonerSpell.Ignite) > y.Health); if (itarget != null && _ignite.CanCast(itarget) && usei && !spells[Spells.Q].CanKill(itarget) && !spells[Spells.W].CanKill(itarget) && spells[Spells.E].CanKill(itarget)) { _ignite.Cast(itarget); } }
private static void Combo() { if (RBlock && U.RHeroBlock()) { return; } var target = TargetSelector.GetTarget(spells[Spells.Q].Range, TargetSelector.DamageType.Magical); if (target == null) { return; } var useQ = _config.Item("combo.useQ").GetValue <bool>(); var useW = _config.Item("combo.useW").GetValue <bool>(); var useE = _config.Item("combo.useE").GetValue <bool>(); var useR = _config.Item("combo.useR").GetValue <bool>(); var useItems = _config.Item("combo.useItems").GetValue <bool>(); var mode = _config.Item("combo.mode").GetValue <StringList>().SelectedIndex; switch (mode) { case 0: //Automatic if (U.GetQCollision(target)) { if (useE && spells[Spells.E].CanCast(target)) { CastE(target); } if (useQ && spells[Spells.Q].CanCast(target)) { spells[Spells.Q].CastOnUnit(target); } if (useW && spells[Spells.W].CanCast(target) && U.ProcQ(target)) { spells[Spells.W].Cast(); } } else { if (useQ && spells[Spells.Q].CanCast(target)) { spells[Spells.Q].CastOnUnit(target); } if (useE && spells[Spells.E].CanCast(target) && U.ProcQ(target)) { CastE(target); } if (useW && spells[Spells.W].CanCast(target)) { spells[Spells.W].Cast(); } } break; case 1: //EQ if (useE && spells[Spells.E].CanCast(target)) { CastE(target); } if (useQ && spells[Spells.Q].CanCast(target)) { spells[Spells.Q].CastOnUnit(target); } if (useW && spells[Spells.W].CanCast(target) && U.ProcQ(target)) { spells[Spells.W].Cast(); } break; case 2: //QE if (useQ && spells[Spells.Q].CanCast(target)) { spells[Spells.Q].CastOnUnit(target); } if (useE && spells[Spells.E].CanCast(target) && U.ProcQ(target)) { CastE(target); } if (useW && spells[Spells.W].CanCast(target)) { spells[Spells.W].Cast(); } break; } if (useItems) { UseItems(target); } if (useR && !spells[Spells.Q].IsReady() && !spells[Spells.W].IsReady() && !spells[Spells.E].IsReady() && spells[Spells.R].CanCast(target)) { spells[Spells.R].StartCharging(); } }