diff --git a/src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as b/src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as index 060f0ea2..2f72f66c 100644 --- a/src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as +++ b/src/as/com/threerings/whirled/spot/client/SpotSceneDirector.as @@ -123,7 +123,8 @@ public class SpotSceneDirector extends BasicDirector // sanity check the server's notion of what scene we're in with our notion of it var sceneId :int = _scdir.getScene().getId(); - var clSceneId :int = ScenePlace.getSceneId(_self as BodyObject); + var clSceneId :int = ScenePlace.getSceneId( + _wctx.getClient().getClientObject() as BodyObject); if (sceneId != clSceneId) { log.warning("Client and server differ in opinion of what scene we're in " + "[sSceneId=" + clSceneId + ", cSceneId=" + sceneId + "]."); @@ -385,7 +386,8 @@ public class SpotSceneDirector extends BasicDirector var scloc :SceneLocation = null; var ssobj :SpotSceneObject = (plobj as SpotSceneObject); if (ssobj != null) { - scloc = ssobj.occupantLocs.get((_self as BodyObject).getOid()) as SceneLocation; + scloc = ssobj.occupantLocs.get( + _wctx.getClient().getClientObject().getOid()) as SceneLocation; } _location = (scloc == null) ? null : scloc.loc; } diff --git a/src/java/com/threerings/whirled/spot/server/SpotSceneManager.java b/src/java/com/threerings/whirled/spot/server/SpotSceneManager.java index 5e53b6a2..5a25c0cc 100644 --- a/src/java/com/threerings/whirled/spot/server/SpotSceneManager.java +++ b/src/java/com/threerings/whirled/spot/server/SpotSceneManager.java @@ -378,8 +378,12 @@ public class SpotSceneManager extends SceneManager */ protected ClusterRecord getCluster (int bodyOid) { - ClusteredBodyObject bobj = (ClusteredBodyObject)CrowdServer.omgr.getObject(bodyOid); - return (bobj == null) ? null : _clusters.get(bobj.getClusterOid()); + BodyObject bobj = (BodyObject)CrowdServer.omgr.getObject(bodyOid); + if (bobj instanceof ClusteredBodyObject) { + return _clusters.get(((ClusteredBodyObject)bobj).getClusterOid()); + } else { + return null; + } } /**