Пример #1
0
        public override void OnLoad()
        {
            try
            {
                MenuIndex.Drawings drawings = new MenuIndex.Drawings();

                var HealthbarEnabled = drawings.DrawDamageIndicator;
                var PercentEnabled   = drawings.DrawDamageIndicatorPercentage;

                // Apply needed field delegate for damage calculation
                DamageToUnit     = Utility.Damage.GetComboDamage;
                DrawingColor     = System.Drawing.Color.Green;
                HealthbarEnabled = true; //TODO:: Check

                // Register event handlers
                Drawing.OnEndScene += delegate
                {
                    if (HealthbarEnabled || PercentEnabled)
                    {
                        foreach (var unit in EntityManager.Heroes.Enemies.Where(u => u.IsValidTarget() && u.IsHPBarRendered))
                        {
                            // Get damage to unit
                            var damage = DamageToUnit(unit);

                            // Continue on 0 damage
                            if (damage <= 0)
                            {
                                continue;
                            }

                            if (HealthbarEnabled)
                            {
                                // Get remaining HP after damage applied in percent and the current percent of health
                                var damagePercentage = ((unit.TotalShieldHealth() - damage) > 0 ? (unit.TotalShieldHealth() - damage) : 0) /
                                                       (unit.MaxHealth + unit.AllShield + unit.AttackShield + unit.MagicShield);
                                var currentHealthPercentage = unit.TotalShieldHealth() / (unit.MaxHealth + unit.AllShield + unit.AttackShield + unit.MagicShield);

                                // Calculate start and end point of the bar indicator
                                var startPoint = new Vector2((int)(unit.HPBarPosition.X + BarOffset.X + damagePercentage * BarWidth), (int)(unit.HPBarPosition.Y + BarOffset.Y) - 5);
                                var endPoint   = new Vector2((int)(unit.HPBarPosition.X + BarOffset.X + currentHealthPercentage * BarWidth) + 1, (int)(unit.HPBarPosition.Y + BarOffset.Y) - 5);

                                // Draw the line
                                Drawing.DrawLine(startPoint, endPoint, LineThickness, DrawingColor);
                            }

                            if (PercentEnabled)
                            {
                                // Get damage in percent and draw next to the health bar
                                Drawing.DrawText(unit.HPBarPosition, System.Drawing.Color.MediumVioletRed, string.Concat(Math.Ceiling((damage / unit.TotalShieldHealth()) * 100), "%"), 10);
                            }
                        }
                    }
                };
            }
            catch
            {
                Chat.Print("BuddyAIO:: An error has occured!", System.Drawing.Color.Red);
                Console.WriteLine("Exception caught - Code[KATARINA.DAMAGEINDICATOR.ONLOAD]");
            }
        }
Пример #2
0
        public override void OnLoad()
        {
            try
            {
                MenuIndex.Drawings drawings = new MenuIndex.Drawings();
                if (!drawings.DrawPredictedQ)
                {
                    return;
                }
                Drawing.OnDraw += delegate
                {
                    var cursorpos = Game.CursorPos;
                    var obj       = ObjectManager.Get <Obj_AI_Base>().Where(o => o.IsInRange(cursorpos, 400));

                    Drawing.DrawLine(obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(1).Position.WorldToScreen(), obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(2).Position.WorldToScreen(), 1, Color.White);
                    Drawing.DrawLine(obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(2).Position.WorldToScreen(), obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(3).Position.WorldToScreen(), 1, Color.White);
                    Drawing.DrawLine(obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(3).Position.WorldToScreen(), obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(4).Position.WorldToScreen(), 1, Color.White);
                };
            }
            catch
            {
                Chat.Print("BuddyAIO:: An error has occured!", System.Drawing.Color.Red);
                Console.WriteLine("Exception caught - Code[KATARINA.DRAWPREDICTEDQ.ONLOAD]");
            }
        }
