Example #1
0
        private static void GetJumpingObjects()
        {
            ;
            var t = ObjectManager.Get <Obj_AI_Base>()
                    .OrderBy(obj => obj.LSDistance(ObjectManager.Player.ServerPosition))
                    .FirstOrDefault(
                obj =>
                !obj.IsAlly && !obj.IsMe && !obj.IsMinion && (obj is Obj_AI_Turret) &&
                Game.CursorPos.LSDistance(obj.ServerPosition) <= Q.Range * 8);

            if (t == null)
            {
                return;
            }
            var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.Position.LSTo2D().LSExtend(t.Position.LSTo2D(), t.LSDistance(ObjectManager.Player.Position)), (E.Range / 2) + E.Range / 3).ToPolygon();

            toPolygon.Draw(System.Drawing.Color.Red, 1);

            var startPos = ObjectManager.Player.Position + Vector3.Normalize(ObjectManager.Player.Position - t.ServerPosition) * (Q.Range);

            for (var i = 1; i < (ObjectManager.Player.LSDistance(t.Position) / Q.Range) + 1; i++)
            {
                var targetBehind = startPos + Vector3.Normalize(t.ServerPosition - startPos) * i * Q.Range;


                var existsMinion = JumpingObjects[i];

                var minions =
                    ObjectManager.Get <Obj_AI_Minion>()
                    .Where(m => m.IsAlly && !m.IsDead)
                    .Where(m => toPolygon.IsInside(m) && m.LSDistance(targetBehind) < Q.Range && m.NetworkId != existsMinion
                           //&& m.Health < Q.GetDamage(m)
                           )
                    .OrderByDescending(m => m.LSDistance(ObjectManager.Player.Position))
                    .FirstOrDefault();

                if (minions != null)
                {
                    var j = JumpingObjects.Find(x => x.Key == minions.NetworkId);
                    if (minions.NetworkId != j.Key && i != j.Value)
                    {
                        JumpingObjects.Remove(existsMinion);
                    }

                    JumpingObjects.Add(minions.NetworkId, i);

                    Render.Circle.DrawCircle(minions.Position, minions.BoundingRadius, System.Drawing.Color.Red);
                }
                Render.Circle.DrawCircle(targetBehind, Q.Range, System.Drawing.Color.Yellow);
            }
        }
Example #2
0
        private static void GetJumpingObjects()
        {
            ;
            var t = ObjectManager.Get<Obj_AI_Base>()
                     .OrderBy(obj => obj.LSDistance(ObjectManager.Player.ServerPosition))
                     .FirstOrDefault(
                         obj =>
                             !obj.IsAlly && !obj.IsMe && !obj.IsMinion && (obj is Obj_AI_Turret) &&
                              Game.CursorPos.LSDistance(obj.ServerPosition) <= Q.Range * 8);

            if (t == null)
            {
                return;
            }
            var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.Position.LSTo2D().LSExtend(t.Position.LSTo2D(), t.LSDistance(ObjectManager.Player.Position)), (E.Range / 2) + E.Range / 3).ToPolygon();
            toPolygon.Draw(System.Drawing.Color.Red, 1);

            var startPos = ObjectManager.Player.Position + Vector3.Normalize(ObjectManager.Player.Position - t.ServerPosition) * (Q.Range);

            for (var i = 1; i < (ObjectManager.Player.LSDistance(t.Position) / Q.Range) + 1; i++)
            {
                var targetBehind = startPos + Vector3.Normalize(t.ServerPosition - startPos) * i * Q.Range;

                var existsMinion = JumpingObjects[i];

                var minions =
                    ObjectManager.Get<Obj_AI_Minion>()
                        .Where(m => m.IsAlly && !m.IsDead)
                        .Where(m => toPolygon.IsInside(m) && m.LSDistance(targetBehind) < Q.Range && m.NetworkId != existsMinion
                        //&& m.Health < Q.GetDamage(m)
                        )
                        .OrderByDescending(m => m.LSDistance(ObjectManager.Player.Position))
                        .FirstOrDefault();

                if (minions != null)
                {
                    var j = JumpingObjects.Find(x => x.Key == minions.NetworkId);
                    if (minions.NetworkId != j.Key && i != j.Value)
                    {
                        JumpingObjects.Remove(existsMinion);
                    }

                    JumpingObjects.Add(minions.NetworkId, i);

                    Render.Circle.DrawCircle(minions.Position, minions.BoundingRadius, System.Drawing.Color.Red);
                }
                Render.Circle.DrawCircle(targetBehind, Q.Range, System.Drawing.Color.Yellow);
            }
        }
