From fc52a4be465c2651e96bb1269584b918daa75e33 Mon Sep 17 00:00:00 2001 From: Waverunner Date: Sun, 7 Jun 2015 13:51:30 -0400 Subject: [PATCH] Added baselines for GroupObject and minor location improvement for /waypoint command --- .../callbacks/WaypointCmdCallback.java | 12 +--- src/resources/objects/group/GroupObject.java | 56 +++++++++++++++++++ 2 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 src/resources/objects/group/GroupObject.java diff --git a/src/resources/commands/callbacks/WaypointCmdCallback.java b/src/resources/commands/callbacks/WaypointCmdCallback.java index aae5889ab..b3f5ae64e 100644 --- a/src/resources/commands/callbacks/WaypointCmdCallback.java +++ b/src/resources/commands/callbacks/WaypointCmdCallback.java @@ -94,18 +94,10 @@ public class WaypointCmdCallback implements ICmdCallback { private WaypointObject createWaypoint(ObjectManager objManager, Terrain terrain, WaypointColor color, String name, float x, float y, Location loc) { WaypointObject waypoint = (WaypointObject) objManager.createObject("object/waypoint/shared_waypoint.iff", false); + waypoint.setLocation(new Location((x != -1 ? x : loc.getX()), 0, (y != -1 ? y : loc.getZ()), (terrain != null ? terrain : loc.getTerrain()))); if (color != null) waypoint.setColor(color); - - if (terrain != null) - waypoint.getLocation().setTerrain(terrain); - - if (x != -1) - waypoint.getLocation().setX(new Float(x).doubleValue()); - if (y != -1) - waypoint.getLocation().setZ(new Float(y).doubleValue()); - - waypoint.getLocation().setY(0); + waypoint.setName(name == null ? "New Waypoint" : name); return waypoint; diff --git a/src/resources/objects/group/GroupObject.java b/src/resources/objects/group/GroupObject.java new file mode 100644 index 000000000..7a52a196a --- /dev/null +++ b/src/resources/objects/group/GroupObject.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2015 /// Project SWG /// www.projectswg.com + * + * ProjectSWG is the first NGE emulator for Star Wars Galaxies founded on + * July 7th, 2011 after SOE announced the official shutdown of Star Wars Galaxies. + * Our goal is to create an emulator which will provide a server for players to + * continue playing a game similar to the one they used to play. We are basing + * it on the final publish of the game prior to end-game events. + * + * This file is part of Holocore. + * + * -------------------------------------------------------------------------------- + * + * Holocore is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * Holocore is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Holocore. If not, see + ******************************************************************************/ + +package resources.objects.group; + +import resources.network.BaselineBuilder; +import resources.objects.SWGObject; +import resources.player.Player; + +public class GroupObject extends SWGObject { + + @Override + public void createBaseline6(Player target, BaselineBuilder bb) { + super.createBaseline6(target, bb); // BASE06 -- 2 variables + bb.addInt(0); // groupMembers // 2 + bb.addInt(0); // updateCount + bb.addInt(0); // formationmembers // 3 + bb.addInt(0); // updateCount + bb.addAscii(""); // groupName // 4 + bb.addShort(0); // groupLevel // 5 + bb.addInt(0); // formationNameCrc // 6 + bb.addLong(0); // lootMaster // 7 + bb.addInt(0); // lootRule // 8 + bb.addInt(0); // PickupPointTimer startTime // 9 + bb.addInt(0); // endTime + bb.addAscii(""); // PickupPoint planetName // 10 + bb.addFloat(0); // x + bb.addFloat(0); // y + bb.addFloat(0); // z + bb.incrementOperandCount(9); + } +}