public static void OnRender() { if (Global.Player.IsDead) { return; } if (MenuConfig.Drawings["Pred"].Enabled && SpellManager.Q.Ready) { foreach (var shadow in ShadowManager.Shadows.Where(ShadowManager.IsShadow)) { if (shadow.Distance(Global.Player) > 1300) { continue; } if ((Global.Player.GetSpell(SpellSlot.W).ToggleState != 0 || Global.Player.GetSpell(SpellSlot.R).ToggleState != 0) && Render.WorldToScreen(Global.Player.ServerPosition, out var playerVector2) && Render.WorldToScreen(shadow.ServerPosition, out var shadowVector2)) { Render.Line(playerVector2, shadowVector2, 3, true, Color.White); } var enemy = GameObjects.Enemy.FirstOrDefault(x => x.Distance(shadow) <= SpellManager.Q.Range); if (enemy == null || !enemy.IsValidTarget()) { return; } var pred = SpellManager.Q.GetPrediction(enemy, shadow.ServerPosition, shadow.ServerPosition); var extended = shadow.ServerPosition.Extend(pred.CastPosition, SpellManager.Q.Range); var rect = new Geometry.Rectangle(shadow.ServerPosition.To2D(), extended.To2D(), SpellManager.Q.Width); rect.Draw(Color.Crimson); Render.WorldToScreen(shadow.ServerPosition, out var shadow2D); Render.WorldToScreen(extended, out var extended2D); Render.Line(shadow2D, extended2D, Color.MediumVioletRed); } } if (MenuConfig.Drawings["Range"].Enabled) { Render.Circle(Global.Player.Position, Global.Orbwalker.Mode == OrbwalkingMode.Mixed ? SpellManager.WCastRange + Global.Player.AttackRange : SpellManager.R.Range, (uint)MenuConfig.Drawings["Segments"].Value, Color.Crimson); } if (SpellManager.Q.Ready && MenuConfig.Drawings["Q"].Enabled) { Render.Circle(Global.Player.Position, SpellManager.Q.Range, (uint)MenuConfig.Drawings["Segments"].Value, Color.Cyan); } }
/// <summary> /// Initializes the menus. /// </summary> public void Drawings() { /// <summary> /// Loads the Q drawing. /// </summary> if (SpellClass.Q.Ready && MenuClass.Drawings["q"].As <MenuBool>().Enabled) { Render.Circle(UtilityClass.Player.Position, SpellClass.Q.Range, 30, Color.LightGreen); } /// <summary> /// Loads the E drawings. /// </summary> if (SpellClass.E.Ready) { /// <summary> /// Loads the E range drawing. /// </summary> if (MenuClass.Drawings["e"].As <MenuBool>().Enabled) { Render.Circle(UtilityClass.Player.Position, SpellClass.E.Range, 30, Color.Cyan); } /// <summary> /// Loads the E rectangles drawing. /// </summary> if (MenuClass.Drawings["epred"].As <MenuBool>().Enabled) { var playerPos = UtilityClass.Player.Position; const int CondemnDistancePush = 420; foreach (var target in Extensions.GetBestEnemyHeroesTargetsInRange(SpellClass.E.Range)) { var targetPos = (Vector2)target.Position; var targetRadius = target.BoundingRadius; var posImpact = (Vector2)target.Position.Extend(playerPos, -CondemnDistancePush); var posRectangle = new Geometry.Rectangle(targetPos, posImpact, targetRadius); var predImpact = (Vector2)SpellClass.E.GetPrediction(target).CastPosition.Extend(playerPos, -CondemnDistancePush); var predRectangle = new Geometry.Rectangle(targetPos, predImpact, targetRadius); posRectangle.Draw(Bools.AnyWallInBetween(targetPos, posImpact) ? Color.Blue : Color.OrangeRed); predRectangle.Draw(Bools.AnyWallInBetween(targetPos, predImpact) ? Color.Blue : Color.OrangeRed); } } } }
private void DrawModelDisplayStageObjects() { if (_mesh != null) { GL.Color3(Color.White); for (var i = 0; i < _mesh.Triangles.Length; i += 3) { var v1 = _mesh.Vertices[_mesh.Triangles[i]]; var v2 = _mesh.Vertices[_mesh.Triangles[i + 1]]; var v3 = _mesh.Vertices[_mesh.Triangles[i + 2]]; Helpers.Helpers.DrawTriangle(v1, v2, v3); } } if (_scannedObject == null) { return; } GL.Color3(Color.Orange); _scannedObject.Draw(); }
public static void OnRender() { if (Global.Player.IsDead) { return; } if (MenuConfig.Drawings["Pred"].Enabled) { foreach (var shadow in ShadowManager.Shadows.Where(ShadowManager.IsShadow)) { var enemy = GameObjects.Enemy.FirstOrDefault(x => x.Distance(shadow) <= SpellManager.Q.Range); if (enemy == null) { continue; } var pred = SpellManager.Q.GetPrediction(enemy, shadow.ServerPosition, shadow.ServerPosition); var extended = shadow.ServerPosition.Extend(pred.CastPosition, SpellManager.Q.Range); var rect = new Geometry.Rectangle(shadow.ServerPosition.To2D(), extended.To2D(), SpellManager.Q.Width); rect.Draw(Color.Crimson); Render.WorldToScreen(shadow.ServerPosition, out var shadow2D); Render.WorldToScreen(extended, out var extended2D); Render.Line(shadow2D, extended2D, Color.MediumVioletRed); } } if (MenuConfig.Drawings["Range"].Enabled) { Render.Circle(Global.Player.Position, SpellManager.WCastRange + (Global.Orbwalker.Mode == OrbwalkingMode.Combo ? SpellManager.R.Range : Global.Player.AttackRange), (uint)MenuConfig.Drawings["Segments"].Value, Color.Crimson); } if (SpellManager.Q.Ready && MenuConfig.Drawings["Q"].Enabled) { Render.Circle(Global.Player.Position, SpellManager.Q.Range, (uint)MenuConfig.Drawings["Segments"].Value, Color.Cyan); } }
/// <summary> /// Initializes the menus. /// </summary> public void Drawings() { /// <summary> /// Loads the Q drawing. /// </summary> if (SpellClass.Q.Ready && MenuClass.Drawings["q"].As <MenuBool>().Enabled) { Render.Circle(UtilityClass.Player.Position, SpellClass.Q.Range, 30, Color.LightGreen); } /// <summary> /// Loads the Feather linking drawing. /// </summary> if (!UtilityClass.Player.SpellBook.GetSpell(SpellSlot.E).State.HasFlag(SpellState.Cooldown) && MenuClass.Drawings["feathers"].As <MenuBool>().Enabled) { foreach (var feather in Feathers) { var hitbox = new Geometry.Rectangle((Vector2)UtilityClass.Player.Position, (Vector2)feather.Value, SpellClass.Q.Width); hitbox.Draw( GameObjects.EnemyHeroes.Any(h => hitbox.IsInside((Vector2)h.Position)) ? Color.Blue : Color.OrangeRed); } } /// <summary> /// Loads the R drawing. /// </summary> if (SpellClass.R.Ready && MenuClass.Drawings["r"].As <MenuBool>().Enabled) { Render.Circle(UtilityClass.Player.Position, SpellClass.R.Range, 30, Color.Red); } }
/// <summary> /// Initializes the menus. /// </summary> public void Drawings() { /// <summary> /// Loads the Q range drawing. /// </summary> if (SpellClass.Q.Ready && MenuClass.Drawings["q"].As <MenuBool>().Enabled) { Render.Circle(UtilityClass.Player.Position, SpellClass.Q.Range, 30, Color.LightGreen); } /// <summary> /// Loads the Q path drawing. /// </summary> if (MenuClass.Drawings["qpath"].As <MenuBool>().Enabled) { foreach (var axe in Axes) { var axeRectangle = new Geometry.Rectangle((Vector2)UtilityClass.Player.Position, (Vector2)axe.Value, 1); Render.Circle(axe.Value, 30f, 30, Color.Yellow); axeRectangle.Draw(Color.Yellow); } } }