Example #3
0
        private static void DrawingOnOnDraw(EventArgs args)
        {
            if (ObjectManager.Player.IsDead)
            {
                return;
            }

            if (getCheckBoxItem(MenuLocal, "Jump.Draw.Status"))
            {
                var enabled = getKeyBindItem(MenuLocal, "Jump.Enabled");
                var stat = getBoxItem(MenuLocal, "Jump.Mode");
                CommonHelper.DrawText(CommonHelper.TextStatus, "Q Jump: " + stat, (int)ObjectManager.Player.HPBarPosition.X + 145, (int)ObjectManager.Player.HPBarPosition.Y + 5, enabled && stat != 0 ? Color.White : Color.Gray);
            }

            if (!getCheckBoxItem(MenuLocal, "Jump.Draw.Arrows"))
            {
                return;
            }
            if (JumpTarget.LSIsValidTarget(Q.Range))
            {
                return;
            }

            if (JumpTarget.LSIsValidTarget() && ObjectManager.Player.LSDistance(JumpTarget) > Q.Range)
            {

                var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.Position.LSTo2D().LSExtend(JumpTarget.Position.LSTo2D(), Q.Range * 3), 250).ToPolygon();
                toPolygon.Draw(System.Drawing.Color.Red, 1);
                var otherEnemyObjects =
                    ObjectManager.Get<Obj_AI_Base>()
                        .Where(m => m.IsEnemy && !m.IsDead && !m.IsZombie && m.LSIsValidTarget(Q.Range) && m.NetworkId != JumpTarget.NetworkId)
                        .Where(m => toPolygon.IsInside(m))
                        .Where(m => ObjectManager.Player.LSDistance(JumpTarget) > ObjectManager.Player.LSDistance(m))
                        .Where(m => m.Health < Q.GetDamage(m))
                        .Where(m => !m.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 165))
                        .OrderBy(m => m.LSDistance(JumpTarget.Position));

                JumpObject = otherEnemyObjects.FirstOrDefault(m => m.LSDistance(JumpTarget.Position) <= Q.Range * 2 && m.LSDistance(JumpTarget.Position) > Orbwalking.GetRealAutoAttackRange(null));

                if (JumpObject != null)
                {
                    if (JumpObject.LSIsValidTarget(Q.Range))// && JumpTarget.Health <= ComboDamage(t, R.Instance.Ammo - 1 < 0 ? 0: R.Instance.Ammo - 1) && Utils.UltiChargeCount >= 2)
                    {
                        var startpos = ObjectManager.Player.Position;
                        var endpos = JumpObject.Position;
                        var endpos1 = JumpObject.Position + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2;
                        var endpos2 = JumpObject.Position + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(-30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2;

                        var width = 1;

                        var x = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x.Draw(System.Drawing.Color.Blue, width);
                        var y = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y.Draw(System.Drawing.Color.Blue, width + 1);
                        var z = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z.Draw(System.Drawing.Color.Blue, width + 1);

                        Vector3[] objectCenter = new[] { ObjectManager.Player.Position, JumpObject.Position };
                        var aX = Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(objectCenter).X, Common.CommonHelper.CenterOfVectors(objectCenter).Y, Common.CommonHelper.CenterOfVectors(objectCenter).Z));
                        Drawing.DrawText(aX.X - 15, aX.Y - 15, System.Drawing.Color.White, "1st Jump");

                        /*---------------------------------------------------------------------------------------------------------*/
                        var xStartPos = JumpObject.Position;
                        var xEndPos = JumpTarget.Position;
                        var xEndPos1 = JumpTarget.Position + (xStartPos - xEndPos).LSTo2D().LSNormalized().LSRotated(30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2;
                        var xEndPost2 = JumpTarget.Position + (xStartPos - xEndPos).LSTo2D().LSNormalized().LSRotated(-30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2;

                        var xWidth = 1;

                        var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(xStartPos, xEndPos); x1.Draw(System.Drawing.Color.IndianRed, xWidth);

                        var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(xEndPos, xEndPos1); y1.Draw(System.Drawing.Color.IndianRed, xWidth + 1);
                        var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(xEndPos, xEndPost2); z1.Draw(System.Drawing.Color.IndianRed, xWidth + 1);

                        Vector3[] enemyCenter = new[] { JumpObject.Position, JumpTarget.Position };
                        var bX =
                            Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(enemyCenter).X, Common.CommonHelper.CenterOfVectors(enemyCenter).Y,
                                Common.CommonHelper.CenterOfVectors(enemyCenter).Z));
                    }
                }
            }
        }
