private void OnDraw(EventArgs args) { if (Config.Item("disableDraws").GetValue <bool>()) { return; } if (Config.Item("showWards").GetValue <bool>()) { var circleSize = 30; foreach (var obj in OKTWward.HiddenObjList) { if (obj.type == 1) { OktwCommon.DravTriangleOKTW(circleSize, obj.pos, System.Drawing.Color.Yellow); DrawFontTextMap(Tahoma13, "" + (int)(obj.endTime - Game.Time), obj.pos, SharpDX.Color.Yellow); } if (obj.type == 2) { OktwCommon.DravTriangleOKTW(circleSize, obj.pos, System.Drawing.Color.HotPink); DrawFontTextMap(Tahoma13, "VW", obj.pos, SharpDX.Color.HotPink); } if (obj.type == 3) { OktwCommon.DravTriangleOKTW(circleSize, obj.pos, System.Drawing.Color.Orange); DrawFontTextMap(Tahoma13, "! " + (int)(obj.endTime - Game.Time), obj.pos, SharpDX.Color.Orange); } } } if (Program.AIOmode != 2 && Config.Item("showNot").GetValue <bool>() && Config.Item("spellFarm") != null && spellFarmTimer + 1 > Game.Time) { if (Config.Item("spellFarm").GetValue <bool>()) { DrawFontTextScreen(TextBold, "SPELLS FARM ON", Drawing.Width * 0.5f, Drawing.Height * 0.4f, SharpDX.Color.GreenYellow); } else { DrawFontTextScreen(TextBold, "SPELLS FARM OFF", Drawing.Width * 0.5f, Drawing.Height * 0.4f, SharpDX.Color.OrangeRed); } } bool blink = true; if ((int)(Game.Time * 10) % 2 == 0) { blink = false; } var HpBar = Config.Item("HpBar").GetValue <bool>(); var championInfo = Config.Item("championInfo").GetValue <bool>(); var GankAlert = Config.Item("GankAlert").GetValue <bool>(); var ShowKDA = Config.Item("ShowKDA").GetValue <bool>(); var ShowClicks = Config.Item("ShowClicks").GetValue <bool>(); float posY = ((float)Config.Item("posY").GetValue <Slider>().Value * 0.01f) * Drawing.Height; float posX = ((float)Config.Item("posX").GetValue <Slider>().Value * 0.01f) * Drawing.Width; float positionDraw = 0; float positionGang = 500; int Width = 103; int Height = 8; int XOffset = 10; int YOffset = 20; var FillColor = System.Drawing.Color.GreenYellow; var Color = System.Drawing.Color.Azure; float offset = 0; foreach (var enemy in Program.Enemies) { if (Config.Item("SS").GetValue <bool>()) { offset += 0.15f; if (!enemy.IsVisible && !enemy.IsDead) { var ChampionInfoOne = OKTWtracker.ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId); if (ChampionInfoOne != null && enemy != Program.jungler) { if ((int)(Game.Time * 10) % 2 == 0 && Game.Time - ChampionInfoOne.LastVisableTime > 3 && Game.Time - ChampionInfoOne.LastVisableTime < 7) { DrawFontTextScreen(TextBold, "SS " + enemy.ChampionName + " " + (int)(Game.Time - ChampionInfoOne.LastVisableTime), Drawing.Width * offset, Drawing.Height * 0.02f, SharpDX.Color.OrangeRed); } if (Game.Time - ChampionInfoOne.LastVisableTime >= 7) { DrawFontTextScreen(TextBold, "SS " + enemy.ChampionName + " " + (int)(Game.Time - ChampionInfoOne.LastVisableTime), Drawing.Width * offset, Drawing.Height * 0.02f, SharpDX.Color.OrangeRed); } } } } if (enemy.IsValidTarget() && ShowClicks) { var lastWaypoint = enemy.GetWaypoints().Last().To3D(); if (lastWaypoint.IsValid()) { drawLine(enemy.Position, lastWaypoint, 1, System.Drawing.Color.Red); if (enemy.GetWaypoints().Count() > 1) { DrawFontTextMap(Tahoma13, enemy.ChampionName, lastWaypoint, SharpDX.Color.WhiteSmoke); } } } if (HpBar && enemy.IsHPBarRendered && Render.OnScreen(Drawing.WorldToScreen(enemy.Position))) { var barPos = enemy.HPBarPosition; float QdmgDraw = 0, WdmgDraw = 0, EdmgDraw = 0, RdmgDraw = 0, damage = 0;; if (Q.IsReady()) { damage = damage + Q.GetDamage(enemy); } if (W.IsReady() && Player.ChampionName != "Kalista") { damage = damage + W.GetDamage(enemy); } if (E.IsReady()) { damage = damage + E.GetDamage(enemy); } if (R.IsReady()) { damage = damage + R.GetDamage(enemy); } if (Q.IsReady()) { QdmgDraw = (Q.GetDamage(enemy) / damage); } if (W.IsReady() && Player.ChampionName != "Kalista") { WdmgDraw = (W.GetDamage(enemy) / damage); } if (E.IsReady()) { EdmgDraw = (E.GetDamage(enemy) / damage); } if (R.IsReady()) { RdmgDraw = (R.GetDamage(enemy) / damage); } var percentHealthAfterDamage = Math.Max(0, enemy.Health - damage) / enemy.MaxHealth; var yPos = barPos.Y + YOffset; var xPosDamage = barPos.X + XOffset + Width * percentHealthAfterDamage; var xPosCurrentHp = barPos.X + XOffset + Width * enemy.Health / enemy.MaxHealth; float differenceInHP = xPosCurrentHp - xPosDamage; var pos1 = barPos.X + XOffset + (107 * percentHealthAfterDamage); for (int i = 0; i < differenceInHP; i++) { if (Q.IsReady() && i < QdmgDraw * differenceInHP) { Drawing.DrawLine(pos1 + i, yPos, pos1 + i, yPos + Height, 1, System.Drawing.Color.Cyan); } else if (W.IsReady() && i < (QdmgDraw + WdmgDraw) * differenceInHP) { Drawing.DrawLine(pos1 + i, yPos, pos1 + i, yPos + Height, 1, System.Drawing.Color.Orange); } else if (E.IsReady() && i < (QdmgDraw + WdmgDraw + EdmgDraw) * differenceInHP) { Drawing.DrawLine(pos1 + i, yPos, pos1 + i, yPos + Height, 1, System.Drawing.Color.Yellow); } else if (R.IsReady() && i < (QdmgDraw + WdmgDraw + EdmgDraw + RdmgDraw) * differenceInHP) { Drawing.DrawLine(pos1 + i, yPos, pos1 + i, yPos + Height, 1, System.Drawing.Color.YellowGreen); } } } var kolor = System.Drawing.Color.GreenYellow; if (enemy.IsDead) { kolor = System.Drawing.Color.Gray; } else if (!enemy.IsVisible) { kolor = System.Drawing.Color.OrangeRed; } var kolorHP = System.Drawing.Color.GreenYellow; if (enemy.IsDead) { kolorHP = System.Drawing.Color.GreenYellow; } else if ((int)enemy.HealthPercent < 30) { kolorHP = System.Drawing.Color.Red; } else if ((int)enemy.HealthPercent < 60) { kolorHP = System.Drawing.Color.Orange; } if (championInfo) { positionDraw += 15; DrawFontTextScreen(Tahoma13, "" + enemy.Level, posX - 25, posY + positionDraw, SharpDX.Color.White); DrawFontTextScreen(Tahoma13, enemy.ChampionName, posX, posY + positionDraw, SharpDX.Color.White); if (true) { var ChampionInfoOne = Core.OKTWtracker.ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId); if (Game.Time - ChampionInfoOne.FinishRecallTime < 4) { DrawFontTextScreen(Tahoma13, "FINISH", posX - 90, posY + positionDraw, SharpDX.Color.GreenYellow); } else if (ChampionInfoOne.StartRecallTime <= ChampionInfoOne.AbortRecallTime && Game.Time - ChampionInfoOne.AbortRecallTime < 4) { DrawFontTextScreen(Tahoma13, "ABORT", posX - 90, posY + positionDraw, SharpDX.Color.Yellow); } else if (Game.Time - ChampionInfoOne.StartRecallTime < 8) { int recallPercent = (int)(((Game.Time - ChampionInfoOne.StartRecallTime) / 8) * 100); float recallX1 = posX - 90; float recallY1 = posY + positionDraw + 3; float recallX2 = (recallX1 + ((int)recallPercent / 2)) + 1; float recallY2 = posY + positionDraw + 3; Drawing.DrawLine(recallX1, recallY1, recallX1 + 50, recallY2, 8, System.Drawing.Color.Red); Drawing.DrawLine(recallX1, recallY1, recallX2, recallY2, 8, System.Drawing.Color.White); } } if (ShowKDA) { var fSlot = enemy.Spellbook.Spells[4]; if (fSlot.Name != "summonerflash") { fSlot = enemy.Spellbook.Spells[5]; } if (fSlot.Name == "summonerflash") { var fT = fSlot.CooldownExpires - Game.Time; if (fT < 0) { DrawFontTextScreen(Tahoma13, "F rdy", posX + 110, posY + positionDraw, SharpDX.Color.GreenYellow); } else { DrawFontTextScreen(Tahoma13, "F " + (int)fT, posX + 110, posY + positionDraw, SharpDX.Color.Yellow); } } if (enemy.Level > 5) { var rSlot = enemy.Spellbook.Spells[3]; var t = rSlot.CooldownExpires - Game.Time; if (t < 0) { DrawFontTextScreen(Tahoma13, "R rdy", posX + 145, posY + positionDraw, SharpDX.Color.GreenYellow); } else { DrawFontTextScreen(Tahoma13, "R " + (int)t, posX + 145, posY + positionDraw, SharpDX.Color.Yellow); } } else { DrawFontTextScreen(Tahoma13, "R ", posX + 145, posY + positionDraw, SharpDX.Color.Yellow); } } //Drawing.DrawText(posX - 70, posY + positionDraw, kolor, enemy.Level + " lvl"); } var Distance = Player.Distance(enemy.Position); if (GankAlert && !enemy.IsDead && Distance > 1200) { var wts = Drawing.WorldToScreen(ObjectManager.Player.Position.Extend(enemy.Position, positionGang)); wts[0] = wts[0]; wts[1] = wts[1] + 15; if ((int)enemy.HealthPercent > 0) { Drawing.DrawLine(wts[0], wts[1], (wts[0] + ((int)enemy.HealthPercent) / 2) + 1, wts[1], 8, kolorHP); } if ((int)enemy.HealthPercent < 100) { Drawing.DrawLine((wts[0] + ((int)enemy.HealthPercent) / 2), wts[1], wts[0] + 50, wts[1], 8, System.Drawing.Color.White); } if (Distance > 3500 && enemy.IsVisible) { DrawFontTextMap(Tahoma13, enemy.ChampionName, Player.Position.Extend(enemy.Position, positionGang), SharpDX.Color.White); } else if (!enemy.IsVisible) { var ChampionInfoOne = Core.OKTWtracker.ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId); if (ChampionInfoOne != null) { if (Game.Time - ChampionInfoOne.LastVisableTime > 3 && Game.Time - ChampionInfoOne.LastVisableTime < 7) { if (blink) { DrawFontTextMap(Tahoma13, "SS " + enemy.ChampionName + " " + (int)(Game.Time - ChampionInfoOne.LastVisableTime), Player.Position.Extend(enemy.Position, positionGang), SharpDX.Color.Yellow); } } else { DrawFontTextMap(Tahoma13, "SS " + enemy.ChampionName + " " + (int)(Game.Time - ChampionInfoOne.LastVisableTime), Player.Position.Extend(enemy.Position, positionGang), SharpDX.Color.Yellow); } } else { DrawFontTextMap(Tahoma13, "SS " + enemy.ChampionName, Player.Position.Extend(enemy.Position, positionGang), SharpDX.Color.Yellow); } } else if (blink) { DrawFontTextMap(Tahoma13B, enemy.ChampionName, Player.Position.Extend(enemy.Position, positionGang), SharpDX.Color.OrangeRed); } if (Distance < 3500 && enemy.IsVisible && !Render.OnScreen(Drawing.WorldToScreen(Player.Position.Extend(enemy.Position, Distance + 500)))) { drawLine(Player.Position.Extend(enemy.Position, 100), Player.Position.Extend(enemy.Position, positionGang - 100), (int)((3500 - Distance) / 300), System.Drawing.Color.OrangeRed); } else if (Distance < 3500 && !enemy.IsVisible && !Render.OnScreen(Drawing.WorldToScreen(Player.Position.Extend(enemy.Position, Distance + 500)))) { var need = Core.OKTWtracker.ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId); if (need != null && Game.Time - need.LastVisableTime < 5) { drawLine(Player.Position.Extend(enemy.Position, 100), Player.Position.Extend(enemy.Position, positionGang - 100), (int)((3500 - Distance) / 300), System.Drawing.Color.Gray); } } } positionGang = positionGang + 100; } if (Program.AIOmode != 2) { DrawOrbwalkerRange(); DrawOrbwalkerTarget(); } else { Drawing.DrawText(Drawing.Width * 0.2f, Drawing.Height * 1f, System.Drawing.Color.Cyan, "OKTW AIO only utility mode ON"); } }