From 4d41cf1a781e020e68424d5281393c40ca148cae Mon Sep 17 00:00:00 2001 From: Riot Date: Wed, 24 May 2023 09:51:10 +0200 Subject: [PATCH] fix: No drawing of positional overlay if player has Right Eye, True North, or target has no positionals available. --- RotationSolver/UI/OverlayWindow.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/RotationSolver/UI/OverlayWindow.cs b/RotationSolver/UI/OverlayWindow.cs index fee387694..1443cb58f 100644 --- a/RotationSolver/UI/OverlayWindow.cs +++ b/RotationSolver/UI/OverlayWindow.cs @@ -167,11 +167,11 @@ private static void DrawPositional() switch (shouldPos) { - case EnemyPositional.Flank when Service.Config.DrawPositional && !Player.Object.HasStatus(true, StatusID.TrueNorth): + case EnemyPositional.Flank when Service.Config.DrawPositional && CanDrawPositional(target): DrawRange(ClosePoints(GetPtsOnScreen(SectorPlots(pPosition, radius, Math.PI * 0.25 + rotation, COUNT).Append(pPosition))), wrong); DrawRange(ClosePoints(GetPtsOnScreen(SectorPlots(pPosition, radius, Math.PI * 1.25 + rotation, COUNT).Append(pPosition))), wrong); break; - case EnemyPositional.Rear when Service.Config.DrawPositional && !Player.Object.HasStatus(true, StatusID.TrueNorth): + case EnemyPositional.Rear when Service.Config.DrawPositional && CanDrawPositional(target): DrawRange(ClosePoints(GetPtsOnScreen(SectorPlots(pPosition, radius, Math.PI * 0.75 + rotation, COUNT).Append(pPosition))), wrong); break; @@ -182,7 +182,11 @@ private static void DrawPositional() } break; } + } + private static bool CanDrawPositional(GameObject target) + { + return !Player.Object.HasStatus(true, StatusID.TrueNorth) && !Player.Object.HasStatus(true, StatusID.RightEye) && target.HasPositional(); } static void DrawFill(Vector3[] pts1, Vector3[] pts2, Vector3 color)