private static void AddToStaffPicked(Session Session, ClientMessage Message) { RoomInstance Instance = RoomManager.GetInstanceByRoomId(Session.CurrentRoomId); if (Instance == null || !Session.HasRight("hotel_admin")) { return; } if (!Navigator.StaffPickedContainsRoom(Instance.RoomId)) { Navigator.AddRoomToStaffPicked(Instance.RoomId); Session.SendData(NotificationMessageComposer.Compose("This room has been added to the staff picked rooms successfully.")); // todo: unlock achievement for room owner using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { Session TargetSession = SessionManager.GetSessionByCharacterId(CharacterResolverCache.GetUidFromName(Instance.Info.OwnerName)); AchievementManager.ProgressUserAchievement(MySqlClient, TargetSession, "ACH_Spr", 1); } } else { Navigator.RemoveRoomFromStaffPicked(Instance.RoomId); Session.SendData(NotificationMessageComposer.Compose("This room has been removed from the staff picked rooms successfully.")); } }
private static void AddToStaffPicked(Session Session, ClientMessage Message) { RoomInstance Instance = RoomManager.GetInstanceByRoomId(Session.CurrentRoomId); if (Instance == null || !Session.HasRight("hotel_admin")) { return; } if (!Navigator.StaffPickedContainsRoom(Instance.RoomId)) { Navigator.AddRoomToStaffPicked(Instance.RoomId); Session.SendData(NotificationMessageComposer.Compose("This room has been added to the staff picked rooms successfully.")); using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { Session TargetSession = SessionManager.GetSessionByCharacterId(Instance.Info.OwnerId); if (TargetSession != null) { AchievementManager.ProgressUserAchievement(MySqlClient, TargetSession, "ACH_Spr", 1); } // todo: need a way to save achievement progress in the database so it can be applied on user login // right now it's impossible to progress an user's achievement if they're not logged in } } else { Navigator.RemoveRoomFromStaffPicked(Instance.RoomId); Session.SendData(NotificationMessageComposer.Compose("This room has been removed from the staff picked rooms successfully.")); } }
private static void AddToStaffPicked(Session Session, ClientMessage Message) { RoomInstance Instance = RoomManager.GetInstanceByRoomId(Session.CurrentRoomId); if (Instance == null || !Session.HasRight("hotel_admin")) { return; } if (!Navigator.StaffPickedContainsRoom(Instance.RoomId)) { Navigator.AddRoomToStaffPicked(Instance.RoomId); Session.SendData(NotificationMessageComposer.Compose("This room has been added to the staff picked rooms successfully.")); // todo: unlock achievement for room owner } else { Navigator.RemoveRoomFromStaffPicked(Instance.RoomId); Session.SendData(NotificationMessageComposer.Compose("This room has been removed from the staff picked rooms successfully.")); } }