Example #1
0
        private static void Drawing_OnDraw_PassiveTimes(EventArgs args)
        {
            var passiveBuffs =
                (from b in ObjectManager.Player.Buffs
                 join b1 in CommonBuffManager.PassiveBuffs on b.DisplayName equals b1.BuffName
                 select new { b, b1 }).Distinct();

            foreach (var buffName in passiveBuffs)
            {
                //Chat.Print(buffName.b1.BuffName);
                for (int i = 0; i < passiveBuffs.Count(); i++)
                {
                    if (buffName.b.EndTime >= Game.Time)
                    {
                        CommonGeometry.DrawBox(new Vector2(ObjectManager.Player.HPBarPosition.X + 10, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 32), 130, 6, Color.FromArgb(100, 255, 200, 37), 1, Color.Black);

                        var buffTime = buffName.b.EndTime - buffName.b.StartTime;
                        CommonGeometry.DrawBox(new Vector2(ObjectManager.Player.HPBarPosition.X + 11, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 33), (130 / buffTime) * (buffName.b.EndTime - Game.Time), 4, buffName.b1.Color, 1, buffName.b1.Color);

                        TimeSpan timeSpan = TimeSpan.FromSeconds(buffName.b.EndTime - Game.Time);
                        var      timer    = $"{timeSpan.Minutes:D2}:{timeSpan.Seconds:D2}";
                        CommonGeometry.DrawText(CommonGeometry.TextPassive, timer, ObjectManager.Player.HPBarPosition.X + 142, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 29, SharpDX.Color.Wheat);
                    }
                }
            }

            foreach (var hero in HeroManager.AllHeroes)
            {
                var jungleBuffs = (from b in hero.Buffs join b1 in CommonBuffManager.JungleBuffs on b.DisplayName equals b1.BuffName select new { b, b1 }).Distinct();

                foreach (var buffName in jungleBuffs.ToList())
                {
                    var nDiff1  = buffName.b.EndTime - buffName.b.StartTime < 10 ? (Game.Time - buffName.b.StartTime) * 10 : Game.Time - buffName.b.StartTime;
                    var nDiff2  = buffName.b.EndTime - buffName.b.StartTime < 10 ? (buffName.b.EndTime - buffName.b.StartTime) * 10 : buffName.b.EndTime - buffName.b.StartTime;
                    var circle1 = new CommonGeometry.Circle2(new Vector2(hero.Position.X + 3, hero.Position.Y - 3), 140 + (buffName.b1.Number * 20), nDiff1, nDiff2).ToPolygon();
                    circle1.Draw(Color.Black, 3);

                    var circle = new CommonGeometry.Circle2(hero.Position.To2D(), 140 + (buffName.b1.Number * 20), nDiff1, nDiff2).ToPolygon(); circle.Draw(buffName.b1.Color, 3);
                }
            }
        }
