Exemplo n.º 1
0
        internal static void AutoQonEnemyPath()
        {
            SharpDX.Vector3 walking;
            if (!Singed.Player.IsMoving)
            {
                walking = Singed.Player.Position;
            }
            else
            {
                walking = ((Singed.Player.Path[1] - Singed.Player.Position) / Singed.Player.Path[1].Distance(Singed.Player)) * 40;
            }

            foreach (var e in ObjectManager.Heroes.Enemies)
            {
                if (!e.Path.Any())
                {
                    continue;
                }
                var cross = Geometry.Intersection(e.ServerPosition.To2D(), e.Path.Last().To2D(), walking.To2D(), ((walking - Singed.Player.Position) * -1 + Singed.Player.Position).To2D());
                if (cross.Intersects && cross.Point.Distance(e) < e.MovementSpeed * 3.5)
                {
                    MySpells.EnableQ();
                    return;
                }
            }
            MySpells.DisableQ();
        }
Exemplo n.º 2
0
 internal static void LaneClear()
 {
     if (MyMenu.IsChecked("LaneClear.Q") && Singed.Player.ManaPercent > MyMenu.GetValue("LaneClear.QMana"))
     {
         MySpells.EnableQ();
     }
     else
     {
         AutoQonEnemyPath();
     }
 }
Exemplo n.º 3
0
        internal static void Init()
        {
            Player = ObjectManager.Me;
            if (Player.ChampionName != "Singed")
            {
                return;
            }
            MySpells.Init();
            MyMenu.Init();

            Orbwalker.SetMinimumOrbwalkDistance(0);

            Game.OnTick    += Game_OnTick;
            Game.OnTick    += PoisonPath.Game_OnTick;
            Drawing.OnDraw += Drawing_OnDraw;
            Orbwalker.OnNonKillableMinion += Orbwalker_OnNonKillableMinion;

            Chat.Print("Azeryo'SINGED loaded");
        }
Exemplo n.º 4
0
        internal static void Game_OnTick()
        {
            if (pos.Any())
            {
                foreach (var item in pos.Where(kvp => kvp.Value < Game.Time - 3.5f).ToList())
                {
                    pos.Remove(item.Key);
                }
            }

            if (MySpells.isQ())
            {
                if (pos.ContainsKey(Singed.Player.ServerPosition))
                {
                    pos.Remove(Singed.Player.ServerPosition);
                }
                pos.Add(Singed.Player.ServerPosition, Game.Time);
            }
        }
Exemplo n.º 5
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            PoisonPath.Draw();
            foreach (var e in ObjectManager.Heroes.All)
            {
                if (Calculation.isFleeing(e))
                {
                    TextObj("Fleeing", e, SharpDX.Color.Red);
                }
                else
                {
                    TextObj("no", e, SharpDX.Color.Green);
                }
            }
            var target = TargetSelector.GetTarget(850);

            if (target == null)
            {
                return;
            }
            Drawing.DrawCircle(Player.Position, 400, SharpDX.Color.Gold);
            Drawing.DrawCircle(target.ServerPosition, 20, SharpDX.Color.Red, 20);
            Drawing.DrawCircle(MySpells.getELandingPos(target.ServerPosition), 20, SharpDX.Color.DarkViolet, 20);
        }
Exemplo n.º 6
0
        internal static void Harass(bool useQ, bool useW, bool useE, bool combo = false)
        {
            SharpDX.Vector3 landing;
            var             turret = Calculation.NearestAllyTurret();

            if (MySpells.E.IsReady() && useE)
            {
                foreach (var enemy in ObjectManager.Heroes.Enemies.Where(t => t.IsValidTarget(300)))
                {
                    landing = MySpells.getELandingPos(enemy);
                    if (PoisonPath.IsInPoison(landing) &&
                        landing.Distance(turret) < enemy.Distance(turret) &&
                        Singed.Player.HealthPercent + 40 >= enemy.HealthPercent)
                    {
                        if (!enemy.IsFacing(Singed.Player) && !enemy.IsValidTarget(MySpells.E.Range))
                        {
                            continue;
                        }
                        if (useW)
                        {
                            MySpells.W.Cast(landing);
                        }
                        MySpells.E.Cast(enemy);
                    }
                    else if (turret.Distance(landing) < TowerRange)
                    {
                        if (TowerRange - turret.Distance(landing) > 150 && enemy.Distance(Singed.Player) < 100)
                        {
                            if (useW)
                            {
                                MySpells.W.Cast((landing * 2 + Singed.Player.Position) / 3);
                            }
                            MySpells.E.Cast(enemy);
                        }
                        else
                        {
                            MySpells.E.Cast(enemy);
                        }
                    }
                }
            }
            if (MySpells.E.IsLearned && useQ)
            {
                var target = TargetSelector.GetTarget(850);
                if (target == null)
                {
                    return;
                }
                if (Singed.Player.Position.Distance(MySpells.getELandingPos(target.ServerPosition)) < 400 && target.IsFacing(Singed.Player))
                {
                    MySpells.EnableQ();
                }
                else if (!combo)
                {
                    MySpells.DisableQ();
                }

                if (target.Distance(Singed.Player) < 400 && MyMenu.GetValue("Harass (E engage).QMana") < Singed.Player.ManaPercent)
                {
                    MySpells.EnableQ();
                }
            }
        }