public static void AfterAttack(AttackableUnit sender, AttackableUnit target) { if (!Program.Q.IsReady()) { return; } if (sender.IsMe && target.IsValid <Obj_AI_Hero>()) { var tg = target as Obj_AI_Hero; if (tg == null) { return; } var mode = Program.ComboMenu.Item("QMode").GetValue <StringList>().SelectedValue; var tumblePosition = Game.CursorPos; switch (mode) { case "PRADA": tumblePosition = tg.GetTumblePos(); break; default: tumblePosition = Game.CursorPos; break; } Tumble.Cast(tumblePosition); } if (sender.IsMe && target.IsValid <Obj_AI_Minion>()) { if (Program.LaneClearMenu.Item("QWaveClear").GetValue <bool>() && Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LaneClear) { var meleeMinion = ObjectManager.Get <Obj_AI_Minion>().FirstOrDefault(m => m.IsMelee); if (ObjectManager.Player.ManaPercent >= Program.LaneClearMenu.Item("QWaveClearMana").GetValue <Slider>().Value&& meleeMinion.IsValidTarget()) { if (ObjectManager.Player.Level == 1) { Tumble.Cast(meleeMinion.GetTumblePos()); } if (ObjectManager.Player.CountEnemiesInRange(1600) == 0) { Tumble.Cast(meleeMinion.GetTumblePos()); } } if (target.Name.Contains("SRU_")) { Tumble.Cast(((Obj_AI_Base)target).GetTumblePos()); } } if (Program.LaneClearMenu.Item("QLastHit").GetValue <bool>() && ObjectManager.Player.ManaPercent >= Program.LaneClearMenu.Item("QLastHitMana").GetValue <Slider>().Value&& Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LastHit || Program.Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.LaneClear) { if (ObjectManager.Get <Obj_AI_Minion>() .Where( m => MyOrbwalker.InAutoAttackRange(m)).Count(m => m.Health <= ObjectManager.Player.GetAutoAttackDamage(m)) > 2) { var cursorPos = Game.CursorPos; if (!cursorPos.IsDangerousPosition()) { Program.Q.Cast(ObjectManager.Player.GetTumblePos()); return; } } } } }
public static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target) { if (!unit.IsMe) { return; } if (Program.orbwalker.ActiveMode.ToString() == "LaneClear" && 100 * (Program.Player.Mana / Program.Player.MaxMana) > Program.qmenu.Item("Junglemana").GetValue <Slider>().Value) { var mob = MinionManager.GetMinions( Program.Player.ServerPosition, Program.E.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault(); var Minions = MinionManager.GetMinions( Program.Player.Position.Extend(Game.CursorPos, Program.Q.Range), Program.Player.AttackRange, MinionTypes.All); var useQ = Program.qmenu.Item("UseQJ").GetValue <bool>(); int countMinions = 0; foreach (var minions in Minions.Where( minion => minion.Health < Program.Player.GetAutoAttackDamage(minion) || minion.Health < Program.Q.GetDamage(minion) + Program.Player.GetAutoAttackDamage(minion) || minion.Health < Program.Q.GetDamage(minion))) { countMinions++; } if (countMinions >= 2 && useQ && Program.Q.IsReady() && Minions != null) { Program.Q.Cast(Program.Player.Position.Extend(Game.CursorPos, Program.Q.Range / 2)); } if (useQ && Program.Q.IsReady() && MyOrbwalker.InAutoAttackRange(mob) && mob != null && Program.qmenu.Item("FastQ").GetValue <bool>()) { Program.Q.Cast(Game.CursorPos); Game.SendEmote(Emote.Dance); } else if (useQ && Program.Q.IsReady() && MyOrbwalker.InAutoAttackRange(mob) && mob != null && !Program.qmenu.Item("FastQ").GetValue <bool>()) { Program.Q.Cast(Game.CursorPos); } } if (!(target is Obj_AI_Hero)) { return; } Program.tar = (Obj_AI_Hero)target; if (Program.menu.Item("aaqaa").GetValue <KeyBind>().Active) { if (Program.Q.IsReady()) { Program.Q.Cast(Game.CursorPos); Game.SendEmote(Emote.Dance); } MyOrbwalker.Orbwalk(TargetSelector.GetTarget(625, TargetSelector.DamageType.Physical), Game.CursorPos); } // Condemn.FlashE(); if (Program.menu.Item("zzrot").GetValue <KeyBind>().Active) { Misc.zzRotCondemn.RotE(); } if (Program.emenu.Item("UseEaa").GetValue <KeyBind>().Active) { Program.E.Cast((Obj_AI_Base)target); Program.emenu.Item("UseEaa").SetValue <KeyBind>(new KeyBind("G".ToCharArray()[0], KeyBindType.Toggle)); } if ((Program.orbwalker.ActiveMode.ToString() == "Combo") && Program.qmenu.Item("UseQC").GetValue <bool>() && !Program.qmenu.Item("FastQ").GetValue <bool>() || (Program.orbwalker.ActiveMode.ToString() == "Mixed" && Program.qmenu.Item("hq").GetValue <bool>())) { if (Program.qmenu.Item("restrictq").GetValue <bool>()) { var after = ObjectManager.Player.Position + Normalize(Game.CursorPos - ObjectManager.Player.Position) * 300; //Game.PrintChat("After: {0}", after); var disafter = Vector3.DistanceSquared(after, Program.tar.Position); //Game.PrintChat("DisAfter: {0}", disafter); //Game.PrintChat("first calc: {0}", (disafter) - (630*630)); if ((disafter < 630 * 630) && disafter > 150 * 150) { Program.Q.Cast(Game.CursorPos); } if (Vector3.DistanceSquared(Program.tar.Position, ObjectManager.Player.Position) > 630 * 630 && disafter < 630 * 630) { Program.Q.Cast(Game.CursorPos); } } else { Program.Q.Cast(Game.CursorPos); } //Q.Cast(Game.CursorPos); } if ((Program.orbwalker.ActiveMode.ToString() == "Combo") && Program.qmenu.Item("UseQC").GetValue <bool>() && Program.qmenu.Item("UseQC").GetValue <bool>() && Program.qmenu.Item("FastQ").GetValue <bool>() || (Program.orbwalker.ActiveMode.ToString() == "Mixed" && Program.qmenu.Item("hq").GetValue <bool>())) { if (Program.qmenu.Item("restrictq").GetValue <bool>()) { var after = ObjectManager.Player.Position + Normalize(Game.CursorPos - ObjectManager.Player.Position) * 300; //Game.PrintChat("After: {0}", after); var disafter = Vector3.DistanceSquared(after, Program.tar.Position); //Game.PrintChat("DisAfter: {0}", disafter); //Game.PrintChat("first calc: {0}", (disafter) - (630*630)); if ((disafter < 630 * 630) && disafter > 150 * 150) { Program.Q.Cast(Game.CursorPos); Game.SendEmote(Emote.Dance); } if (Vector3.DistanceSquared(Program.tar.Position, ObjectManager.Player.Position) > 630 * 630 && disafter < 630 * 630) { Program.Q.Cast(Game.CursorPos); Game.SendEmote(Emote.Dance); } } else { Program.Q.Cast(Game.CursorPos); Game.SendEmote(Emote.Dance); } //Q.Cast(Game.CursorPos); } }