Example #2
0
        private static void Drawing_OnEndScene(EventArgs args)
        {
            if (Drawing.Direct3DDevice == null || Drawing.Direct3DDevice.IsDisposed)
            {
                return;
            }

            if (MenuLocal.Item("Lantern.Draw.Enable").GetValue <bool>())
            {
                return;
            }

            foreach (var ability in objectDrawings.Where(d => d.Object.IsValid && d.Position.IsOnScreen() && d.EndTime > Game.Time))
            {
                var position = Drawing.WorldToScreen(ability.Position);

                if (MenuLocal.Item("Lantern.Draw.Timer").GetValue <bool>())
                {
                    CommonGeometry.DrawBox(new Vector2(position.X - 50, position.Y - 50), 100, 8, Color.Transparent, 1, Color.Black);
                    var buffTime = ability.EndTime - Game.Time;

                    int n = (buffTime > 0)
                        ? (int)(100 * (1f - (Math.Abs(ability.EndTime - ability.StartTime) > float.Epsilon ? buffTime / (ability.EndTime - ability.StartTime) : 1f)))
                        : 100;

                    CommonGeometry.DrawBox(new Vector2(position.X - 50 + 1, position.Y - 50 + 1), n, 6, ability.Color, 1,
                                           Color.Transparent);

                    CommonGeometry.DrawText(CommonGeometry.TextPassive, (ability.EndTime - Game.Time).ToString("0.0"),
                                            position.X - 50 + 105, +position.Y - 52, SharpDX.Color.AntiqueWhite);
                }

                if (MenuLocal.Item("Lantern.Draw.Circle").GetValue <bool>())
                {
                    var circle =
                        new CommonGeometry.Circle2(ability.Position.To2D(), 450,
                                                   Game.Time * 300 - ability.StartTime * 300, ability.EndTime * 300 - ability.StartTime * 300)
                        .ToPolygon();

                    circle.Draw(Color.Red, 2);
                }

                if (MenuLocal.Item("Lantern.Draw.Direction").GetValue <bool>())
                {
                    var color = Color.DarkRed;
                    var width = 4;

                    var startpos = ObjectManager.Player.Position;
                    var endpos   = ability.Position;
                    if (startpos.Distance(endpos) > 100)
                    {
                        var endpos1 = ability.Position + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75;
                        var endpos2 = ability.Position + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75;

                        var x1 = new Geometry.Polygon.Line(startpos, endpos);
                        x1.Draw(color, width - 2);

                        var y1 = new Geometry.Polygon.Line(endpos, endpos1);
                        y1.Draw(color, width - 2);

                        var z1 = new Geometry.Polygon.Line(endpos, endpos2);
                        z1.Draw(color, width - 2);
                    }
                }
            }
        }
