private static void Drawing_OnDraw(EventArgs args) { WallQ.Drawing_OnDraw(); if (DrawMenu["drawStacks"].Cast <CheckBox>().CurrentValue&& Events.AAedTarget != null) { var color = new [] { Color.White, Color.Aqua }[Events.AaStacks - 1]; new Circle() { Color = color, Radius = 200 }.Draw(Events.AAedTarget.Position); } if (DrawMenu["drawERange"].Cast <CheckBox>().CurrentValue) { new Circle() { Color = Color.White, Radius = E.Range }.Draw(_Player.Position); } if (DrawMenu["condemnVisualiser"].Cast <CheckBox>().CurrentValue) { var t = TargetSelector.GetTarget(E.Range + Q.Range, DamageType.Physical); if (t.IsValidTarget()) { var color = Color.Red; for (var i = 1; i < 8; i++) { var targetBehind = t.Position + Vector3.Normalize(t.ServerPosition - ObjectManager.Player.Position) * i * 50; if (!targetBehind.IsWall()) { color = Color.Aqua; } else { color = Color.Red; } } var tt = t.Position + Vector3.Normalize(t.ServerPosition - ObjectManager.Player.Position) * 8 * 50; var startpos = t.Position; var endpos = tt; var endpos1 = tt + (startpos - endpos).To2D().Normalized().Rotated(45 * (float)Math.PI / 180).To3D() * t.BoundingRadius; var endpos2 = tt + (startpos - endpos).To2D().Normalized().Rotated(-45 * (float)Math.PI / 180).To3D() * t.BoundingRadius; var width = 2; var x = new Geometry.Polygon.Line(startpos, endpos); { x.Draw(color, width); } var y = new Geometry.Polygon.Line(endpos, endpos1); { y.Draw(color, width); } var z = new Geometry.Polygon.Line(endpos, endpos2); { z.Draw(color, width); } } } }