Created and updated some SWG objects

This commit is contained in:
Obique PSWG
2016-03-02 00:45:00 -06:00
parent d7ece0b76a
commit dcec51a24d
7 changed files with 283 additions and 24 deletions
+24 -4
View File
@@ -48,11 +48,13 @@ import resources.containers.DefaultPermissions;
import resources.encodables.StringId;
import resources.network.BaselineBuilder;
import resources.network.BaselineObject;
import resources.network.NetBuffer;
import resources.objects.building.BuildingObject;
import resources.objects.creature.CreatureObject;
import resources.player.Player;
import resources.server_info.Log;
import services.CoreManager;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
@@ -660,17 +662,21 @@ public abstract class SWGObject extends BaselineObject implements Comparable<SWG
}
public void createObject(Player target) {
createObject(target, false);
}
public void createObject(Player target, boolean ignoreSnapshotChecks) {
if (!hasPermission(target.getCreatureObject(), ContainerPermissions.Permission.VIEW)) {
// Log.i("SWGObject", target.getCreatureObject() + " doesn't have permission to view " + this + " -- skipping packet sending");
return;
}
if (!isSnapshot()) {
if (!isSnapshot() || ignoreSnapshotChecks) {
sendSceneCreateObject(target);
sendBaselines(target);
}
createChildrenObjects(target);
if (!isSnapshot())
if (!isSnapshot() || ignoreSnapshotChecks)
target.sendPacket(new SceneEndBaselines(getObjectId()));
}
@@ -981,7 +987,7 @@ public abstract class SWGObject extends BaselineObject implements Comparable<SWG
return Long.valueOf(getObjectId()).hashCode();
}
public void createBaseline3(Player target, BaselineBuilder bb) {
protected void createBaseline3(Player target, BaselineBuilder bb) {
super.createBaseline3(target, bb);
bb.addFloat(complexity); // 0
bb.addObject(stringId); // 1
@@ -991,7 +997,7 @@ public abstract class SWGObject extends BaselineObject implements Comparable<SWG
bb.incrementOperandCount(4);
}
public void createBaseline6(Player target, BaselineBuilder bb) {
protected void createBaseline6(Player target, BaselineBuilder bb) {
super.createBaseline6(target, bb);
bb.addInt(CoreManager.getGalaxyId()); // 0
bb.addObject(detailStringId); // 1
@@ -999,6 +1005,20 @@ public abstract class SWGObject extends BaselineObject implements Comparable<SWG
bb.incrementOperandCount(2);
}
protected void parseBaseline3(NetBuffer buffer) {
super.parseBaseline3(buffer);
complexity = buffer.getFloat();
stringId = buffer.getEncodable(StringId.class);
objectName = buffer.getUnicode();
volume = buffer.getInt();
}
protected void parseBaseline6(NetBuffer buffer) {
super.parseBaseline6(buffer);
buffer.getInt(); // Immutable ... can't change the galaxy id
detailStringId = buffer.getEncodable(StringId.class);
}
/* Baseline send permissions based on packet observations:
*
* Baseline1 sent if you have full permissions to the object.