Пример #1
0
 protected override void Killsteal()
 {
     if (RootMenu["killsteal"]["useE"].Enabled)
     {
         var bestTarget = Bases.Extensions.GetBestKillableHero(E, DamageType.Magical, false);
         if (bestTarget != null &&
             Player.GetSpellDamage(bestTarget, SpellSlot.E) >= bestTarget.Health &&
             bestTarget.IsValidTarget(E.Range))
         {
             E.Cast(bestTarget);
         }
     }
     if (RootMenu["killsteal"]["useEmax"].Enabled)
     {
         var bestTarget = Bases.Extensions.GetBestKillableHero(E2, DamageType.Magical, false);
         if (bestTarget != null &&
             Player.GetSpellDamage(bestTarget, SpellSlot.E, DamageStage.Empowered) >= bestTarget.Health &&
             bestTarget.IsValidTarget(E2.Range))
         {
             var targets = Bases.Extensions.GetBestEnemyHeroTargetInRange(E.Range + 650);
             if (targets != null && targets.IsValidTarget(E.Range + 650))
             {
                 var test = E2.GetPrediction(targets);
                 for (var i = 0; i < 22; i++)
                 {
                     var rectangle = new Geometry.Rectangle(Vector3Extensions.To2D(Player.ServerPosition),
                                                            Vector3Extensions.To2D(test.CastPosition), 100);
                     foreach (var m in GameObjects.EnemyMinions.Where(x =>
                                                                      x.Distance(Player) < E.Range && x != null && x.IsValidTarget()))
                     {
                         if (rectangle.IsInside(Vector3Extensions.To2D(m.ServerPosition)))
                         {
                             var colliding = test.CollisionObjects.OrderBy(o => o.Distance(Player)).ToList();
                             var zzz       = Player.ServerPosition.Extend(test.CastPosition,
                                                                          Player.Distance(test.CastPosition) - 60 * i);
                             if (colliding.Count > 0 &&
                                 test.CastPosition.Distance(zzz) <= 100 + targets.BoundingRadius)
                             {
                                 if (!Extensions.AnyWallInBetween(m.ServerPosition, test.CastPosition))
                                 {
                                     if (test.HitChance >= HitChance.None)
                                     {
                                         E2.Cast(test.CastPosition);
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Пример #2
0
        protected override void Harass()
        {
            bool  useQA       = RootMenu["harass"]["useQA"].Enabled;
            bool  useE        = RootMenu["harass"]["useE"].Enabled;
            float manapercent = RootMenu["harass"]["mana"].As <MenuSlider>().Value;

            var target = Bases.Extensions.GetBestEnemyHeroTargetInRange(Q.Range);

            if (manapercent < Player.ManaPercent())
            {
                if (Q.Ready && useQA && target.IsValidTarget(900))
                {
                    if (target != null)
                    {
                        if (!target.IsDead)
                        {
                            if (Q.IsCharging)
                            {
                                if (RootMenu["harass"]["autoq"].Enabled)
                                {
                                    var start = Aimtec.SDK.Extensions.Vector3Extensions.To2D(Player.ServerPosition);

                                    var rectangle = new Geometry.Rectangle(
                                        Vector3Extensions.To2D(Player.ServerPosition),
                                        start.Extend(QCastPos, Q.Range), 170);
                                    Console.WriteLine(
                                        rectangle.IsOutside(Vector3Extensions.To2D(target.ServerPosition)));
                                    if (rectangle.IsOutside(Vector3Extensions.To2D(target.ServerPosition)))
                                    {
                                        Q.ShootChargedSpell(Game.CursorPos, true);
                                    }
                                    if (Meowmeowtimer < Game.TickCount)
                                    {
                                        Q.ShootChargedSpell(Game.CursorPos, true);
                                    }
                                }
                            }
                            if (!Q.IsCharging)
                            {
                                if (Q.Ready && target.Distance(Player) < 580)
                                {
                                    var meow = Q.GetPrediction(target);

                                    Q.StartCharging(meow.CastPosition);
                                }
                            }
                            if (Q.IsCharging)
                            {
                                if (Meowmeowtimer < Game.TickCount)
                                {
                                    Q.ShootChargedSpell(Game.CursorPos, true);
                                }
                            }
                        }
                    }
                }
                if (E.Ready && useE)
                {
                    var targetz = Bases.Extensions.GetBestEnemyHeroTargetInRange(E.Range);
                    if (targetz != null && targetz.IsValidTarget(E.Range))
                    {
                        E.Cast(targetz);
                    }
                    if (RootMenu["harass"]["extendede"].Enabled)
                    {
                        var targets = Bases.Extensions.GetBestEnemyHeroTargetInRange(E.Range + 650);
                        if (targets != null && targets.IsValidTarget(E.Range + 650))
                        {
                            var test = E2.GetPrediction(targets);
                            for (var i = 0; i < 22; i++)
                            {
                                var rectangle = new Geometry.Rectangle(Vector3Extensions.To2D(Player.ServerPosition),
                                                                       Vector3Extensions.To2D(test.CastPosition), 100);
                                foreach (var m in GameObjects.EnemyMinions.Where(x =>
                                                                                 x.Distance(Player) < E.Range && x != null && x.IsValidTarget()))
                                {
                                    if (rectangle.IsInside(Vector3Extensions.To2D(m.ServerPosition)))
                                    {
                                        var colliding = test.CollisionObjects.OrderBy(o => o.Distance(Player)).ToList();
                                        var zzz       = Player.ServerPosition.Extend(test.CastPosition,
                                                                                     Player.Distance(test.CastPosition) - 60 * i);
                                        if (colliding.Count > 0 &&
                                            test.CastPosition.Distance(zzz) <= 100 + targets.BoundingRadius)
                                        {
                                            if (!Extensions.AnyWallInBetween(m.ServerPosition, test.CastPosition))
                                            {
                                                if (test.HitChance >= HitChance.None)
                                                {
                                                    E2.Cast(test.CastPosition);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }