예제 #1
0
        private static void Q3Wall(Obj_AI_Base target)
        {
            if (target.Distance(Player) < Player.AttackRange || target.Distance(Player) > 650)
            {
                return;
            }

            var wallPoint = FleeLogic.GetFirstWallPoint(Player.Position, Player.Position.Extend(target.Position, 650));

            Player.GetPath(wallPoint);

            if (!Spells.E.IsReady() ||
                wallPoint.Distance(Player.Position) > Spells.E.Range ||
                !wallPoint.IsValid())
            {
                return;
            }

            Spells.E.Cast(wallPoint);

            if (Spells.R.IsReady() && Spells.R.Instance.Name == IsFirstR)
            {
                Spells.R.Cast();
            }

            LeagueSharp.Common.Utility.DelayAction.Add(190, () => Spells.Q.Cast(wallPoint));

            if (wallPoint.Distance(Player.Position) <= 100)
            {
                Spells.Q.Cast(wallPoint);
            }
        }
예제 #2
0
        public static void Flee()
        {
            if (!MenuConfig.FleeMouse)
            {
                return;
            }
            var IsWallDash = FleeLogic.IsWallDash(Player.ServerPosition, Champion.Pounce.Range);
            var end        = Player.ServerPosition.LSExtend(Game.CursorPos, Champion.Pounce.Range);
            var WallPoint  = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);


            if (IsWallDash && Champion.Pounce.IsReady())
            {
                EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, WallPoint);
            }
            if (IsWallDash && Champion.Pounce.IsReady() && WallPoint.Distance(Player.ServerPosition) <= 800)
            {
                if (WallPoint.Distance(Player.ServerPosition) <= 600)
                {
                    EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, WallPoint);
                    if (WallPoint.Distance(Player.ServerPosition) < 50 && Champion.Pounce.IsReady())
                    {
                        if (!CatForm())
                        {
                            Champion.Aspect.Cast();
                        }
                        Champion.Pounce.Cast(WallPoint);
                    }
                }
            }
            else
            {
                EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
            }
        }
예제 #3
0
        public static void Drawing_OnDraw(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }
            var heropos    = Drawing.WorldToScreen(ObjectManager.Player.Position);
            var IsWallDash = FleeLogic.IsWallDash(Player.ServerPosition, Champion.Pounce.Range);
            var end        = Player.ServerPosition.LSExtend(Game.CursorPos, Champion.Pounce.Range);
            var WallPoint  = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);

            if (MenuConfig.fleeDraw)
            {
                if (IsWallDash)
                {
                    if (WallPoint.LSDistance(Player.ServerPosition) <= 1200)
                    {
                        Render.Circle.DrawCircle(WallPoint, 60, System.Drawing.Color.White);
                    }
                }
            }
            if (MenuConfig.EngageDraw)
            {
                Render.Circle.DrawCircle(Player.Position, 1500,
                                         Champion.Javelin.IsReady() ? System.Drawing.Color.FromArgb(120, 0, 170, 255) : System.Drawing.Color.IndianRed);
            }
        }
예제 #4
0
파일: Flee.cs 프로젝트: Hahahamemes/Ports
        protected override void OnLoad(object sender, FeatureBaseEventArgs eventArgs)
        {
            Menu.AddItem(new MenuItem("FleeKey", "Flee Key").SetValue(new KeyBind('A', KeyBindType.Press)));

            Menu.AddItem(new MenuItem("FleeMinion", "Jump On Minions").SetValue(true));

            Menu.AddItem(new MenuItem("FleeVector", "Jump To Jungle Camps").SetValue(true));

            gnarState = new GnarState();

            fleeLogic = new FleeLogic();
        }
예제 #5
0
        //protected override void OnLoad(object sender, FeatureBaseEventArgs eventArgs)
        //{
        //    fleeLogic = new FleeLogic();
        //    base.OnLoad(sender, eventArgs);
        //}

        protected sealed override void OnLoad(object sender, FeatureBaseEventArgs eventArgs)
        {
            Menu.AddItem(
                new MenuItem(Name + "FleeKey", "Flee Key").SetValue(new KeyBind('A', KeyBindType.Press)));

            Menu.AddItem(new MenuItem(Name + "FleeMinion", "Flee To Minions").SetValue(true));

            Menu.AddItem(new MenuItem(Name + "FleeMob", "Flee To Mobs").SetValue(true));

            Menu.AddItem(
                new MenuItem(Name + "FleeVector", "Flee To Vector").SetValue(true)
                .SetTooltip("Flee's To Jungle Camps"));

            fleeLogic = new FleeLogic();
        }
예제 #6
0
        public static void WallDraw(EventArgs args)
        {
            var end        = Player.ServerPosition.LSExtend(Game.CursorPos, Spells.Q.Range);
            var IsWallDash = FleeLogic.IsWallDash(end, Spells.Q.Range);

            var WallPoint = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);

            if (IsWallDash && MenuConfig.FleeSpot)
            {
                if (WallPoint.LSDistance(Player.ServerPosition) <= 600)
                {
                    Render.Circle.DrawCircle(WallPoint, 60, System.Drawing.Color.White);
                    Render.Circle.DrawCircle(end, 60, System.Drawing.Color.Green);
                }
            }
        }
예제 #7
0
        public static void WallDraw(EventArgs args)
        {
            if (!MenuConfig.FleeSpot)
            {
                return;
            }

            var end        = Player.ServerPosition.Extend(Game.CursorPos, 350);
            var isWallDash = FleeLogic.IsWallDash(end, 350);

            var wallPoint = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);

            if (!isWallDash || wallPoint.Distance(Player.ServerPosition) > 600)
            {
                return;
            }

            Render.Circle.DrawCircle(wallPoint, 60, Color.DarkSlateGray);
            Render.Circle.DrawCircle(end, 60, Color.White);
        }
예제 #8
0
        public static void Flee()
        {
            if (MenuConfig.WallFlee && Player.CountEnemiesInRange(1200) == 0)
            {
                var end        = Player.ServerPosition.Extend(Game.CursorPos, 350).To3D();
                var isWallDash = FleeLogic.IsWallDash(end, 350);

                var eend      = Player.ServerPosition.Extend(Game.CursorPos, 350).To3D();
                var wallE     = FleeLogic.GetFirstWallPoint(Player.ServerPosition, eend);
                var wallPoint = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);

                Player.GetPath(wallPoint);

                if (Spells.Q.IsReady() && Qstack < 3)
                {
                    Spells.Q.Cast(Game.CursorPos);
                }

                if (Qstack != 3 || !isWallDash)
                {
                    return;
                }

                if (Spells.E.IsReady() && wallPoint.Distance(Player.ServerPosition) <= Spells.E.Range)
                {
                    Spells.E.Cast(wallE);
                    EloBuddy.SDK.Core.DelayAction(() => Spells.Q.Cast(wallPoint), 190);
                }
                else if (wallPoint.Distance(Player.ServerPosition) <= 65)
                {
                    Spells.Q.Cast(wallPoint);
                }
                else
                {
                    EloBuddy.SDK.Orbwalker.MoveTo(wallPoint);
                }
            }
            else
            {
                var enemy = EntityManager.Enemies.Where(target => BackgroundData.InRange(target) && Spells.W.IsReady());

                var x = Player.Position.Extend(Game.CursorPos, 300).To3D();

                var targets = enemy as AIHeroClient[] ?? enemy.ToArray();

                if (Spells.W.IsReady() && targets.Any())
                {
                    foreach (var target in targets)
                    {
                        if (BackgroundData.InRange(target))
                        {
                            Spells.W.Cast();
                        }
                    }
                }

                if (Spells.Q.IsReady())// && !Player.IsDashing())
                {
                    Spells.Q.Cast(Game.CursorPos);
                }

                if (MenuConfig.FleeYomuu)
                {
                    Usables.CastYoumoo();
                }

                if (Spells.E.IsReady())// && !Player.IsDashing())
                {
                    Spells.E.Cast(x);
                }
            }
        }
예제 #9
0
        public static void Combo()
        {
            var target = TargetSelector.GetTarget(Player.AttackRange + 310, TargetSelector.DamageType.Physical);

            if (target == null || !target.IsValidTarget(Player.AttackRange + 310))
            {
                return;
            }

            if (Spells.R.IsReady() && Spells.R.Instance.Name == IsSecondR)
            {
                var pred = Spells.R.GetPrediction(target, true, collisionable: new[] { CollisionableObjects.YasuoWall });

                if (pred.Hitchance < HitChance.High || target.HasBuff(BackgroundData.InvulnerableList.ToString()) || Player.IsWindingUp)
                {
                    return;
                }

                if ((!MenuConfig.OverKillCheck && Qstack > 1) ||
                    MenuConfig.OverKillCheck &&
                    (target.HealthPercent <= 40 &&
                     !Spells.Q.IsReady() && Qstack == 1 ||
                     target.Distance(Player) >= Player.AttackRange + 310))
                {
                    Spells.R.Cast(pred.CastPosition);
                }
            }

            #region Q3 Wall

            if (Qstack == 3 &&
                target.Distance(Player) >= Player.AttackRange &&
                target.Distance(Player) <= 650 &&
                MenuConfig.Q3Wall &&
                Spells.E.IsReady())
            {
                var wallPoint = FleeLogic.GetFirstWallPoint(Player.Position, Player.Position.Extend(target.Position, 650));

                Player.GetPath(wallPoint);

                if (!Spells.E.IsReady() || wallPoint.Distance(Player.Position) > Spells.E.Range || !wallPoint.IsValid())
                {
                    return;
                }

                Spells.E.Cast(wallPoint);

                if (Spells.R.IsReady() && Spells.R.Instance.Name == IsFirstR)
                {
                    Spells.R.Cast();
                }

                Utility.DelayAction.Add(190, () => Spells.Q.Cast(wallPoint));

                if (wallPoint.Distance(Player.Position) <= 100)
                {
                    Spells.Q.Cast(wallPoint);
                }
            }
            #endregion

            if (Spells.E.IsReady())
            {
                Spells.E.Cast(target.Position);

                if (MenuConfig.AlwaysR && Spells.R.IsReady() && Spells.R.Instance.Name == IsFirstR)
                {
                    Spells.R.Cast();
                }
                else
                {
                    Utility.DelayAction.Add(10, Usables.CastHydra);
                }
            }

            if (!Spells.W.IsReady() || !BackgroundData.InRange(target))
            {
                return;
            }

            if (MenuConfig.Doublecast && Spells.Q.IsReady() && Qstack != 2)
            {
                BackgroundData.CastW(target);
                BackgroundData.DoubleCastQ(target);
            }
            else
            {
                BackgroundData.CastW(target);
            }
        }
예제 #10
0
        public static void Combo()
        {
            var targetAquireRange = Spells.R.IsReady() ? Player.AttackRange + 390 : Player.AttackRange + 370;
            var target            = TargetSelector.GetTarget(targetAquireRange, DamageType.Physical);

            //var target = TargetSelector.GetTarget(targetAquireRange, DamageType.Physical, Player.Position);

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

            if (Spells.R.IsReady() && Spells.R.Name == IsSecondR)
            {
                var pred = Spells.R.GetPrediction(target);                                                                                    //, true, collisionable: new[] { CollisionableObjects.YasuoWall });

                if (pred.HitChance != EloBuddy.SDK.Enumerations.HitChance.High || target.HasBuff(BackgroundData.InvulnerableList.ToString())) // || Player.IsWindingUp)
                {
                    //return;
                }
                else
                {
                    if ((!MenuConfig.OverKillCheck && Qstack > 1) || MenuConfig.OverKillCheck &&
                        (target.HealthPercent <= 40 &&
                         !Spells.Q.IsReady() && Qstack == 1 || target.Distance(Player) >= Player.AttackRange + 310))
                    {
                        Player.Spellbook.CastSpell(SpellSlot.R, pred.UnitPosition);
                    }
                }
            }

            #region Q3 Wall

            if (Qstack == 3 && target.Distance(Player) >= Player.AttackRange && target.Distance(Player) <= 650 && MenuConfig.Q3Wall && Spells.E.IsReady())
            {
                var wallPoint = FleeLogic.GetFirstWallPoint(Player.Position, Player.Position.Extend(target.Position, 650).To3D());//TODO: Fix this...

                Player.GetPath(wallPoint);

                if (!Spells.E.IsReady() || wallPoint.Distance(Player.Position) > Spells.E.Range || !wallPoint.IsValid())
                {
                    //return;
                }
                else
                {
                    Player.Spellbook.CastSpell(SpellSlot.E, wallPoint);

                    if (Spells.R.IsReady() && Spells.R.Name == IsFirstR)
                    {
                        Player.Spellbook.CastSpell(SpellSlot.R, target);
                    }

                    EloBuddy.SDK.Core.DelayAction(() => Player.Spellbook.CastSpell(SpellSlot.Q, wallPoint), 190);

                    if (wallPoint.Distance(Player.Position) <= 100)
                    {
                        Player.Spellbook.CastSpell(SpellSlot.Q, wallPoint);
                    }
                }
            }
            #endregion

            if (Spells.E.IsReady())
            {
                //Chat.Print("I casted E toward " + target.Name);
                Usables.CastYoumoo();

                if (MenuConfig.AlwaysR && Spells.R.IsReady() && !Spells.R.IsOnCooldown && Spells.R.Name == IsFirstR)
                {
                    Player.Spellbook.CastSpell(SpellSlot.R, target);
                }
                else
                {
                    Player.Spellbook.CastSpell(SpellSlot.E, target);
                    //if (Player.Distance(target) < 350)

                    EloBuddy.SDK.Core.DelayAction(Usables.CastHydra, 10);
                }
            }

            if (Spells.W.IsReady() && BackgroundData.InRange(target))
            {
                if (MenuConfig.Doublecast && Spells.Q.IsReady() && Qstack != 2)
                {
                    BackgroundData.CastW(target);
                    BackgroundData.DoubleCastQ(target);
                }
                else
                {
                    BackgroundData.CastW(target);
                }
            }
            //Added....
            if (Spells.Q.IsReady() && Spells.Q.IsInRange(target))
            {
                BackgroundData.CastQ(target);
                //Player.Spellbook.CastSpell(SpellSlot.Q, target);
            }
        }
예제 #11
0
        public static void Flee()
        {
            if (MenuConfig.WallFlee && ObjectManager.Player.CountEnemiesInRange(1500) == 0)
            {
                var end        = Player.ServerPosition.Extend(Game.CursorPos, 350);
                var isWallDash = FleeLogic.IsWallDash(end, 350);

                var eend      = Player.ServerPosition.Extend(Game.CursorPos, 350);
                var wallE     = FleeLogic.GetFirstWallPoint(Player.ServerPosition, eend);
                var wallPoint = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);

                Player.GetPath(wallPoint);

                if (Spells.Q.IsReady() && Qstack < 3)
                {
                    Spells.Q.Cast(Game.CursorPos);
                }

                if (Qstack != 3 || !isWallDash)
                {
                    return;
                }

                Player.IssueOrder(GameObjectOrder.MoveTo, wallPoint);

                if (Spells.E.IsReady() && wallPoint.Distance(Player.ServerPosition) <= Spells.E.Range)
                {
                    Spells.E.Cast(wallE);

                    Utility.DelayAction.Add(190, () => Spells.Q.Cast(wallPoint));
                }

                if (wallPoint.Distance(Player.ServerPosition) <= 65)
                {
                    Spells.Q.Cast(wallPoint);
                }
            }
            else
            {
                var enemy = HeroManager.Enemies.Where(target => BackgroundData.InRange(target) && Spells.W.IsReady());

                var x = Player.Position.Extend(Game.CursorPos, 300);

                var targets = enemy as Obj_AI_Hero[] ?? enemy.ToArray();

                if (Spells.W.IsReady() && targets.Any())
                {
                    foreach (var target in targets)
                    {
                        if (BackgroundData.InRange(target))
                        {
                            Spells.W.Cast();
                        }
                    }
                }

                if (Spells.Q.IsReady() && !Player.IsDashing())
                {
                    Spells.Q.Cast(Game.CursorPos);
                }

                if (MenuConfig.FleeYomuu)
                {
                    Usables.CastYoumoo();
                }

                if (Spells.E.IsReady() && !Player.IsDashing())
                {
                    Spells.E.Cast(x);
                }
            }
        }
