private static void OnDraw(EventArgs args) { if (!player.IsDead && menuIni.Get <CheckBox>("Drawings").CurrentValue) { if (DrawMenu.Get <CheckBox>("Draw_Q").CurrentValue) { Circle.Draw(Color.DarkRed, Q.Range, Player.Instance.Position); } if (DrawMenu.Get <CheckBox>("Draw_W").CurrentValue) { Circle.Draw(Color.DarkRed, W.Range, Player.Instance.Position); } if (DrawMenu.Get <CheckBox>("Draw_E").CurrentValue) { Circle.Draw(Color.DarkRed, E.Range, Player.Instance.Position); } if (DrawMenu.Get <CheckBox>("Rranged").CurrentValue) { Circle.Draw(Color.DarkRed, UltMenu.Get <Slider>("Rranged").CurrentValue, Player.Instance.Position); } if (DrawMenu.Get <CheckBox>("Track").CurrentValue) { DrawEnemyHealth(); } } DrawKillable(); }
private static void Ult() { // Kappa ult logic. var time = Environment.TickCount; var enemiesrange = ObjectManager.Player.Position.CountEnemiesInRange(UltMenu.Get <Slider>("Rranged").CurrentValue); var enemieinsrange = UltMenu.Get <Slider>("RnearEn").CurrentValue; foreach (var rtarget in EntityManager.Heroes.Enemies.Where( x => x != null && x.IsValid && !x.IsDead && x.IsEnemy && (!x.HasBuff("kindrednodeathbuff") || !x.HasBuff("Undying Rage") || !x.HasBuff("JudicatorIntervention")) && !x.IsZombie && player.GetSpellDamage(x, SpellSlot.R) > Prediction.Health.GetPrediction(x, (int)(R.CastDelay * 1000f)) && x.CountAlliesInRange(750) < 1)) { if (UltMenu.Get <CheckBox>("RnearE").CurrentValue&& enemieinsrange <= enemiesrange) { R.Cast(rtarget.Position); } if (!UltMenu.Get <CheckBox>("RnearE").CurrentValue) { R.Cast(rtarget.Position); } if (player.IsZombie) { R.Cast(rtarget.Position); } } }
private static void InterrupterOnOnPossibleToInterrupt(Obj_AI_Base unit, Interrupter.InterruptableSpellEventArgs args) { var castingR = Player.Instance.Spellbook.IsChanneling && !Player.Instance.IsRecalling(); if (castingR) { return; } var predq = Q.GetPrediction(unit); if (unit != null && Q.IsReady() && unit.IsEnemy && unit.IsValidTarget(Q.Range) && MiscMenu.Get<CheckBox>("interruptQ").CurrentValue && menuIni["Misc"].Cast<CheckBox>().CurrentValue) { Q.Cast(predq.CastPosition); return; } if (unit != null && R.IsReady() && UltMenu.Get<CheckBox>("interruptR").CurrentValue) { if (UltMenu["Rtower"].Cast<CheckBox>().CurrentValue && ObjectManager.Player.IsUnderEnemyturret()) { return; } if (unit.IsEnemy && unit.IsValidTarget(R.Range) && !UltMenu["DontUlt" + unit.BaseSkinName].Cast<CheckBox>().CurrentValue) { R.Cast(unit); } } }
/// <summary> /// Fired on an incoming enemy gapcloser. /// </summary> /// <param name="gapcloser">The gapcloser.</param> private static void AntiGapcloserOnOnEnemyGapcloser(AIHeroClient Sender, Gapcloser.GapcloserEventArgs args) { var castingR = Player.Instance.Spellbook.IsChanneling && !Player.Instance.IsRecalling(); if (!Sender.IsValidTarget() || !Sender.IsEnemy || Sender.IsAlly || castingR) { return; } if (menuIni["Misc"].Cast <CheckBox>().CurrentValue) { var predq = Q.GetPrediction(Sender); if (Sender != null && Q.IsReady() && Sender.IsEnemy && Sender.IsValidTarget(Q.Range) && MiscMenu.Get <CheckBox>("gapcloserQ").CurrentValue) { Q.Cast(predq.CastPosition); return; } } if (UltMenu["Rtower"].Cast <CheckBox>().CurrentValue&& ObjectManager.Player.IsUnderEnemyturret()) { return; } if (Sender != null && R.IsReady() && Sender.IsEnemy && Sender.IsValidTarget(R.Range) && !UltMenu["DontUlt" + Sender.BaseSkinName].Cast <CheckBox>().CurrentValue && UltMenu.Get <CheckBox>("gapcloserR").CurrentValue) { R.Cast(Sender); return; } }
private static void Interrupter2_OnInterruptableTarget( Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args) { if (sender != null && R.IsReady() && sender.IsEnemy && sender.IsValidTarget(R.Range) && UltMenu.Get <CheckBox>("interrupt").CurrentValue) { R.Cast(); } }
private static void DrawKillable() { var time = Environment.TickCount; var enemiesrange = ObjectManager.Player.Position.CountEnemiesInRange(UltMenu.Get <Slider>("Rranged").CurrentValue); var enemieinsrange = UltMenu.Get <Slider>("RnearEn").CurrentValue; if (UltMenu.Get <CheckBox>("RnearE").CurrentValue&& enemiesrange >= enemieinsrange) { Drawing.DrawText( Drawing.Width * 0.44f, Drawing.Height * 0.8f, System.Drawing.Color.Red, "屏蔽R附近敌人数: " + enemieinsrange); } if (R.IsLearned) { var killable = string.Empty; foreach (var target in EntityManager.Heroes.Enemies.Where( x => !x.IsDead && x.IsEnemy && player.GetSpellDamage(x, SpellSlot.R) > Prediction.Health.GetPrediction(x, (int)(R.CastDelay * 1000f))) .Where(target => target.IsVisible)) { killable += target.ChampionName + ", "; if (MiscMenu.Get <CheckBox>("ping").CurrentValue) { Ping(target.Position.To2D()); } if (DrawMenu.Get <CheckBox>("Rtarget").CurrentValue) { Circle.Draw(Color.DarkRed, 650, target.Position); Drawing.DrawText( Drawing.WorldToScreen(target.Position) - new Vector2(0.44f, 0.8f), System.Drawing.Color.Red, "R可击杀", 2); } if (killable != string.Empty) { if (MiscMenu.Get <CheckBox>("NotifyUlt").CurrentValue) { Drawing.DrawText(Drawing.Width * 0.44f, Drawing.Height * 0.7f, System.Drawing.Color.Red, "可被大招击杀: " + killable); } } } } }
private static void OnUpdate(EventArgs args) { if (player.IsDead) { return; } qTarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical); wTarget = TargetSelector.GetTarget(W.Range, DamageType.Magical); eTarget = TargetSelector.GetTarget(E.Range, DamageType.Magical); var flags = Orbwalker.ActiveModesFlags; if (flags.HasFlag(Orbwalker.ActiveModes.Combo) && menuIni.Get <CheckBox>("Combo").CurrentValue) { Orbwalker.DisableAttacking = ComboMenu.Get <CheckBox>("CUse_AA").CurrentValue&& player.Mana > Q.Handle.SData.Mana * 3; if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Mana - (SaveR() / 3) - 30 > R.Handle.SData.Mana && player.Level >= 6 && R.IsLearned) { Combo(); } if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned || player.IsZombie) { Combo(); } } if (flags.HasFlag(Orbwalker.ActiveModes.LaneClear) && menuIni.Get <CheckBox>("LaneClear").CurrentValue) { Orbwalker.DisableAttacking = false; if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Mana - (SaveR() / 3) > R.Handle.SData.Mana && player.Level >= 6 && R.IsLearned) { LaneClear(); } if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned) { LaneClear(); } } if (flags.HasFlag(Orbwalker.ActiveModes.JungleClear) && menuIni.Get <CheckBox>("JungleClear").CurrentValue) { Orbwalker.DisableAttacking = false; if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Level >= 6 && R.IsLearned && player.Mana - (SaveR() / 3) > R.Handle.SData.Mana) { JungleClear(); } if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned) { JungleClear(); } } if (flags.HasFlag(Orbwalker.ActiveModes.Harass) && menuIni.Get <CheckBox>("Harass").CurrentValue) { Orbwalker.DisableAttacking = HarassMenu.Get <CheckBox>("HUse_AA").CurrentValue&& Player.Instance.Mana < Q.Handle.SData.Mana * 3; if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Level >= 6 && R.IsLearned && player.Mana - (SaveR() / 2) > R.Handle.SData.Mana) { Harass(); } if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned) { Harass(); } } if (flags.HasFlag(Orbwalker.ActiveModes.LastHit) && menuIni.Get <CheckBox>("LastHit").CurrentValue) { if (LaneMenu.Get <CheckBox>("LAA").CurrentValue && (Q.IsReady() || ObjectManager.Player.ManaPercent >= LaneMenu.Get <Slider>("LHQPercent").CurrentValue)) { Orbwalker.DisableAttacking = true; } else { Orbwalker.DisableAttacking = false; } if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Level >= 6 && R.IsLearned && player.Mana - (SaveR() / 3) > R.Handle.SData.Mana) { LastHit(); } if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned) { LastHit(); } } if (MiscMenu.Get <CheckBox>("DeadCast").CurrentValue) { if (ObjectManager.Player.IsZombie && !Combo()) { LaneClear(); } } if (menuIni.Get <CheckBox>("KillSteal").CurrentValue) { Ks(); } if (menuIni.Get <CheckBox>("Ultimate").CurrentValue&& UltMenu.Get <ComboBox>("UltMode").CurrentValue == 0 && UltMenu.Get <CheckBox>("UltKS").CurrentValue&& (R.IsLearned && R.IsReady())) { Ult(); } }