public void RemoveItem(GameClient session, RoomItem item) { this.FloorItems.Remove(item.ID, item.GetType()); this.WallItems.Remove(item.ID, item.GetType()); this.AddedAndMovedRoomItems.TryRemove(item.ID, out RoomItem item_); this.RoomItemStateUpdated.TryRemove(item.ID, out item_); this.Room.RoomGameManager.RemoveItem(item); if (item.IsWallItem) { this.Room.SendToAll(new MultiRevisionServerMessage(OutgoingPacketsEnum.RemoveWallItem, new ValueHolder("ID", item.ID, "UserID", session == null ? 0 : session.GetHabbo().ID))); } else { this.Room.SendToAll(new MultiRevisionServerMessage(OutgoingPacketsEnum.RemoveFloorItem, new ValueHolder("ID", item.ID, "UserID", session == null ? 0 : session.GetHabbo().ID))); } item.OnPickup(session); this.CheckItemBasedAchievements(item); if (item is RoomItemJukebox) { if (this.Jukebox == (RoomItemJukebox)item) { this.Jukebox = null; } } }