if (CurrentLevel == 2 || CurrentLevel == 3) { int bbbreak; if (currentlevel == 3) bbbreak = 0; if (packet.X < 22500 || packet.X > 23500 || packet.Y < RoomOffsetY) return; int x = (packet.X - RoomOffsetX) / 60; int y = (packet.Y - RoomOffsetY) / 60; if (x > 15 || x < 0) return; if (y > 15 || y < 0) return; //if (RoomList[x, y].isDefined) // return; RoomList[x, y].GameObjects.Add(new GameObject(packet)); //check if the object is unique int objID = GetDS1ObjectFromGameObject(packet.ObjectID); for (int i = 0; i < objList.Count; i++) { foreach (DS1.Object obj in objList[i]) { int xxx = ((packet.X - RoomOffsetX) - x * 60) ; int yyy = ((packet.Y - RoomOffsetY) - y * 60) ; if (obj.X == xxx && obj.Y == yyy && obj.Id == objID) { RoomList[x, y].Walkable = WalkInfo[i]; RoomList[x, y].isDefined = true; return; } } } }