public static Vector3 GetInsecPos(AIHeroClient target) { try { if (ClicksecEnabled && InsecMenu.GetCheckBoxValue("clickInsec")) { InsecLinePos = Drawing.WorldToScreen(InsecClickPos); return(V2E(InsecClickPos, target.Position, target.Distance(InsecClickPos) + 230).To3D()); } if (isNullInsecPos) { isNullInsecPos = false; insecPos = myHero.Position; } if (GetAllyHeroes(target, 2000 + InsecMenu.GetSliderValue("bonusrangea")).Count > 0 && InsecMenu.GetCheckBoxValue("insecally")) { var insecPosition = InterceptionPoint( GetAllyInsec( GetAllyHeroes(target, 2000 + InsecMenu.GetSliderValue("bonusrangea")))); InsecLinePos = Drawing.WorldToScreen(insecPosition); return(V2E(insecPosition, target.Position, target.Distance(insecPosition) + 230).To3D()); } var tower = ObjectManager.Get <Obj_AI_Turret>() .Where( turret => turret.Distance(target) - 725 <= 950 && turret.IsAlly && turret.IsVisible && turret.Health > 0 && turret.Distance(target) <= 1300 && turret.Distance(target) > 400) .MinOrDefault(i => target.Distance(myHero)); if (tower != null) { InsecLinePos = Drawing.WorldToScreen(tower.Position); return(V2E(tower.Position, target.Position, target.Distance(tower.Position) + 230).To3D()); } if (InsecMenu.GetCheckBoxValue("insecpos")) { InsecLinePos = Drawing.WorldToScreen(insecPos); return(V2E(insecPos, target.Position, target.Distance(insecPos) + 230).To3D()); } return(new Vector3()); } catch (Exception ex) { Console.WriteLine(ex); } return(new Vector3()); }
private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!sender.IsMe) { return; } if (SpellNames.Contains(args.SData.Name.ToLower())) { PassiveStacks = 2; passiveTimer = Environment.TickCount + 3000; LastSpellTime = Environment.TickCount; } if (args.SData.Name.Equals("BlindMonkQOne", StringComparison.InvariantCultureIgnoreCase)) { castQAgain = false; Core.DelayAction(delegate { castQAgain = true; }, 2900); } if (R.IsReady() && Flash.IsReady()) { var target = InsecMenu.GetCheckBoxValue("insecMode") ? TargetSelector.SelectedTarget : TargetSelector.GetTarget(R.Range, DamageType.Physical); if (target == null) { return; } if (args.SData.Name.Equals("BlindMonkRKick", StringComparison.InvariantCultureIgnoreCase) && InsecMenu.GetKeyBindValue("insecflash")) { Core.DelayAction(delegate { Flash.Cast(GetInsecPos(target)); }, 80); } } if (args.SData.Name.Equals("summonerflash", StringComparison.InvariantCultureIgnoreCase) && insecComboStep != InsecComboStepSelect.None) { var target = InsecMenu.GetCheckBoxValue("insecMode") ? TargetSelector.SelectedTarget : TargetSelector.GetTarget(Q.Range, DamageType.Physical); insecComboStep = InsecComboStepSelect.Pressr; Core.DelayAction(delegate { R.Cast(target); }, 80); } if (args.SData.Name.Equals("BlindMonkQTwo", StringComparison.InvariantCultureIgnoreCase)) { waitingForQ2 = true; Core.DelayAction(delegate { waitingForQ2 = false; }, 3000); } if (args.SData.Name.Equals("BlindMonkRKick", StringComparison.InvariantCultureIgnoreCase)) { insecComboStep = InsecComboStepSelect.None; } switch (args.SData.Name.ToLower()) { case "blindmonkqone": LastQ = Environment.TickCount; LastSpell = Environment.TickCount; PassiveStacks = 2; break; case "blindmonkwone": LastW = Environment.TickCount; LastSpell = Environment.TickCount; PassiveStacks = 2; break; case "blindmonkeone": LastE = Environment.TickCount; LastSpell = Environment.TickCount; PassiveStacks = 2; break; case "blindmonkqtwo": LastQ2 = Environment.TickCount; LastSpell = Environment.TickCount; PassiveStacks = 2; CheckQ = false; break; case "blindmonkwtwo": LastW2 = Environment.TickCount; LastSpell = Environment.TickCount; PassiveStacks = 2; break; case "blindmonketwo": LastQ = Environment.TickCount; LastSpell = Environment.TickCount; PassiveStacks = 2; break; case "blindmonkrkick": LastR = Environment.TickCount; LastSpell = Environment.TickCount; PassiveStacks = 2; break; } }
/// <summary> /// This event is triggered every tick of the game /// </summary> /// <param name="args"></param> /// private static void Game_OnTick(EventArgs args) { if (Extensions.doubleClickReset <= Environment.TickCount && Extensions.clickCount != 0) { Extensions.doubleClickReset = float.MaxValue; Extensions.clickCount = 0; } if (Extensions.clickCount >= 2) { Extensions.resetTime = Environment.TickCount + 3000; Extensions.ClicksecEnabled = true; Extensions.InsecClickPos = Game.CursorPos; Extensions.clickCount = 0; } if (Extensions.passiveTimer <= Environment.TickCount) { Extensions.PassiveStacks = 0; } if (Extensions.resetTime <= Environment.TickCount && !InsecMenu.GetKeyBindValue("insec") && Extensions.ClicksecEnabled) { Extensions.ClicksecEnabled = false; } if (Extensions.q2Timer <= Environment.TickCount) { Extensions.q2Done = false; } if (myHero.IsDead || MenuGUI.IsChatOpen || myHero.IsRecalling()) { return; } if ((InsecMenu.GetCheckBoxValue("insecMode") ? TargetSelector.SelectedTarget : TargetSelector.GetTarget(SpellsManager.Q.Range, DamageType.Physical)) == null) { Extensions.insecComboStep = Extensions.InsecComboStepSelect.None; } if (ComboMenu.GetKeyBindValue("starCombo")) { WardCombo.Execute(); } if (MiscMenu.GetCheckBoxValue("igniteks")) { var newTarget = TargetSelector.GetTarget(600, DamageType.True); if (newTarget != null && SpellsManager.igniteSlot != SpellSlot.Unknown && myHero.Spellbook.CanUseSpell(SpellsManager.igniteSlot) == SpellState.Ready && ObjectManager.Player.GetSummonerSpellDamage(newTarget, DamageLibrary.SummonerSpells.Ignite) > newTarget.Health) { myHero.Spellbook.CastSpell(SpellsManager.igniteSlot, newTarget); } } if (InsecMenu.GetKeyBindValue("insec") && SpellsManager.R.IsReady()) { if (InsecMenu.GetCheckBoxValue("insecorbw")) { Extensions.Orbwalk(Game.CursorPos); } var newTarget = InsecMenu.GetCheckBoxValue("insecMode") ? TargetSelector.SelectedTarget : TargetSelector.GetTarget(SpellsManager.Q.Range, DamageType.Physical); if (newTarget != null) { Insec.InsecCombo(newTarget); } } else { Extensions.isNullInsecPos = true; Extensions.wardJumped = false; } if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Extensions.insecComboStep = Extensions.InsecComboStepSelect.None; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Combo.Execute(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { Harass.Execute(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { LaneClear.Execute(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { JungleClear.Execute(); } Killsteal.Execute(); if (WardJumpMenu.GetKeyBindValue("wardjump")) { WardJumper.WardjumpToMouse(); } if (InsecMenu.GetKeyBindValue("insecflash")) { Extensions.Orbwalk(Game.CursorPos); var target = TargetSelector.GetTarget(SpellsManager.R.Range, DamageType.Physical); if (target == null) { return; } if (SpellsManager.R.IsReady() && !target.IsZombie && SpellsManager.Flash.IsReady() && target.IsValidTarget(SpellsManager.R.Range)) { SpellsManager.R.Cast(target); } } if (!ComboMenu.GetCheckBoxValue("rkickkill") || !SpellsManager.R.IsReady()) { return; } AIHeroClient t = EntityManager.Heroes.Enemies.Find( e => e.IsValidTarget(SpellsManager.Q.Range + SpellsManager.W.Range) && !e.IsDead && !e.IsZombie && e.Distance(Game.CursorPos) < e.Distance(ObjectManager.Player.Position) && !e.IsValidTarget(myHero.GetAutoAttackRange(null) + 65) && e.Health < e.MaxHealth * 0.14); if (t == null) { return; } foreach (var enemy in EntityManager.Heroes.Enemies.Where(e => e.Distance(t.Position) < 800 && e.NetworkId != t.NetworkId && ObjectManager.Player.Distance(e) < ObjectManager.Player.Distance(t))) { toPolygon = new Geometry2.Rectangle(t.Position.To2D(), t.Position.To2D().Extend(ObjectManager.Player.Position.To2D(), 800), 100).ToPolygon(); toPolygon.Draw(Color.Blue, 3); if (toPolygon.IsInside(enemy.Position.To2D())) { SpellsManager.R.Cast(enemy); } } if (ComboMenu.GetCheckBoxValue("rkick")) { float leeSinRKickDistance = 700; float leeSinRKickWidth = 100; var minREnemies = ComboMenu.GetSliderValue("rkickcount"); foreach (var enemy in EntityManager.Heroes.Enemies) { var startPos = enemy.ServerPosition; var endPos = myHero.ServerPosition.Extend(startPos, myHero.Distance(enemy) + leeSinRKickDistance); var rectangle = new Geometry.Polygon.Rectangle(startPos, endPos, leeSinRKickWidth); if (EntityManager.Heroes.Enemies.Count(x => rectangle.IsInside(x)) >= minREnemies) { SpellsManager.R.Cast(enemy); } } } }
/// <summary> /// Put in here what you want to do when the mode is running /// </summary> public static void InsecCombo(AIHeroClient target) { if (target != null && target.IsVisible) { if (myHero.Distance(GetInsecPos(target)) < 200) { insecComboStep = InsecComboStepSelect.Pressr; } else if (insecComboStep == InsecComboStepSelect.None && GetInsecPos(target).Distance(myHero.Position) < 600) { insecComboStep = InsecComboStepSelect.Wgapclose; } else if (insecComboStep == InsecComboStepSelect.None && target.Distance(myHero) < Q.Range) { insecComboStep = InsecComboStepSelect.Qgapclose; } switch (insecComboStep) { case InsecComboStepSelect.Qgapclose: var prediction = Q.GetPrediction(target); if (prediction.CollisionObjects.Count(h => h.IsEnemy && !h.IsDead && h is Obj_AI_Minion) >= 1 && InsecMenu.GetCheckBoxValue("inseccheck") && Q.IsReady()) { foreach (var unit in ObjectManager.Get <Obj_AI_Base>().Where(obj => (((obj is Obj_AI_Minion) && myHero.GetSpellDamage(target, SpellSlot.Q) < obj.Health + 10) || (obj is AIHeroClient)) && obj.IsValidTarget(Q.Range) && obj.Distance(GetInsecPos(target)) < 500)) { var pred = Q.GetPrediction(unit); if (pred.HitChance >= HitChance.High) { Q.Cast(pred.CastPosition); } break; } } if (!(target.HasQBuff()) && QState) { CastQ(target, MiscMenu.GetCheckBoxValue("smiteq")); } else if (target.HasQBuff()) { Q2.Cast(); insecComboStep = InsecComboStepSelect.Wgapclose; } else { if (Q.Name == "blindmonkqtwo" && ReturnQBuff().Distance(target) <= 600 && target.HasQBuff()) { Q2.Cast(); } } break; case InsecComboStepSelect.Wgapclose: if (myHero.Distance(target) < WardRange) { WardJumper.WardJump(GetInsecPos(target), false, true, true); if (FindBestWardItem() == null && R.IsReady() && InsecMenu.GetCheckBoxValue("insecnoward") && Flash.IsReady()) { if ((GetInsecPos(target).Distance(myHero.Position) < FlashRange && LastWard + 1000 < Environment.TickCount) || !W.IsReady()) { Flash.Cast(GetInsecPos(target)); } } } else if (myHero.Distance(target) < WardFlashRange) { WardJumper.WardJump(target.Position); if (R.IsReady() && InsecMenu.GetCheckBoxValue("insecnoward") && Flash.IsReady()) { if (myHero.Distance(target) < FlashRange - 25) { if (FindBestWardItem() == null || LastWard + 1000 < Environment.TickCount) { Flash.Cast(GetInsecPos(target)); } } } } break; case InsecComboStepSelect.Pressr: R.Cast(target); break; } } }
/// <summary> /// Normal drawings /// </summary> /// <param name="args"></param> private static void Drawing_OnDraw(EventArgs args) { var newTarget = InsecMenu.GetCheckBoxValue("insecMode") ? TargetSelector.SelectedTarget : TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (Extensions.ClicksecEnabled && InsecMenu.GetCheckBoxValue("clickInsec")) { Drawing.DrawCircle(Extensions.InsecClickPos, 100, Color.DeepSkyBlue); } var playerPos = Drawing.WorldToScreen(ObjectManager.Player.Position); if (InsecMenu.GetKeyBindValue("insecflash")) { Drawing.DrawText(playerPos.X - 55, playerPos.Y + 40, Color.Yellow, "Flash Insec enabled"); } if (DrawingsMenu.GetCheckBoxValue("drawinseclines") && R.IsReady()) { if (newTarget != null && newTarget.IsVisible && newTarget.IsValidTarget() && !newTarget.IsDead && myHero.Distance(newTarget) < 3000) { Vector2 targetPos = Drawing.WorldToScreen(newTarget.Position); Drawing.DrawLine( Extensions.InsecLinePos.X, Extensions.InsecLinePos.Y, targetPos.X, targetPos.Y, 3, Color.Gold); Drawing.DrawText( Drawing.WorldToScreen(newTarget.Position).X - 40, Drawing.WorldToScreen(newTarget.Position).Y + 10, Color.White, "Selected Target"); Drawing.DrawCircle(Extensions.GetInsecPos(newTarget), 100, Color.DeepSkyBlue); } } if (!DrawingsMenu.GetCheckBoxValue("drawsenabled")) { return; } if (WardJumpMenu.GetKeyBindValue("wardjump") && DrawingsMenu.GetCheckBoxValue("drawwardjump")) { Drawing.DrawCircle(Extensions.JumpPos.To3D(), 20, Color.Red); Drawing.DrawCircle(myHero.Position, 600, Color.Red); } var readyDraw = DrawingsMenu.GetCheckBoxValue("readyDraw"); if (DrawingsMenu.GetCheckBoxValue("qDraw") && readyDraw ? Q.IsReady() : DrawingsMenu.GetCheckBoxValue("qDraw")) { Circle.Draw(QColorSlide.GetSharpColor(), Q.Range, 1f, Player.Instance); } if (DrawingsMenu.GetCheckBoxValue("wDraw") && readyDraw ? W.IsReady() : DrawingsMenu.GetCheckBoxValue("wDraw")) { Circle.Draw(WColorSlide.GetSharpColor(), W.Range, 1f, Player.Instance); } if (DrawingsMenu.GetCheckBoxValue("eDraw") && readyDraw ? E.IsReady() : DrawingsMenu.GetCheckBoxValue("eDraw")) { Circle.Draw(EColorSlide.GetSharpColor(), E.Range, 1f, Player.Instance); } if (DrawingsMenu.GetCheckBoxValue("rDraw") && readyDraw ? R.IsReady() : DrawingsMenu.GetCheckBoxValue("rDraw")) { Circle.Draw(RColorSlide.GetSharpColor(), R.Range, 1f, Player.Instance); } }