private void OnDrawingDraw(EventArgs args) { if (!Utils.ShouldDraw() || _ePercent == null) { return; } var ePercentCircle = _ePercent.GetValue <Circle>(); if (ePercentCircle.Active && E.IsReady()) { var sharpColor = new SharpDX.Color( ePercentCircle.Color.R, ePercentCircle.Color.G, ePercentCircle.Color.B); var maxRange = E.Range * 1.5f; var targets = GameObjects.EnemyHeroes.Cast <Obj_AI_Base>().Concat(GameObjects.Jungle); foreach (var enemy in targets.Where( e => e.IsValidTarget(maxRange) && e.Position.IsOnScreen() && (e is Obj_AI_Hero || Utils.IsBigJungle(e)))) { var damage = Rend.GetDamage(enemy); if (damage > 0) { var percent = (int)(damage / enemy.Health * 100); if (percent > 0) { var screen = Drawing.WorldToScreen(enemy.Position); var position = enemy.Team == GameObjectTeam.Neutral ? new Vector2(screen.X, screen.Y + 30) : new Vector2(enemy.HPBarPosition.X + 73, enemy.HPBarPosition.Y - 28); _font.DrawTextCentered(percent + " %", position, sharpColor); } } } } }