diff --git a/src/resources/objects/SWGObject.java b/src/resources/objects/SWGObject.java index e533fabac..96fe94d23 100644 --- a/src/resources/objects/SWGObject.java +++ b/src/resources/objects/SWGObject.java @@ -829,7 +829,7 @@ public abstract class SWGObject implements Serializable, Comparable { } public void createBaseline6(Player target, BaselineBuilder bb) { - bb.addInt(target.galaxyId); // 0 + bb.addInt(target.getGalaxyId()); // 0 bb.addObject(detailStf); // 1 bb.incrementOperandCount(2); diff --git a/src/resources/player/Player.java b/src/resources/player/Player.java index eca9bccee..922f57f86 100644 --- a/src/resources/player/Player.java +++ b/src/resources/player/Player.java @@ -50,7 +50,8 @@ public class Player implements Serializable, Comparable { private int connectionId = 0; private AccessLevel accessLevel = AccessLevel.PLAYER; - public int galaxyId = 0; + private int galaxyId = 0; + private String galaxyName = ""; private CreatureObject creatureObject= null; private long lastInboundMessage = 0; @@ -99,6 +100,10 @@ public class Player implements Serializable, Comparable { this.galaxyId = galaxyId; } + public void setGalaxyName(String galaxyName) { + this.galaxyName = galaxyName; + } + public void setCreatureObject(CreatureObject obj) { this.creatureObject = obj; } @@ -145,6 +150,10 @@ public class Player implements Serializable, Comparable { return galaxyId; } + public String getGalaxyName() { + return galaxyName; + } + public CreatureObject getCreatureObject() { return creatureObject; } diff --git a/src/services/player/PlayerManager.java b/src/services/player/PlayerManager.java index 0834cea3b..8c073a6b0 100644 --- a/src/services/player/PlayerManager.java +++ b/src/services/player/PlayerManager.java @@ -175,7 +175,7 @@ public class PlayerManager extends Manager { } } - private Player transitionLoginToZone(final long networkId, final int galaxyId, ClientIdMsg clientId) { + private Player transitionLoginToZone(long networkId, int galaxyId, String galaxyName, ClientIdMsg clientId) { final byte [] nToken = clientId.getSessionToken(); synchronized (players) { for (Player p : players.values()) { @@ -191,6 +191,7 @@ public class PlayerManager extends Manager { players.remove(p.getNetworkId()); p.setNetworkId(networkId); p.setGalaxyId(galaxyId); + p.setGalaxyName(galaxyName); players.put(networkId, p); Log.i("PlayerManager", "Transitioned %s from login to zone", p.getUsername()); return p; @@ -222,9 +223,11 @@ public class PlayerManager extends Manager { ServerType type = gpi.getServerType(); long networkId = gpi.getNetworkId(); Player player = null; - if (type == ServerType.ZONE && packet instanceof ClientIdMsg) - player = transitionLoginToZone(networkId, gpi.getGalaxy().getId(), (ClientIdMsg) packet); - else + if (type == ServerType.ZONE && packet instanceof ClientIdMsg) { + String galaxyName = gpi.getGalaxy().getName(); + int galaxyId = gpi.getGalaxy().getId(); + player = transitionLoginToZone(networkId, galaxyId, galaxyName, (ClientIdMsg) packet); + } else player = getPlayerFromNetworkId(networkId); if (player != null && type == ServerType.ZONE && packet instanceof SelectCharacter) removeDuplicatePlayers(player, ((SelectCharacter)packet).getCharacterId());