diff --git a/src/resources/objects/player/PlayerObject.java b/src/resources/objects/player/PlayerObject.java index a1a8eba8..bcbc3b21 100644 --- a/src/resources/objects/player/PlayerObject.java +++ b/src/resources/objects/player/PlayerObject.java @@ -878,7 +878,8 @@ public class PlayerObject extends IntangibleObject { } public void removeChannel(int roomId) { - chatChannels.remove(roomId); + if (chatChannels.contains(roomId)) + chatChannels.remove(roomId); } public boolean isMemberOfChannel(int roomId) { diff --git a/src/services/chat/ChatService.java b/src/services/chat/ChatService.java index fbdf4cf6..c88846d6 100644 --- a/src/services/chat/ChatService.java +++ b/src/services/chat/ChatService.java @@ -968,6 +968,8 @@ public class ChatService implements INetworkDispatch { roomPlayer.getClient().getSession().write(leaveRoom.serialize()); } }); + + ((PlayerObject) player.getSlottedObject("ghost")).removeChannel(roomId); } public void sendChatRoomMessage(CreatureObject sender, int roomId, int msgId, String message) {