diff --git a/src/resources/objects/group/GroupObject.java b/src/resources/objects/group/GroupObject.java index d72eb1b2c..8cfb6c765 100644 --- a/src/resources/objects/group/GroupObject.java +++ b/src/resources/objects/group/GroupObject.java @@ -27,7 +27,6 @@ package resources.objects.group; -import intents.NotifyPlayersPacketIntent; import network.packets.Packet; import network.packets.swg.zone.baselines.Baseline; import resources.collections.SWGList; @@ -40,10 +39,7 @@ import utilities.Encoder; import java.io.Serializable; import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; public class GroupObject extends SWGObject { // Extends INTO or TANO? @@ -166,6 +162,8 @@ public class GroupObject extends SWGObject { // Extends INTO or TANO? } private static class PickupPointTimer implements Serializable, Encodable { + private static final long serialVersionUID = 1L; + public int start; public int end; @@ -186,6 +184,8 @@ public class GroupObject extends SWGObject { // Extends INTO or TANO? } private static class GroupMember implements Serializable, Encodable { + private static final long serialVersionUID = 1L; + private long id; private String name; diff --git a/src/services/group/GroupInviterData.java b/src/services/group/GroupInviterData.java index 5c0c0136b..566fa8789 100644 --- a/src/services/group/GroupInviterData.java +++ b/src/services/group/GroupInviterData.java @@ -38,6 +38,7 @@ import java.nio.ByteBuffer; * Created by Waverunner on 10/4/2015 */ public class GroupInviterData implements Encodable, Serializable { + private static final long serialVersionUID = 1L; private long id; private Player sender; diff --git a/src/services/group/GroupService.java b/src/services/group/GroupService.java index 0b2fddf4f..f1f36408d 100644 --- a/src/services/group/GroupService.java +++ b/src/services/group/GroupService.java @@ -124,33 +124,11 @@ public class GroupService extends Service { return; } + // Disband Group if (target == null) { - // Disband Group - - String galaxy = player.getGalaxyName(); - new ChatRoomUpdateIntent(getGroupChatPath(group.getObjectId(), galaxy), String.valueOf(group.getObjectId()), null, - ChatAvatar.getSystemAvatar(galaxy), null, ChatRoomUpdateIntent.UpdateType.DESTROY).broadcast(); - - Map members = group.getGroupMembers(); - PlayerManager playerManager = player.getPlayerManager(); - - sendGroupSystemMessage(group, "disbanded"); - for (String name : members.keySet()) { - Player memPlayer = playerManager.getPlayerByCreatureName(name); - if (memPlayer == null) - continue; - - CreatureObject memCreo = memPlayer.getCreatureObject(); - if (memCreo == null) - continue; - - group.removeMember(memCreo); - } - - // TODO: Send object destroy intent for object manager + destroyGroup(group, player); } else { - // Disband player - + // Kick player group.removeMember(target); sendGroupSystemMessage(group, "other_left_prose", "TU", target.getObjectId()); @@ -259,6 +237,31 @@ public class GroupService extends Service { // TODO: Join group chat room } + private void destroyGroup(GroupObject group, Player player) { + String galaxy = player.getGalaxyName(); + new ChatRoomUpdateIntent(getGroupChatPath(group.getObjectId(), galaxy), String.valueOf(group.getObjectId()), null, + ChatAvatar.getSystemAvatar(galaxy), null, ChatRoomUpdateIntent.UpdateType.DESTROY).broadcast(); + + Map members = group.getGroupMembers(); + PlayerManager playerManager = player.getPlayerManager(); + + sendGroupSystemMessage(group, "disbanded"); + + for (String name : members.keySet()) { + Player memPlayer = playerManager.getPlayerByCreatureName(name); + if (memPlayer == null) + continue; + + CreatureObject memCreo = memPlayer.getCreatureObject(); + if (memCreo == null) + continue; + + group.removeMember(memCreo); + } + + // TODO: Object destroy intent + } + private GroupObject createGroup(Player player) { GroupObject group = (GroupObject) ObjectCreator.createObjectFromTemplate(getNextObjectId(), "object/group/shared_group_object.iff"); if (group == null) @@ -268,7 +271,7 @@ public class GroupService extends Service { groups.put(group.getObjectId(), group); - new ObjectCreateIntent(group, false).broadcast(); + new ObjectCreateIntent(group).broadcast(); String galaxy = player.getGalaxyName(); new ChatRoomUpdateIntent(getGroupChatPath(group.getObjectId(), galaxy), String.valueOf(group.getObjectId()), null,