Пример #1
0
        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();
            }
        }
Пример #2
0
        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();
            }
        }