diff --git a/src/resources/objects/SWGObject.java b/src/resources/objects/SWGObject.java index aa6ef2d14..c2d7cc459 100644 --- a/src/resources/objects/SWGObject.java +++ b/src/resources/objects/SWGObject.java @@ -94,7 +94,6 @@ public abstract class SWGObject extends BaselineObject implements Comparable newObservers = getObserversAndParent(); + if (oldObservers.contains(getOwner())) + Log.w(this, "Old Observers contains owner! %s", getOwner()); + if (newObservers.contains(getOwner())) + Log.w(this, "New Observers contains owner! %s", getOwner()); long newId = (container != null) ? container.getObjectId() : 0; UpdateContainmentMessage update = new UpdateContainmentMessage(getObjectId(), newId, getSlotArrangement()); AwarenessUtilities.callForSameObserver(oldObservers, newObservers, (observer) -> observer.sendPacket(update)); - AwarenessUtilities.callForNewObserver(oldObservers, newObservers, (observer) -> createObject(observer, false)); - AwarenessUtilities.callForOldObserver(oldObservers, newObservers, (observer) -> destroyObject(observer)); +// AwarenessUtilities.callForNewObserver(oldObservers, newObservers, (observer) -> createObject(observer, false)); +// AwarenessUtilities.callForOldObserver(oldObservers, newObservers, (observer) -> destroyObject(observer)); return ContainerResult.SUCCESS; } @@ -304,16 +305,10 @@ public abstract class SWGObject extends BaselineObject implements Comparable bubble) - bubble = dist; - } - } + // Disabled for now - need more accurate cell data first +// synchronized (containedObjects) { +// for (SWGObject contained : containedObjects) { +// double x = contained.getX(); +// double z = contained.getZ(); +// double dist = Math.sqrt(x*x+z*z) + contained.getLoadRange(); +// if (dist > 2000) +// Log.w(this, "Load range is too large! Distance=%.1f X=%.1f Z=%.1f Contained=%.1f Object=%s", dist, x, z, contained.getLoadRange(), this); +// if (dist > bubble) +// bubble = dist; +// } +// } return bubble; } public double getChildRadius() { - return childRadius; + return getLoadRange(); } public double getPrefLoadRange() { @@ -612,26 +610,6 @@ public abstract class SWGObject extends BaselineObject implements Comparable maxDistance) - maxDistance = dist; - } - } - childRadius = maxDistance; - } else { - double maxDistance = childRadius; - double dist = location.distanceTo(updated.location); - if (dist > maxDistance) - maxDistance = dist; - childRadius = maxDistance; - } - } - private final void sendSceneCreateObject(Player target) { SceneCreateObjectByCrc create = new SceneCreateObjectByCrc(); create.setObjectId(objectId);