Esempio n. 1
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (!Enabled)
            {
                return;
            }

            foreach (
                var unit in ObjectManager.Get <Obj_AI_Hero>().Where(h => h.IsValid && h.IsHPBarRendered && h.IsEnemy))
            {
                var barPos = unit.HPBarPosition;
                var damage = DamageToUnit(unit);
                var percentHealthAfterDamage = Math.Max(0, unit.Health - damage) / unit.MaxHealth;

                var champOffset   = unit.ChampionName == "Jhin" ? new Vector2(-9, -16) : Vector2.Zero;
                var xPos          = barPos.X + XOffset + champOffset.X;
                var xPosDamage    = xPos + Width * percentHealthAfterDamage;
                var xPosCurrentHp = xPos + Width * unit.Health / unit.MaxHealth;
                var yPos          = barPos.Y + YOffset + champOffset.Y;

                if (Killable && damage > unit.Health)
                {
                    Text.X    = (int)(barPos.X + XOffset + champOffset.X);
                    Text.Y    = (int)barPos.Y + YOffset + 20;
                    Text.text = "KILLABLE";
                    Text.OnEndScene();
                }

                if (Fill)
                {
                    var differenceInHp = xPosCurrentHp - xPosDamage;
                    DamageBar.Color  = DamageColor.ToSharpDXColor();
                    DamageBar.X      = (int)(barPos.X + 9 + 107 * percentHealthAfterDamage + champOffset.X);
                    DamageBar.Y      = (int)yPos - 1;
                    DamageBar.Width  = (int)Math.Round(differenceInHp);
                    DamageBar.Height = Height + 3;
                    DamageBar.OnEndScene();
                }

                if (PredictedHealth)
                {
                    HealthLine.Start = new Vector2(xPosDamage, yPos - 1);
                    HealthLine.End   = new Vector2(xPosDamage, yPos + Height);
                    HealthLine.Width = 2;
                    HealthLine.Color = HealthColor.ToSharpDXColor();
                    HealthLine.OnEndScene();
                }
            }
        }
Esempio n. 2
0
        //[PermissionSet(SecurityAction.Assert, Unrestricted = true)]
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (!Enabled)
            {
                return;
            }

            foreach (
                var unit in ObjectManager.Get <AIHeroClient>().Where(h => h.IsValid && h.IsHPBarRendered && h.IsEnemy))
            {
                var barPos = unit.HPBarPosition;
                var damage = DamageToUnit(unit);
                var percentHealthAfterDamage = Math.Max(0, unit.Health - damage) / unit.MaxHealth;
                var yPos          = barPos.Y + YOffset;
                var xPosDamage    = barPos.X + XOffset + Width * percentHealthAfterDamage;
                var xPosCurrentHp = barPos.X + XOffset + Width * unit.Health / unit.MaxHealth;

                if (Killable && damage > unit.Health)
                {
                    Text.X    = (int)barPos.X + XOffset;
                    Text.Y    = (int)barPos.Y + YOffset + 20;
                    Text.text = "KILLABLE";
                    Text.OnEndScene();
                }

                if (Fill)
                {
                    var differenceInHp = xPosCurrentHp - xPosDamage;
                    DamageBar.Color  = DamageColor.ToBGRA();
                    DamageBar.X      = (int)(barPos.X + 9 + (107 * percentHealthAfterDamage));
                    DamageBar.Y      = (int)yPos - 5;
                    DamageBar.Width  = (int)Math.Round(differenceInHp);
                    DamageBar.Height = Height + 14;
                    DamageBar.OnEndScene();
                }

                if (PredictedHealth)
                {
                    HealthLine.Start = new Vector2(xPosDamage, yPos - 1);
                    HealthLine.End   = new Vector2(xPosDamage, yPos + Height);
                    HealthLine.Width = 2;
                    HealthLine.Color = HealthColor.ToBGRA();
                    HealthLine.OnEndScene();
                }
            }
        }