Пример #3
0
        public override void OnLoad()
        {
            var flashslot  = GetFlashSpellSlot();
            var igniteslot = GetIgniteSpellSlot();

            try
            {
                if (flashslot != SpellSlot.Unknown && Player.CanUseSpell(flashslot) == SpellState.Ready)
                {
                    HasFlash = true;
                }
                if (igniteslot != SpellSlot.Unknown && Player.CanUseSpell(igniteslot) == SpellState.Ready)
                {
                    HasIgnite = true;
                }
            }
            catch
            {
                Chat.Print("BuddyAIO:: An error has occured!", System.Drawing.Color.Red);
                Console.WriteLine("Exception caught - Code[KATARINA.DRAWSPELLS.ONLOAD.HASCHECK]");
            }

            MenuIndex.Drawings drawings = new MenuIndex.Drawings();

            var flashrange  = 425;
            var igniterange = 600;

            Drawing.OnDraw += delegate
            {
                try
                {
                    #region Q
                    if (drawings.DrawQ)
                    {
                        if (Spells.Q.IsReady())
                        {
                            new Circle()
                            {
                                BorderWidth = 2, Color = Color.Green, Radius = Spells.Q.Range
                            }
                        }
                        .Draw(Player.Instance.Position);
                        if (Spells.Q.IsOnCooldown)
                        {
                            new Circle()
                            {
                                BorderWidth = 2, Color = Color.Orange, Radius = Spells.Q.Range
                            }
                        }
Пример #4
0
        public override void OnLoad()
        {
            try
            {
                MenuIndex.Drawings drawings = new MenuIndex.Drawings();
                if (!drawings.DrawPredictedQ)
                    return;
                Drawing.OnDraw += delegate
            {
                var cursorpos = Game.CursorPos;
                var obj = ObjectManager.Get<Obj_AI_Base>().Where(o => o.IsInRange(cursorpos, 400));

                Drawing.DrawLine(obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(1).Position.WorldToScreen(), obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(2).Position.WorldToScreen(), 1, Color.White);
                Drawing.DrawLine(obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(2).Position.WorldToScreen(), obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(3).Position.WorldToScreen(), 1, Color.White);
                Drawing.DrawLine(obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(3).Position.WorldToScreen(), obj.OrderBy(o => o.Distance(cursorpos)).ElementAtOrDefault(4).Position.WorldToScreen(), 1, Color.White);
            };
            }
            catch
            {
                Chat.Print("BuddyAIO:: An error has occured!", System.Drawing.Color.Red);
                Console.WriteLine("Exception caught - Code[KATARINA.DRAWPREDICTEDQ.ONLOAD]");
                
            }
        }
Пример #5
0
        public override void OnLoad()
        {
            try
            {
                MenuIndex.Drawings drawings = new MenuIndex.Drawings();

                var HealthbarEnabled = drawings.DrawDamageIndicator;
                var PercentEnabled = drawings.DrawDamageIndicatorPercentage;

                // Apply needed field delegate for damage calculation
                DamageToUnit = Utility.Damage.GetComboDamage;
                DrawingColor = System.Drawing.Color.Green;
                HealthbarEnabled = true; //TODO:: Check

                // Register event handlers
                Drawing.OnEndScene += delegate
                {
                    if (HealthbarEnabled || PercentEnabled)
                    {
                        foreach (var unit in EntityManager.Heroes.Enemies.Where(u => u.IsValidTarget() && u.IsHPBarRendered))
                        {
                        // Get damage to unit
                        var damage = DamageToUnit(unit);

                        // Continue on 0 damage
                        if (damage <= 0)
                            {
                                continue;
                            }

                            if (HealthbarEnabled)
                            {
                            // Get remaining HP after damage applied in percent and the current percent of health
                            var damagePercentage = ((unit.TotalShieldHealth() - damage) > 0 ? (unit.TotalShieldHealth() - damage) : 0) /
                                                       (unit.MaxHealth + unit.AllShield + unit.AttackShield + unit.MagicShield);
                                var currentHealthPercentage = unit.TotalShieldHealth() / (unit.MaxHealth + unit.AllShield + unit.AttackShield + unit.MagicShield);

                            // Calculate start and end point of the bar indicator
                            var startPoint = new Vector2((int)(unit.HPBarPosition.X + BarOffset.X + damagePercentage * BarWidth), (int)(unit.HPBarPosition.Y + BarOffset.Y) - 5);
                                var endPoint = new Vector2((int)(unit.HPBarPosition.X + BarOffset.X + currentHealthPercentage * BarWidth) + 1, (int)(unit.HPBarPosition.Y + BarOffset.Y) - 5);

                            // Draw the line
                            Drawing.DrawLine(startPoint, endPoint, LineThickness, DrawingColor);
                            }

                            if (PercentEnabled)
                            {
                            // Get damage in percent and draw next to the health bar
                            Drawing.DrawText(unit.HPBarPosition, System.Drawing.Color.MediumVioletRed, string.Concat(Math.Ceiling((damage / unit.TotalShieldHealth()) * 100), "%"), 10);
                            }
                        }
                    }
                };
            }
            catch
            {
                Chat.Print("BuddyAIO:: An error has occured!", System.Drawing.Color.Red);
                Console.WriteLine("Exception caught - Code[KATARINA.DAMAGEINDICATOR.ONLOAD]");
                
            }
        }
Пример #6
0
        public override void OnLoad()
        {
            var flashslot = GetFlashSpellSlot();
            var igniteslot = GetIgniteSpellSlot();

            try
            {
                if (flashslot != SpellSlot.Unknown && Player.CanUseSpell(flashslot) == SpellState.Ready)
                    HasFlash = true;
                if (igniteslot != SpellSlot.Unknown && Player.CanUseSpell(igniteslot) == SpellState.Ready)
                    HasIgnite = true;
            }
            catch
            {
                Chat.Print("BuddyAIO:: An error has occured!", System.Drawing.Color.Red);
                Console.WriteLine("Exception caught - Code[KATARINA.DRAWSPELLS.ONLOAD.HASCHECK]");
                
            }

            MenuIndex.Drawings drawings = new MenuIndex.Drawings();

            var flashrange = 425;
            var igniterange = 600;

            Drawing.OnDraw += delegate
            {
                try
                {
                    #region Q
                    if (drawings.DrawQ)
                    {
                        if (Spells.Q.IsReady())
                            new Circle() { BorderWidth = 2, Color = Color.Green, Radius = Spells.Q.Range }.Draw(Player.Instance.Position);
                        if (Spells.Q.IsOnCooldown)
                            new Circle() { BorderWidth = 2, Color = Color.Orange, Radius = Spells.Q.Range }.Draw(Player.Instance.Position);
                        if (!Spells.Q.IsLearned)
                            new Circle() { BorderWidth = 2, Color = Color.Red, Radius = Spells.Q.Range }.Draw(Player.Instance.Position);
                    }
                    #endregion
                }
                catch
                {
                    Chat.Print("BuddyAIO:: An error has occured!", System.Drawing.Color.Red);
                    Console.WriteLine("Exception caught - Code[KATARINA.DRAWSPELLS.ONLOAD.ONDRAW.QDRAW]");
                    
                }

                #region W
                if (drawings.DrawW)
                {
                    if (Spells.W.IsReady())
                        new Circle() { BorderWidth = 2, Color = Color.Green, Radius = Spells.W.Range }.Draw(Player.Instance.Position);
                    if (Spells.W.IsOnCooldown)
                        new Circle() { BorderWidth = 2, Color = Color.Orange, Radius = Spells.W.Range }.Draw(Player.Instance.Position);
                    if (!Spells.W.IsLearned)
                        new Circle() { BorderWidth = 2, Color = Color.Red, Radius = Spells.W.Range }.Draw(Player.Instance.Position);
                }
                #endregion

                #region E
                if (drawings.DrawE)
                {
                    if (Spells.E.IsReady())
                        new Circle() { BorderWidth = 2, Color = Color.Green, Radius = Spells.E.Range }.Draw(Player.Instance.Position);
                    if (Spells.E.IsOnCooldown)
                        new Circle() { BorderWidth = 2, Color = Color.Orange, Radius = Spells.E.Range }.Draw(Player.Instance.Position);
                    if (!Spells.E.IsLearned)
                        new Circle() { BorderWidth = 2, Color = Color.Red, Radius = Spells.E.Range }.Draw(Player.Instance.Position);
                }
                #endregion

                #region R
                if (drawings.DrawR)
                {
                    if (!Spells.R.IsOnCooldown)
                        new Circle() { BorderWidth = 2, Color = Color.Green, Radius = Spells.R.Range }.Draw(Player.Instance.Position);
                    if (Spells.R.IsOnCooldown)
                        new Circle() { BorderWidth = 2, Color = Color.Orange, Radius = Spells.R.Range }.Draw(Player.Instance.Position);
                    if (!Spells.R.IsLearned)
                        new Circle() { BorderWidth = 2, Color = Color.Red, Radius = Spells.R.Range }.Draw(Player.Instance.Position);
                }
                #endregion

                #region Summoners
                #region Flash
                if (drawings.DrawFlash)
                {
                    if (Player.CanUseSpell(flashslot) == SpellState.Ready)
                        new Circle() { BorderWidth = 1, Color = Color.GreenYellow, Radius = flashrange }.Draw(Player.Instance.Position);
                    if (Player.CanUseSpell(flashslot) == SpellState.Cooldown)
                        new Circle() { BorderWidth = 1, Color = Color.DarkRed, Radius = flashrange }.Draw(Player.Instance.Position);
                }
                #endregion

                #region Ignite
                if (drawings.DrawIgnite)
                {
                    if (Player.CanUseSpell(igniteslot) == SpellState.Ready)
                        new Circle() { BorderWidth = 1, Color = Color.GreenYellow, Radius = igniterange }.Draw(Player.Instance.Position);
                    if (Player.CanUseSpell(igniteslot) == SpellState.Cooldown)
                        new Circle() { BorderWidth = 1, Color = Color.DarkRed, Radius = igniterange }.Draw(Player.Instance.Position);
                }
                #endregion

                #endregion
            };
        }