/// <summary> /// Loads the drawings. /// </summary> public static void Initialize() { Drawing.OnDraw += delegate { if (!Vars.E.IsReady() || !Vars.Menu["drawings"]["edmg"].GetValue <MenuBool>().Value) { return; } ObjectManager.Get <Obj_AI_Base>() .Where( h => h.IsValidTarget() && Kalista.IsPerfectRendTarget(h) && (h is Obj_AI_Hero || Vars.JungleList.Contains(h.CharData.BaseSkinName))) .ToList() .ForEach( unit => { var heroUnit = (Obj_AI_Hero)unit; /// <summary> /// Defines what HPBar Offsets it should display. /// </summary> var mobOffset = Drawings.JungleHpBarOffsetList.FirstOrDefault( x => x.BaseSkinName.Equals(unit.CharData.BaseSkinName)); var width = Vars.JungleList.Contains(unit.CharData.BaseSkinName) ? mobOffset?.Width ?? Drawings.SWidth : Drawings.SWidth; var height = Vars.JungleList.Contains(unit.CharData.BaseSkinName) ? mobOffset?.Height ?? Drawings.SHeight : Drawings.SHeight; var xOffset = Vars.JungleList.Contains(unit.CharData.BaseSkinName) ? mobOffset?.XOffset ?? Drawings.SxOffset(heroUnit) : Drawings.SxOffset(heroUnit); var yOffset = Vars.JungleList.Contains(unit.CharData.BaseSkinName) ? mobOffset?.YOffset ?? Drawings.SyOffset(heroUnit) : Drawings.SyOffset(heroUnit); var barPos = unit.HPBarPosition; { barPos.X += xOffset; barPos.Y += yOffset; } var drawEndXPos = barPos.X + width * (unit.HealthPercent / 100); var drawStartXPos = barPos.X + (Vars.GetRealHealth(unit) > (float)GameObjects.Player.GetSpellDamage(unit, SpellSlot.E) + (float) GameObjects.Player.GetSpellDamage( unit, SpellSlot.E, DamageStage.Buff) ? width * ((Vars.GetRealHealth(unit) - ((float) GameObjects.Player.GetSpellDamage( unit, SpellSlot.E) + (float) GameObjects.Player.GetSpellDamage( unit, SpellSlot.E, DamageStage.Buff))) / unit.MaxHealth * 100 / 100) : 0); Drawing.DrawLine( drawStartXPos, barPos.Y, drawEndXPos, barPos.Y, height, Vars.GetRealHealth(unit) < (float)GameObjects.Player.GetSpellDamage(unit, SpellSlot.E) + (float)GameObjects.Player.GetSpellDamage(unit, SpellSlot.E, DamageStage.Buff) ? Color.Blue : Color.Orange); Drawing.DrawLine( drawStartXPos, barPos.Y, drawStartXPos, barPos.Y + height + 1, 1, Color.Lime); }); }; }