Example #1
0
        public static void Harass()
        {
            var target = TargetSelector.GetTarget(SpellManager.E.Range + 175, DamageType.Physical);

            Orbwalker.ForcedTarget = null;

            if (target == null || !target.IsValidTarget())
            {
                return;
            }

            var barrel = BarrelManager.KillableBarrelAroundUnit(target);

            if (Program.HarassMenu["useQBarrelsHarass"].Cast <CheckBox>().CurrentValue&& barrel != null &&
                SpellManager.Q.IsReady())
            {
                SpellManager.Q.Cast(barrel);
            }
            else if (barrel != null && barrel.Distance(Player.Instance) < Player.Instance.GetAutoAttackRange(barrel))
            {
                Orbwalker.ForcedTarget = barrel;
            }
            else
            {
                var maxChain = Program.HarassMenu["useEMaxChainHarass"].Cast <Slider>().CurrentValue;
                if (Program.HarassMenu["useQBarrelsHarass"].Cast <CheckBox>().CurrentValue&&
                    maxChain > 1)
                {
                    foreach (var barrels in BarrelManager.Barrels.Where(a => a.Distance(target) < 350))
                    {
                        var killableBarrel =
                            BarrelManager.Killablebarrels.Where(a => a.Distance(Player.Instance) < SpellManager.Q.Range)
                            .FirstOrDefault(a => a.Distance(barrels) < 700);
                        if (killableBarrel != null)
                        {
                            if (SpellManager.Q.IsReady())
                            {
                                SpellManager.Q.Cast(killableBarrel);
                                return;
                            }
                            else if (killableBarrel.Distance(Player.Instance) < Player.Instance.GetAutoAttackRange(killableBarrel))
                            {
                                Orbwalker.ForcedTarget = killableBarrel;
                                return;
                            }
                            return;
                        }
                        if (maxChain > 2)
                        {
                            foreach (var barrels2 in BarrelManager.Barrels.Where(a => a.Distance(barrels) < 350))
                            {
                                var killableBarrel2 =
                                    BarrelManager.Killablebarrels.Where(
                                        a => a.Distance(Player.Instance) < SpellManager.Q.Range)
                                    .FirstOrDefault(a => a.Distance(barrels2) < 700);
                                if (killableBarrel2 != null)
                                {
                                    if (SpellManager.Q.IsReady())
                                    {
                                        SpellManager.Q.Cast(killableBarrel2);
                                        return;
                                    }
                                    else if (killableBarrel2.Distance(Player.Instance) < Player.Instance.GetAutoAttackRange(killableBarrel2))
                                    {
                                        Orbwalker.ForcedTarget = killableBarrel2;
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
                if (Program.HarassMenu["useEHarass"].Cast <CheckBox>().CurrentValue&&
                    !BarrelManager.Barrels.Any(a => target.Distance(a) < 350) && SpellManager.E.IsReady())
                {
                    SpellManager.E.Cast(target);
                    return;
                }
            }
            if (Program.HarassMenu["useQHarass"].Cast <CheckBox>().CurrentValue&&
                target.IsValidTarget(SpellManager.Q.Range) && SpellManager.Q.IsReady())
            {
                SpellManager.Q.Cast(target);
            }
        }