diff --git a/MareSynchronos/PlayerData/Pairs/OnlinePlayerManager.cs b/MareSynchronos/PlayerData/Pairs/OnlinePlayerManager.cs index aefd4aa..caf9b0d 100644 --- a/MareSynchronos/PlayerData/Pairs/OnlinePlayerManager.cs +++ b/MareSynchronos/PlayerData/Pairs/OnlinePlayerManager.cs @@ -47,10 +47,9 @@ public class OnlinePlayerManager : DisposableMediatorSubscriberBase if (!_dalamudUtil.IsPlayerPresent || !_apiController.IsConnected) return; var playerCharacters = _dalamudUtil.GetPlayerCharacters(); - var newVisiblePlayers = new List(); var chars = _pairManager.FindAllPairs(playerCharacters); - newVisiblePlayers.AddRange(from pChar in chars.Where(p => p.Pair != null && p.Pair.InitializePair(p.Character.Name.ToString())) - select pChar.Pair.UserData); + var newVisiblePlayers = (from pChar in chars.Where(p => p.Pair != null && p.Pair.InitializePair(p.Character.Name.ToString())) + select pChar.Pair.UserData).ToList(); if (newVisiblePlayers.Any()) { diff --git a/MareSynchronos/PlayerData/Pairs/PairManager.cs b/MareSynchronos/PlayerData/Pairs/PairManager.cs index c3e581b..e7bbc0c 100644 --- a/MareSynchronos/PlayerData/Pairs/PairManager.cs +++ b/MareSynchronos/PlayerData/Pairs/PairManager.cs @@ -395,7 +395,7 @@ public sealed class PairManager : DisposableMediatorSubscriberBase { foreach (var pair in _allClientPairs.Select(k => k.Value)) { - pair.ApplyLastReceivedData(); + pair.ApplyLastReceivedData(true); } } diff --git a/MareSynchronos/Services/DalamudUtilService.cs b/MareSynchronos/Services/DalamudUtilService.cs index 4ed5f47..857f970 100644 --- a/MareSynchronos/Services/DalamudUtilService.cs +++ b/MareSynchronos/Services/DalamudUtilService.cs @@ -109,7 +109,7 @@ public class DalamudUtilService : IHostedService { var mgr = CharacterManager.Instance(); playerPointer ??= PlayerPointer; - if(playerPointer == IntPtr.Zero) return IntPtr.Zero; + if (playerPointer == IntPtr.Zero) return IntPtr.Zero; return (IntPtr)mgr->LookupPetByOwnerObject((BattleChara*)playerPointer); } @@ -183,7 +183,7 @@ public class DalamudUtilService : IHostedService public async Task WaitWhileCharacterIsDrawing(ILogger logger, GameObjectHandler handler, Guid redrawId, int timeOut = 5000, CancellationToken? ct = null) { - if (!_clientState.IsLoggedIn || handler.Address == IntPtr.Zero) return; + if (!_clientState.IsLoggedIn || handler.CurrentAddress == IntPtr.Zero) return; logger.LogTrace("[{redrawId}] Starting wait for {handler} to draw", redrawId, handler);