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]"); } }
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]"); } }
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 } }
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]"); } }
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 }; }