예제 #12
0
파일: FleeMode.cs 프로젝트: Taazuma/EB-T
        public static void Flee()
        {
            if (MenuConfig.WallFlee && Player.CountEnemiesInRange(1200) == 0)
            {
                var end        = Player.ServerPosition.Extend(Game.CursorPos, 350).To3D();
                var isWallDash = FleeLogic.IsWallDash(end, 350);

                var eend      = Player.ServerPosition.Extend(Game.CursorPos, 350).To3D();
                var wallE     = FleeLogic.GetFirstWallPoint(Player.ServerPosition, eend);
                var wallPoint = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);

                Player.GetPath(wallPoint);

                if (Spells.Q.IsReady() && Qstack < 3)
                {
                    Spells.Q.Cast(Game.CursorPos);
                }

                if (Qstack != 3 || !isWallDash)
                {
                    return;
                }

                if (Spells.E.IsReady() && wallPoint.Distance(Player.ServerPosition) <= Spells.E.Range)
                {
                    Spells.E.Cast(wallE);
                    EloBuddy.SDK.Core.DelayAction(() => Spells.Q.Cast(wallPoint), 190);
                }
                else if (wallPoint.Distance(Player.ServerPosition) <= 65)
                {
                    Spells.Q.Cast(wallPoint);
                }
                else
                {
                    EloBuddy.SDK.Orbwalker.MoveTo(wallPoint);
                }
            }
            else
            {
                var enemy = TargetSelector.GetTarget(RivenSharp.Core.Spells.Q.Range, DamageType.Physical);

                if (enemy == null || enemy.IsInvulnerable || enemy.MagicImmune)
                {
                    return;
                }

                var x = Player.Position.Extend(Game.CursorPos, 300).To3D();

                if (Spells.W.IsReady() && enemy.IsValidTarget(200))
                {
                    if (BackgroundData.InRange(enemy))
                    {
                        Spells.W.Cast();
                    }
                }

                if (Spells.Q.IsReady())// && !Player.IsDashing())
                {
                    Spells.Q.Cast(Game.CursorPos);
                }

                if (MenuConfig.FleeYomuu)
                {
                    Usables.CastYoumoo();
                }

                if (Spells.E.IsReady())// && !Player.IsDashing())
                {
                    Spells.E.Cast(x);
                }
            }
        }
예제 #13
0
        public static void Draw(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            if (MenuConfig.QMinionDraw)
            {
                var minions = GameObjects.EnemyMinions.Where(m => m.IsValidTarget(Player.AttackRange + 350));

                foreach (var m in minions)
                {
                    if (m.Health <= Spells.Q.GetDamage(m))
                    {
                        Render.Circle.DrawCircle(m.Position, m.BoundingRadius, Color.LightSeaGreen);
                    }
                }
            }

            if (MenuConfig.DrawFlee)
            {
                var end        = Player.Position.Extend(Game.CursorPos, 200);
                var isWallDash = FleeLogic.IsWallDash(end, 200);

                var wallPoint = FleeLogic.GetFirstWallPoint(Player.ServerPosition, end);

                if (isWallDash && wallPoint.Distance(Player.ServerPosition) < 260)
                {
                    Render.Circle.DrawCircle(wallPoint, 60, Color.LightGreen);
                    Render.Circle.DrawCircle(end, 60, Color.White);
                }
                else
                {
                    Render.Circle.DrawCircle(wallPoint, 60, Color.Red);
                }
            }

            if (MenuConfig.BurstKeyBind.Active)
            {
                var textPos = Drawing.WorldToScreen(Player.Position);

                Drawing.DrawText(textPos.X - 27, textPos.Y + 15, Spells.Flash.IsReady()
                    ? Color.LightCyan
                    : Color.DarkSlateGray,
                                 "Flash Burst");
            }

            if (!MenuConfig.DrawCombo)
            {
                return;
            }

            if (Spells.Flash.IsReady() && MenuConfig.BurstKeyBind.Active)
            {
                if (Spells.R.IsReady() || MenuConfig.FnoR)
                {
                    Render.Circle.DrawCircle(Player.Position, 425 + Spells.W.Range - 35, Color.Yellow, 4, true);
                }
            }

            if (Spells.E.IsReady())
            {
                Render.Circle.DrawCircle(Player.Position, 310 + Player.AttackRange,
                                         Spells.Q.IsReady()
                        ? Color.LightBlue
                        : Color.DarkSlateGray);
            }
            else
            {
                Render.Circle.DrawCircle(Player.Position, Player.GetRealAutoAttackRange(Player),
                                         Spells.Q.IsReady()
                        ? Color.LightBlue
                        : Color.DarkSlateGray);
            }
        }