Example #3
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (getCheckBoxItem(drawMenu, "Show.JungleBuffs"))
            {
                foreach (var hero in HeroManager.AllHeroes)
                {
                    var jungleBuffs =
                        (from b in hero.Buffs
                         join b1 in CommonBuffManager.JungleBuffs on b.DisplayName equals b1.BuffName
                         select new { b, b1 }).Distinct();

                    foreach (var buffName in jungleBuffs.ToList())
                    {
                        var circle1 =
                            new CommonGeometry.Circle2(new Vector2(hero.Position.X + 3, hero.Position.Y - 3),
                                                       140 + (buffName.b1.Number * 20),
                                                       Game.Time - buffName.b.StartTime, buffName.b.EndTime - buffName.b.StartTime).ToPolygon();
                        circle1.Draw(Color.Black, 3);

                        var circle =
                            new CommonGeometry.Circle2(hero.Position.To2D(), 140 + (buffName.b1.Number * 20),
                                                       Game.Time - buffName.b.StartTime, buffName.b.EndTime - buffName.b.StartTime).ToPolygon();
                        circle.Draw(buffName.b1.Color, 3);
                    }
                }
            }

            if (getCheckBoxItem(comboMenu, "ComboShowInfo"))
            {
                var xComboStr = "Combo Mode: ";
                System.Drawing.Color color = Color.FromArgb(100, 255, 200, 37);

                var xCombo = getBoxItem(comboMenu, "ComboMode");
                switch (xCombo)
                {
                case 0:
                    xComboStr += "Auto";
                    color      = Color.FromArgb(100, 255, 200, 37);
                    break;

                case 1:     //Q-R
                    xComboStr += "Q - R";
                    color      = Color.FromArgb(100, 4, 0, 255);
                    break;

                case 2:     //W-R
                    xComboStr += "W - R";
                    color      = Color.FromArgb(100, 255, 0, 0);
                    break;

                case 3:     //E-R
                    xComboStr += "E - R";
                    color      = Color.FromArgb(100, 0, 255, 8);
                    break;
                }

                Common.CommonGeometry.DrawText(CommonGeometry.Text, xComboStr, ObjectManager.Player.HPBarPosition.X + 150, ObjectManager.Player.HPBarPosition.Y + 75, SharpDX.Color.Wheat);
            }

            //if (Config.Item("HarassShowInfo"))
            //{
            //    var xHarassInfo = "";
            //    if (Config.Item("HarassUseTQ").GetValue<KeyBind>().Active)
            //        xHarassInfo += "Q - ";

            //    if (Config.Item("HarassUseTW").GetValue<KeyBind>().Active)
            //        xHarassInfo += "W - ";

            //    if (Config.Item("HarassUseTE").GetValue<KeyBind>().Active)
            //        xHarassInfo += "E - ";
            //    if (xHarassInfo.Length < 1)
            //    {
            //        xHarassInfo = "Harass Toggle: OFF   ";
            //    }
            //    else
            //    {
            //        xHarassInfo = "Harass Toggle: " + xHarassInfo;
            //    }
            //    xHarassInfo = xHarassInfo.Substring(0, xHarassInfo.Length - 3);
            //    //Drawing.DrawText(Drawing.Width * 0.44f, Drawing.Height * 0.82f, Color.Wheat, xHarassInfo);

            //    //Common.CommonGeometry.DrawBox(new Vector2((int)ObjectManager.Player.HPBarPosition.X + 145, (int)ObjectManager.Player.HPBarPosition.Y + 15), 125, 18, Color.FromArgb(100, 255, 200, 37), 1, Color.Black);
            //    //Common.CommonGeometry.DrawText(CommonGeometry.Text, xHarassInfo, ObjectManager.Player.HPBarPosition.X + 150, ObjectManager.Player.HPBarPosition.Y + 17, SharpDX.Color.Wheat);

            //}

            foreach (var spell in SpellList)
            {
                var menuItem = getCheckBoxItem(drawMenu, spell.Slot + "Range");
                if (menuItem && spell.Level > 0)
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, spell.Range, Color.Honeydew,
                                             spell.IsReady() ? 5 : 1);
                }
            }

            var wqRange = getCheckBoxItem(drawMenu, "WQRange");

            if (wqRange && Q.IsReady() && W.IsReady())
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range + Q.Range, Color.Honeydew, Q.IsReady() && W.IsReady() ? 5 : 1);
            }

            var activeERange = getCheckBoxItem(drawMenu, "ActiveERange");

            if (activeERange && EnemyHaveSoulShackle != null)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, 1100f, Color.Honeydew);
            }

            /*
             * var wObjPosition = Config.Item("WObjPosition");
             * var wObjTimeTick = Config.Item("WObjTimeTick");
             *
             * foreach (var existingSlide in ExistingSlide)
             * {
             *  if (wObjPosition.Active)
             *      Render.Circle.DrawCircle(existingSlide.Position, 110f, wObjPosition.Color);
             *
             *  if (!wObjTimeTick) continue;
             *  if (!(existingSlide.ExpireTime > Game.Time)) continue;
             *
             *  var time = TimeSpan.FromSeconds(existingSlide.ExpireTime - Game.Time);
             *  var pos = Drawing.WorldToScreen(existingSlide.Position);
             *  var display = string.Format("{0}:{1:D2}", time.Minutes, time.Seconds);
             *  Drawing.DrawText(pos.X - display.Length * 3, pos.Y - 65, Color.GreenYellow, display);
             * }
             *
             * foreach (
             *  var enemy in
             *      ObjectManager.Get<AIHeroClient>()
             *          .Where(
             *              enemy =>
             *                  enemy.IsEnemy && !enemy.IsDead && enemy.IsVisible &&
             *                  ObjectManager.Player.LSDistance(enemy) < E.Range + 1400 &&
             *                  !xEnemyHaveSoulShackle(enemy)))
             * {
             *  Render.Circle.DrawCircle(enemy.Position, 75f, Color.GreenYellow);
             * }
             */
        }