private static void JungleClear() { if (Config.GetBoolValue("jungleclear.q") && Q.IsReady()) { Obj_AI_Base defaultMinion = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).FirstOrDefault(); if (defaultMinion != null) { Q.Cast(defaultMinion); } } if (Config.GetBoolValue("jungleclear.w") && W.IsReady()) { if (MinionManager.GetMinions(Player.Position, W.Range, MinionTypes.All, MinionTeam.Neutral).Any()) { W.Cast(); } } if (Config.GetBoolValue("jungleclear.e") && E.IsReady()) { Obj_AI_Base defaultMinion = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.Neutral).FirstOrDefault(); if (defaultMinion != null) { E.Cast(defaultMinion); } } }
private static void LaneClear() { List <Obj_AI_Base> sourroundingMinions; if (Config.GetBoolValue("laneclear.q") && Q.IsReady()) { Obj_AI_Base m = MinionManager.GetMinions(Player.Position, Q.Range).FirstOrDefault(); if (m != null) { Q.Cast(m); } } if (Config.GetBoolValue("laneclear.w") && W.IsReady()) { sourroundingMinions = MinionManager.GetMinions(W.Range); if (sourroundingMinions.Count() > 2) { W.Cast(); } } if (Config.GetBoolValue("laneclear.e") && E.IsReady()) { Obj_AI_Base m = MinionManager.GetMinions(Player.Position, E.Range).FirstOrDefault(minion => Q.GetDamage(minion) >= minion.Health); if (m != null) { E.Cast(m); } } }
private static void ELogic(AIHeroClient target = null) { if (target == null) { target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); } if (target == null) { return; } Dagger eDagger = DaggerManager.GetDaggers().FirstOrDefault(d => d.GetPosition().Distance(target.Position) <= 330 && d.GetPosition().Distance(Player.Position) >= 140); //Finetuning needed if (eDagger != null) { Vector3 ePositon = eDagger.GetPosition().Extend(target.Position, 140); if (Player.Distance(ePositon) <= E.Range) { E.Cast(ePositon); return; } ePositon = Player.Position.Extend(ePositon, E.Range); if (ePositon.Distance(eDagger.GetPosition()) <= 140 && ePositon.Distance(target.Position) < 200) { E.Cast(ePositon); return; } } if (Config.GetBoolValue("combo.ealways")) { E.Cast(target.Position.Extend(Player.Position, -50)); } }
private static void QLogic(bool ksMode = false) { if (!Q.IsReady()) { return; } AIHeroClient target = TargetSelector.GetTarget(Q.Range + 300, TargetSelector.DamageType.Magical); if (target == null) { return; } if (!ksMode && Config.GetBoolValue("combo.q.minion") && target.Distance(Player) > 400) { //Optimal Position to attack Target Vector3 optimalQPosition = target.ServerPosition.Extend(Player.Position, 350); Obj_AI_Base min = ObjectManager.Get <Obj_AI_Base>().Aggregate((x, y) => x.Distance(optimalQPosition) < y.Distance(optimalQPosition) ? x : y); if (min.Distance(optimalQPosition) < 130) { Q.Cast(min); } } target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target.Distance(Player) < Q.Range && (Config.GetBoolValue("combo.q.direct") && (!Config.GetBoolValue("combo.q.onlyrunaway") || !target.IsFacing(Player) || target.Distance(Player) < 300) || ksMode)) { Q.Cast(target); } }
private static void Game_OnUpdate(EventArgs args) { if (Player.HasBuff("katarinarsound")) { if (Config.GetBoolValue("ks.r")) { Killsteal(); } Config.Orbwalker.SetAttack(false); Config.Orbwalker.SetAttack(false); return; } Config.Orbwalker.SetAttack(true); Config.Orbwalker.SetAttack(true); Killsteal(); //Select current Mode switch (Config.Orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.LaneClear: LaneClear(); break; case Orbwalking.OrbwalkingMode.LastHit: Lasthit(); break; } }
private static void OnDraw(EventArgs args) { if (!Config.GetBoolValue("drawings.daggers")) { return; } foreach (Dagger dag in GetDaggers()) { if (dag.IsActive()) { Render.Circle.DrawCircle(dag.GetPosition(), 140, System.Drawing.Color.Aqua); } } }
private static void Harass() { if (Config.GetBoolValue("harass.q")) { QLogic(true); } if (Config.GetBoolValue("harass.w")) { WLogic(); } if (Config.GetBoolValue("harass.e")) { ELogic(); } }
private static void Spellbook_OnCastSpell(Spellbook sender, SpellbookCastSpellEventArgs args) { if (sender.Owner.IsMe && Logic.Player.HasBuff("katarinarsound")) { //Accidental Cancel if (Utils.TickCount <= whenToCancelR && Config.GetBoolValue("misc.noRCancel")) { args.Process = false; } if (args.Slot != SpellSlot.Q && args.Slot != SpellSlot.W && args.Slot != SpellSlot.E) { args.Process = false; } } }
private static void Combo() //Still need to apply permutation - Probably Finished { if (Config.GetBoolValue("combo.q")) { QLogic(); } if (Config.GetBoolValue("combo.w")) { WLogic(); } if (Config.GetBoolValue("combo.e")) { ELogic(); } if (Config.GetBoolValue("combo.r")) { RLogic(); } }
private static void Lasthit() { if (Config.GetBoolValue("lasthit.q") && Q.IsReady()) { Obj_AI_Base m = MinionManager.GetMinions(Player.Position, Q.Range).FirstOrDefault(minion => Q.GetDamage(minion) >= minion.Health); if (m != null) { Q.Cast(m); } } if (Config.GetBoolValue("lasthit.e") && E.IsReady()) { Obj_AI_Base m = MinionManager.GetMinions(Player.Position, E.Range).FirstOrDefault(minion => Q.GetDamage(minion) >= minion.Health); if (m != null) { E.Cast(m); } } }
private static void RLogic() { AIHeroClient target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); if (target != null && R.IsReady() && target.Distance(Player) < (E.IsReady() && Config.GetBoolValue("combo.e") ? E.Range : R.Range - 200)) { if (E.IsReady() && Config.GetBoolValue("combo.e")) { E.Cast(target.Position); } if (W.IsReady() && Config.GetBoolValue("combo.w")) { W.Cast(); } if ((!E.IsReady() || !Config.GetBoolValue("combo.e")) && (!W.IsReady() || !Config.GetBoolValue("combo.w")) && target.Distance(Player) <= R.Range) { R.Cast(); } } }
private static void Killsteal() { if (!Config.GetBoolValue("ks.use")) { return; } foreach (AIHeroClient enemy in HeroManager.Enemies) { if (enemy.IsDead || enemy.IsZombie) { return; } if (enemy.Distance(Player) < Q.Range && GetDamage(enemy, false) >= enemy.Health) { QLogic(true); WLogic(); ELogic(enemy); } if (enemy.Distance(Player) < E.Range && E.GetDamage(enemy) >= enemy.Health) { E.Cast(enemy.Position); } } }
private static void OnIssueOrder(Obj_AI_Base sender, GameObjectIssueOrderEventArgs args) { if (sender.IsMe && Logic.Player.HasBuff("katarinarsound") && Utils.TickCount <= whenToCancelR && Config.GetBoolValue("misc.noRCancel")) { args.Process = false; } }