public VMSolidResult SolidToAvatars(LotTilePos pos) { if (IsOutOfBounds(pos) || (pos.Level < 1) || (pos.Level != 1 && Architecture.GetFloor(pos.TileX, pos.TileY, pos.Level).Pattern == 0)) { return new VMSolidResult { Solid = true } } ; var objs = SetToNextCache.GetObjectsAt(pos); if (objs == null) { return(new VMSolidResult()); } foreach (var obj in objs) { if (obj == null) { continue; } var flags = (VMEntityFlags)obj.GetValue(VMStackObjectVariable.Flags); if (((flags & VMEntityFlags.DisallowPersonIntersection) > 0) || (flags & (VMEntityFlags.AllowPersonIntersection | VMEntityFlags.HasZeroExtent)) == 0) { return new VMSolidResult { Solid = true, Chair = (obj.EntryPoints[26].ActionFunction != 0)?obj:null } } ; //solid to people } return(new VMSolidResult()); }