pair button now has additional checks to show if the user isnt directly paired, and only shows if your own lightfinder is on

This commit is contained in:
choco
2025-10-26 17:34:17 +01:00
parent 8aad714918
commit 437731749f

View File

@@ -98,7 +98,7 @@ internal class ContextMenuService : IHostedService
if (targetData == null || targetData.Address == nint.Zero)
return;
//Check if user is paired or is own.
//Check if user is directly paired or is own.
if (VisibleUserIds.Any(u => u == target.TargetObjectId) || _clientState.LocalPlayer.GameObjectId == target.TargetObjectId)
return;
@@ -113,10 +113,15 @@ internal class ContextMenuService : IHostedService
if (!_configService.Current.EnableRightClickMenus)
return;
//Check if lightfinder is on.
if (!_configService.Current.BroadcastEnabled)
return;
args.AddMenuItem(new MenuItem
{
Name = "Send Pair Request",
Name = "Send Direct Pair Request",
PrefixChar = 'L',
UseDefaultPrefix = false,
PrefixColor = 708,
@@ -159,7 +164,7 @@ internal class ContextMenuService : IHostedService
}
}
private HashSet<ulong> VisibleUserIds => [.. _pairManager.GetOnlineUserPairs()
private HashSet<ulong> VisibleUserIds => [.. _pairManager.DirectPairs
.Where(u => u.IsVisible && u.PlayerCharacterId != uint.MaxValue)
.Select(u => (ulong)u.PlayerCharacterId)];