Example #4
0
        private static void DrawingOnOnDraw(EventArgs args)
        {
            if (ObjectManager.Player.IsDead)
            {
                return;
            }

            if (MenuLocal.Item("Jump.Draw.Status").GetValue <bool>())
            {
                var enabled = MenuLocal.Item("Jump.Enabled").GetValue <KeyBind>().Active;
                var stat    = MenuLocal.Item("Jump.Mode").GetValue <StringList>().SelectedValue;
                CommonHelper.DrawText(CommonHelper.TextStatus, "Q Jump: " + stat, (int)ObjectManager.Player.HPBarPosition.X + 145, (int)ObjectManager.Player.HPBarPosition.Y + 5, enabled && stat != "Off" ? Color.White : Color.Gray);
            }

            if (!MenuLocal.Item("Jump.Draw.Arrows").GetValue <bool>())
            {
                return;
            }
            if (JumpTarget.IsValidTarget(Q.Range))
            {
                return;
            }

            if (JumpTarget.IsValidTarget() && ObjectManager.Player.Distance(JumpTarget) > Q.Range)
            {
                var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.To2D(), ObjectManager.Player.Position.To2D().Extend(JumpTarget.Position.To2D(), Q.Range * 3), 250).ToPolygon();
                toPolygon.Draw(System.Drawing.Color.Red, 1);
                var otherEnemyObjects =
                    ObjectManager.Get <Obj_AI_Base>()
                    .Where(m => m.IsEnemy && !m.IsDead && !m.IsZombie && m.IsValidTarget(Q.Range) && m.NetworkId != JumpTarget.NetworkId)
                    .Where(m => toPolygon.IsInside(m))
                    .Where(m => ObjectManager.Player.Distance(JumpTarget) > ObjectManager.Player.Distance(m))
                    .Where(m => m.Health < Q.GetDamage(m))
                    .Where(m => !m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 165))
                    .OrderBy(m => m.Distance(JumpTarget.Position));

                JumpObject = otherEnemyObjects.FirstOrDefault(m => m.Distance(JumpTarget.Position) <= Q.Range * 2 && m.Distance(JumpTarget.Position) > Orbwalking.GetRealAutoAttackRange(null));

                if (JumpObject != null)
                {
                    if (JumpObject.IsValidTarget(Q.Range))// && JumpTarget.Health <= ComboDamage(t, R.Instance.Ammo - 1 < 0 ? 0: R.Instance.Ammo - 1) && Utils.UltiChargeCount >= 2)
                    {
                        var startpos = ObjectManager.Player.Position;
                        var endpos   = JumpObject.Position;
                        var endpos1  = JumpObject.Position + (startpos - endpos).To2D().Normalized().Rotated(30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2;
                        var endpos2  = JumpObject.Position + (startpos - endpos).To2D().Normalized().Rotated(-30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2;

                        var width = 1;

                        var x = new Geometry.Polygon.Line(startpos, endpos); x.Draw(System.Drawing.Color.Blue, width);
                        var y = new Geometry.Polygon.Line(endpos, endpos1); y.Draw(System.Drawing.Color.Blue, width + 1);
                        var z = new Geometry.Polygon.Line(endpos, endpos2); z.Draw(System.Drawing.Color.Blue, width + 1);

                        Vector3[] objectCenter = new[] { ObjectManager.Player.Position, JumpObject.Position };
                        var       aX           = Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(objectCenter).X, Common.CommonHelper.CenterOfVectors(objectCenter).Y, Common.CommonHelper.CenterOfVectors(objectCenter).Z));
                        Drawing.DrawText(aX.X - 15, aX.Y - 15, System.Drawing.Color.White, "1st Jump");

                        /*---------------------------------------------------------------------------------------------------------*/
                        var xStartPos = JumpObject.Position;
                        var xEndPos   = JumpTarget.Position;
                        var xEndPos1  = JumpTarget.Position + (xStartPos - xEndPos).To2D().Normalized().Rotated(30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2;
                        var xEndPost2 = JumpTarget.Position + (xStartPos - xEndPos).To2D().Normalized().Rotated(-30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2;

                        var xWidth = 1;

                        var x1 = new Geometry.Polygon.Line(xStartPos, xEndPos); x1.Draw(System.Drawing.Color.IndianRed, xWidth);

                        var y1 = new Geometry.Polygon.Line(xEndPos, xEndPos1); y1.Draw(System.Drawing.Color.IndianRed, xWidth + 1);
                        var z1 = new Geometry.Polygon.Line(xEndPos, xEndPost2); z1.Draw(System.Drawing.Color.IndianRed, xWidth + 1);

                        Vector3[] enemyCenter = new[] { JumpObject.Position, JumpTarget.Position };
                        var       bX          =
                            Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(enemyCenter).X, Common.CommonHelper.CenterOfVectors(enemyCenter).Y,
                                                              Common.CommonHelper.CenterOfVectors(enemyCenter).Z));
                    }
                }
            }
        }