diff --git a/src/resources/commands/callbacks/WaypointCmdCallback.java b/src/resources/commands/callbacks/WaypointCmdCallback.java index 9b52ddd98..55507beb1 100644 --- a/src/resources/commands/callbacks/WaypointCmdCallback.java +++ b/src/resources/commands/callbacks/WaypointCmdCallback.java @@ -87,11 +87,8 @@ public class WaypointCmdCallback implements ICmdCallback { default: break; } - if (ghost.getWaypoints().size() < 250) { WaypointObject waypoint = createWaypoint(galacticManager.getObjectManager(), terrain, color, name, x, y, player.getCreatureObject().getLocation()); ghost.addWaypoint(waypoint); - } else - ghost.sendSelf(new ChatSystemMessage(ChatSystemMessage.SystemChatType.SCREEN_AND_CHAT, "@base_player:too_many_waypoints")); } diff --git a/src/resources/objects/player/PlayerObject.java b/src/resources/objects/player/PlayerObject.java index 0e1bfb720..0137c7448 100644 --- a/src/resources/objects/player/PlayerObject.java +++ b/src/resources/objects/player/PlayerObject.java @@ -29,6 +29,7 @@ package resources.objects.player; import network.packets.swg.zone.UpdatePostureMessage; import network.packets.swg.zone.baselines.Baseline.BaselineType; +import network.packets.swg.zone.chat.ChatSystemMessage; import resources.collections.SWGList; import resources.collections.SWGMap; import resources.network.BaselineBuilder; @@ -102,8 +103,13 @@ public class PlayerObject extends IntangibleObject { public void addWaypoint(WaypointObject waypoint) { synchronized(waypoints) { + if (waypoints.size() < 250) { waypoints.put(waypoint.getObjectId(), waypoint); waypoints.sendDeltaMessage(this); + } + else { + sendSelf(new ChatSystemMessage(ChatSystemMessage.SystemChatType.SCREEN_AND_CHAT, "@base_player:too_many_waypoints")); + } } }