From 754bd804ffd7de89bbd853ce6c5afa1daa93cef8 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Fri, 19 Jun 2015 14:39:04 -0400 Subject: [PATCH] Fixed online notification status not showing for players that are relogging --- src/services/chat/ChatService.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/services/chat/ChatService.java b/src/services/chat/ChatService.java index 7552bc706..e980d55cd 100644 --- a/src/services/chat/ChatService.java +++ b/src/services/chat/ChatService.java @@ -179,11 +179,14 @@ public class ChatService extends Service { private void handlePlayerEventIntent(PlayerEventIntent intent) { switch (intent.getEvent()) { - case PE_ZONE_IN: - sendPersistentMessageHeaders(intent.getPlayer(), intent.getGalaxy()); - updateChatAvatarStatus(intent.getPlayer(), intent.getGalaxy(), true); + case PE_FIRST_ZONE: + Player player = intent.getPlayer(); + sendPersistentMessageHeaders(player, intent.getGalaxy()); + updateChatAvatarStatus(player, intent.getGalaxy(), true); break; case PE_LOGGED_OUT: + if (intent.getPlayer() == null || intent.getPlayer().getCreatureObject() == null) + return; updateChatAvatarStatus(intent.getPlayer(), intent.getGalaxy(), false); break; default: @@ -392,11 +395,10 @@ public class ChatService extends Service { if (online) { PlayerObject playerObject = player.getPlayerObject(); - if (playerObject == null || playerObject.getFriendsList().size() <= 0) - return; - - for (String friend : playerObject.getFriendsList()) { - sendTargetAvatarStatus(player, friend); + if (playerObject != null && playerObject.getFriendsList().size() <= 0) { + for (String friend : playerObject.getFriendsList()) { + sendTargetAvatarStatus(player, friend); + } } }