private void Game_OnGameUpdate(EventArgs args) { var target = TargetSelector.GetTarget(Q.Range + player.MoveSpeed * 3, DamageType.Physical); if (ShacoStealth && target != null && target.Health > ComboDamage(target) && CombatHelper.IsFacing(target, player.Position) && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Orbwalker.DisableAttacking = true; } else { Orbwalker.DisableAttacking = false; } if (!ShacoClone) { cloneTime = Environment.TickCount; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Combo(target); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { Harass(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { Clear(); } if (E.IsReady()) { var ksTarget = HeroManager.Enemies.FirstOrDefault( h => h.LSIsValidTarget() && !CombatHelper.IsInvulnerable2(h) && h.Health < E.GetDamage(h)); if (ksTarget != null) { if ((getCheckBoxItem(menuM, "ks") || getCheckBoxItem(menuM, "ksq")) && E.CanCast(ksTarget)) { E.Cast(ksTarget); } if (Q.IsReady() && getCheckBoxItem(menuM, "ks") && ksTarget.LSDistance(player) < Q.Range + E.Range && ksTarget.LSDistance(player) > E.Range && !player.Position.LSExtend(ksTarget.Position, Q.Range).IsWall() && player.Mana > Q.Instance.SData.Mana + E.Instance.SData.Mana) { Q.Cast(player.Position.LSExtend(ksTarget.Position, Q.Range)); } } } if (getKeyBindItem(menuM, "stackBox") && W.IsReady()) { var box = ObjectManager.Get <Obj_AI_Minion>() .Where(m => m.LSDistance(player) < W.Range && m.Name == "Jack In The Box" && !m.IsDead) .OrderBy(m => m.LSDistance(Game.CursorPos)) .FirstOrDefault(); if (box != null) { W.Cast(box.Position); } else { if (player.LSDistance(Game.CursorPos) < W.Range) { W.Cast(Game.CursorPos); } else { W.Cast(player.Position.LSExtend(Game.CursorPos, W.Range)); } } } if (ShacoClone && !GhostDelay && getCheckBoxItem(menuM, "autoMoveClone")) { moveClone(); } var data = IncDamages.GetAllyData(player.NetworkId); if (getCheckBoxItem(menuC, "userCC") && R.IsReady() && target != null && player.LSDistance(target) < Q.Range && data.AnyCC) { R.Cast(); } }
private void Game_OnGameUpdate(EventArgs args) { AIHeroClient target = DrawHelper.GetBetterTarget( Q.Range + player.MoveSpeed * 3, TargetSelector.DamageType.Physical); if (ShacoStealth && target != null && target.Health > ComboDamage(target) && CombatHelper.IsFacing(target, player.Position) && orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { orbwalker.SetAttack(false); } else { orbwalker.SetAttack(true); } if (false) { return; } switch (orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(target); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LaneClear: Clear(); break; case Orbwalking.OrbwalkingMode.LastHit: break; default: break; } if (E.IsReady()) { var ksTarget = HeroManager.Enemies.FirstOrDefault( h => h.IsValidTarget() && !CombatHelper.IsInvulnerable2(h) && h.Health < E.GetDamage(h)); if (ksTarget != null) { if ((config.Item("ks", true).GetValue <bool>() || config.Item("ksq", true).GetValue <bool>()) && E.CanCast(ksTarget)) { E.CastOnUnit(ksTarget); } if (Q.IsReady() && config.Item("ks", true).GetValue <bool>() && ksTarget.Distance(player) < Q.Range + E.Range && ksTarget.Distance(player) > E.Range && !player.Position.Extend(ksTarget.Position, Q.Range).IsWall() && player.Mana > Q.Instance.SData.Mana + E.Instance.SData.Mana) { Q.Cast(player.Position.Extend(ksTarget.Position, Q.Range)); } } } if (config.Item("stackBox", true).GetValue <KeyBind>().Active&& W.IsReady()) { var box = ObjectManager.Get <Obj_AI_Minion>() .Where(m => m.Distance(player) < W.Range && m.Name == "Jack In The Box" && !m.IsDead) .OrderBy(m => m.Distance(Game.CursorPos)) .FirstOrDefault(); if (box != null) { W.Cast(box.Position); } else { if (player.Distance(Game.CursorPos) < W.Range) { W.Cast(Game.CursorPos); } else { W.Cast(player.Position.Extend(Game.CursorPos, W.Range)); } } } if (R.IsReady() && ShacoClone) { PetHandler.MovePet(config, orbwalker.ActiveMode); } var data = Program.IncDamages.GetAllyData(player.NetworkId); if (config.Item("userCC", true).GetValue <bool>() && R.IsReady() && target != null && player.Distance(target) < Q.Range && data.AnyCC) { R.Cast(); } }