/// <summary> /// Activates the quest. /// </summary> /// <param name="session">The session.</param> /// <param name="message">The message.</param> internal void ActivateQuest(GameClient session, ClientMessage message) { var quest = GetQuest(message.GetUInteger()); if (quest == null) { return; } using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat(new object[] { "REPLACE INTO users_quests_data(user_id,quest_id) VALUES (", session.GetHabbo().Id, ", ", quest.Id, ")" })); queryReactor.RunFastQuery(string.Concat(new object[] { "UPDATE users_stats SET quest_id = ", quest.Id, " WHERE id = ", session.GetHabbo().Id })); } session.GetHabbo().CurrentQuestId = quest.Id; GetList(session, null); session.SendMessage(QuestStartedComposer.Compose(session, quest)); }
/// <summary> /// Gets the current quest. /// </summary> /// <param name="session">The session.</param> /// <param name="message">The message.</param> internal void GetCurrentQuest(GameClient session, ClientMessage message) { if (!session.GetHabbo().InRoom) { return; } var quest = GetQuest(session.GetHabbo().LastQuestCompleted); var nextQuestInSeries = GetNextQuestInSeries(quest.Category, (quest.Number + 1)); if (nextQuestInSeries == null) { return; } using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat(new object[] { "REPLACE INTO users_quests_data(user_id,quest_id) VALUES (", session.GetHabbo().Id, ", ", nextQuestInSeries.Id, ")" })); queryReactor.RunFastQuery(string.Concat(new object[] { "UPDATE users_stats SET quest_id = ", nextQuestInSeries.Id, " WHERE id = ", session.GetHabbo().Id })); } session.GetHabbo().CurrentQuestId = nextQuestInSeries.Id; GetList(session, null); session.SendMessage(QuestStartedComposer.Compose(session, nextQuestInSeries)); }
internal void GetCurrentQuest(GameClient Session, ClientMessage Message) { if (!Session.GetHabbo().InRoom) { return; } Quest UserQuest = GetQuest(Session.GetHabbo().LastCompleted); Quest NextQuest = GetNextQuestInSeries(UserQuest.Category, UserQuest.Number + 1); if (NextQuest == null) { return; } using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + NextQuest.Id + ", 0)"); dbClient.runFastQuery("UPDATE users SET currentquestid = " + NextQuest.Id + " WHERE id = " + Session.GetHabbo().Id); } Session.GetHabbo().CurrentQuestId = NextQuest.Id; GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, NextQuest)); //Session.SendMessage(QuestStartedComposer.Compose(Session, NextQuest)); }
internal void ActivateQuest(GameClient Session, ClientMessage Message) { Quest Quest = GetQuest(Message.PopWiredUInt()); if (Quest == null) { return; } using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { if (dbClient.dbType == Database_Manager.Database.DatabaseType.MySQL) { dbClient.runFastQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + Quest.Id + ", 0)"); } else { dbClient.runFastQuery("IF NOT EXISTS (SELECT user_id FROM user_quests WHERE user_id = " + Session.GetHabbo().Id + " AND quest_id = " + Quest.Id + ") " + "INSERT INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + Quest.Id + ", 0)"); } dbClient.runFastQuery("UPDATE users SET currentquestid = " + Quest.Id + " WHERE id = " + Session.GetHabbo().Id); } Session.GetHabbo().CurrentQuestId = Quest.Id; GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, Quest)); }
internal void ActivateQuest(GameClient Session, ClientMessage Message) { Quest quest = this.GetQuest(Message.PopWiredUInt()); if (quest == null) { return; } using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor()) { queryreactor.runFastQuery(string.Concat(new object[] { "REPLACE INTO user_quests(user_id,quest_id) VALUES (", Session.GetHabbo().Id, ", ", quest.Id, ")" })); queryreactor.runFastQuery(string.Concat(new object[] { "UPDATE user_stats SET quest_id = ", quest.Id, " WHERE id = ", Session.GetHabbo().Id })); } Session.GetHabbo().CurrentQuestId = quest.Id; this.GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, quest)); }
internal void GetCurrentQuest(GameClient Session, ClientMessage Message) { if (!Session.GetHabbo().InRoom) { return; } Quest quest = this.GetQuest(Session.GetHabbo().LastQuestCompleted); Quest nextQuestInSeries = this.GetNextQuestInSeries(quest.Category, checked (quest.Number + 1)); if (nextQuestInSeries == null) { return; } using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor()) { queryreactor.runFastQuery(string.Concat(new object[] { "REPLACE INTO user_quests(user_id,quest_id) VALUES (", Session.GetHabbo().Id, ", ", nextQuestInSeries.Id, ")" })); queryreactor.runFastQuery(string.Concat(new object[] { "UPDATE user_stats SET quest_id = ", nextQuestInSeries.Id, " WHERE id = ", Session.GetHabbo().Id })); } Session.GetHabbo().CurrentQuestId = nextQuestInSeries.Id; this.GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, nextQuestInSeries)); }
internal void ProgressUserQuest(GameClient Session, QuestType QuestType, uint EventData = 0) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().CurrentQuestId <= 0) { return; } var UserQuest = GetQuest(Session.GetHabbo().CurrentQuestId); if (UserQuest == null || UserQuest.GoalType != QuestType) { return; } var CurrentProgress = Session.GetHabbo().GetQuestProgress(UserQuest.Id); var NewProgress = CurrentProgress; var PassQuest = false; switch (QuestType) { default: NewProgress++; if (NewProgress >= UserQuest.GoalData) { PassQuest = true; } break; case QuestType.EXPLORE_FIND_ITEM: if (EventData != UserQuest.GoalData) { return; } NewProgress = (int)UserQuest.GoalData; PassQuest = true; break; } using (var dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("UPDATE user_quests SET progress = " + NewProgress + " WHERE user_id = " + Session.GetHabbo().Id + " AND quest_id = " + UserQuest.Id); } Session.GetHabbo().quests[Session.GetHabbo().CurrentQuestId] = NewProgress; Session.SendMessage(QuestStartedComposer.Compose(Session, UserQuest)); if (PassQuest) { Session.GetHabbo().CurrentQuestId = 0; Session.GetHabbo().LastCompleted = UserQuest.Id; Session.SendMessage(QuestCompletedComposer.Compose(Session, UserQuest)); GetList(Session, null); } }
private static void GetRoomObjects(Session Session, ClientMessage Message) { RoomInstance Instance = RoomManager.GetInstanceByRoomId(Session.AbsoluteRoomId); if (Instance == null || Session.RoomJoined || !Session.RoomAuthed) // if instance not found, or user already joined us, OR if the user isn't authed in the first place, let's gtfo { return; } Instance.SendObjects(Session); if (!Instance.AddUserToRoom(Session)) { RoomManager.RemoveUserFromRoom(Session); return; } Session.RoomAuthed = true; Session.RoomJoined = true; ModerationLogs.LogRoomEntry(Session.CharacterId, Instance.RoomId); MessengerHandler.MarkUpdateNeeded(Session, 0, false); Session.SendData(RoomWallsStatusComposer.Compose(Instance.Info.HideWalls, Instance.Info.WallThickness, Instance.Info.FloorThickness)); Session.SendData(RoomInfoRightsComposer.Compose(Instance.Info.Type == RoomType.Flat, Instance.RoomId, (Instance.Info.Type == RoomType.Flat && Instance.CheckUserRights(Session, true)), Instance.Info.PubInternalName)); /*if (Instance.Info.Type == RoomType.Flat) * { * Session.SendData(RoomInfoComposer.Compose(Instance.Info, true)); * }*/ if (Session.CharacterInfo.IsMuted) { Session.SendData(RoomMutedComposer.Compose((int)Session.CharacterInfo.MutedSecondsLeft)); } if (Instance.Info.OwnerId != Session.CharacterId) { QuestManager.ProgressUserQuest(Session, QuestType.SOCIAL_VISIT); } if (Session.QuestCache.CurrentQuestId > 0) { Quest Quest = QuestManager.GetQuest(Session.QuestCache.CurrentQuestId); if (Quest != null) { Session.SendData(QuestStartedComposer.Compose(Session, Quest)); } } }
public void ProgressUserQuest(GameClient Session, QuestType QuestType, int EventData = 0) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().CurrentQuestId <= 0) { return; } Quest quest = this.GetQuest(Session.GetHabbo().CurrentQuestId); if (quest == null || quest.GoalType != QuestType) { return; } int questProgress = Session.GetHabbo().GetQuestProgress(quest.Id); bool flag = false; int num; if (QuestType != QuestType.EXPLORE_FIND_ITEM) { num = questProgress + 1; if ((long)num >= (long)quest.GoalData) { flag = true; } } else { if (EventData != quest.GoalData) { return; } num = quest.GoalData; flag = true; } using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) { queryreactor.RunQuery("UPDATE user_quests SET progress = " + num + " WHERE user_id = " + Session.GetHabbo().Id + " AND quest_id = " + quest.Id); } Session.GetHabbo().quests[Session.GetHabbo().CurrentQuestId] = num; Session.SendPacket(QuestStartedComposer.Compose(Session, quest)); if (!flag) { return; } Session.GetHabbo().CurrentQuestId = 0; Session.GetHabbo().LastCompleted = quest.Id; Session.SendPacket(QuestCompletedComposer.Compose(Session, quest)); Session.GetHabbo().Duckets += quest.Reward; Session.GetHabbo().UpdateActivityPointsBalance(); this.GetList(Session, (ClientPacket)null); }
private static void GetCurrentQuest(Session Session, ClientMessage Message) { if (!Session.InRoom) { return; } Quest Quest = GetQuest(Session.QuestCache.CurrentQuestId); if (Quest == null) { return; } Session.SendData(QuestStartedComposer.Compose(Session, Quest)); }
public void ActivateQuest(GameClient Session, ClientPacket Message) { Quest quest = this.GetQuest(Message.PopInt()); if (quest == null) { return; } using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) { queryreactor.RunQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + quest.Id + ", 0)"); } Session.GetHabbo().CurrentQuestId = quest.Id; this.GetList(Session, (ClientPacket)null); Session.SendPacket(QuestStartedComposer.Compose(Session, quest)); }
private static void ActivateQuest(Session Session, ClientMessage Message) { Quest Quest = GetQuest(Message.PopWiredUInt32()); if (Quest == null) { return; } using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { Session.QuestCache.AddOrUpdateData(MySqlClient, Quest.Id, Session.QuestCache.GetQuestProgress(Quest.Id), true); } GetList(Session, null); Session.SendData(QuestStartedComposer.Compose(Session, Quest)); }
internal void ActivateQuest(GameClient Session, ClientMessage Message) { var Quest = GetQuest(Message.PopWiredUInt()); if (Quest == null) { return; } using (var dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + Quest.Id + ", 0)"); } Session.GetHabbo().CurrentQuestId = Quest.Id; GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, Quest)); }
internal void ActivateQuest(GameClient Session, ClientMessage Message) { Quest Quest = GetQuest(Message.ReadUInt32()); if (Quest == null) { return; } using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + Quest.Id + ", 0)"); dbClient.runFastQuery("UPDATE users SET currentquestid = " + Quest.Id + " WHERE id = " + Session.GetHabbo().Id); } Session.GetHabbo().CurrentQuestId = Quest.Id; GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, Quest)); }
public void GetCurrentQuest(GameClient Session, ClientPacket Message) { if (!Session.GetHabbo().InRoom) { return; } Quest quest = this.GetQuest(Session.GetHabbo().LastCompleted); Quest nextQuestInSeries = this.GetNextQuestInSeries(quest.Category, quest.Number + 1); if (nextQuestInSeries == null) { return; } using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) { queryreactor.RunQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + nextQuestInSeries.Id + ", 0)"); } Session.GetHabbo().CurrentQuestId = nextQuestInSeries.Id; this.GetList(Session, (ClientPacket)null); Session.SendPacket(QuestStartedComposer.Compose(Session, nextQuestInSeries)); }
internal void GetCurrentQuest(GameClient Session, ClientMessage Message) { if (!Session.GetHabbo().InRoom) { return; } Quest UserQuest = GetQuest(Session.GetHabbo().LastCompleted); Quest NextQuest = GetNextQuestInSeries(UserQuest.Category, UserQuest.Number + 1); if (NextQuest == null) { return; } using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { if (dbClient.dbType == Database_Manager.Database.DatabaseType.MySQL) { dbClient.runFastQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + NextQuest.Id + ", 0)"); } else { dbClient.runFastQuery("IF NOT EXISTS (SELECT user_id FROM user_quests WHERE user_id = " + Session.GetHabbo().Id + " AND quest_id = " + NextQuest.Id + ") " + "INSERT INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + NextQuest.Id + ", 0)"); } dbClient.runFastQuery("UPDATE users SET currentquestid = " + NextQuest.Id + " WHERE id = " + Session.GetHabbo().Id); } Session.GetHabbo().CurrentQuestId = NextQuest.Id; GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, NextQuest)); //Session.SendMessage(QuestStartedComposer.Compose(Session, NextQuest)); }
internal void GetCurrentQuest(GameClient Session, ClientMessage Message) { if (!Session.GetHabbo().InRoom) { return; } var UserQuest = GetQuest(Session.GetHabbo().LastCompleted); var NextQuest = GetNextQuestInSeries(UserQuest.Category, UserQuest.Number + 1); if (NextQuest == null) { return; } using (var dbClient = OtanixEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("REPLACE INTO user_quests VALUES (" + Session.GetHabbo().Id + ", " + NextQuest.Id + ", 0)"); } Session.GetHabbo().CurrentQuestId = NextQuest.Id; GetList(Session, null); Session.SendMessage(QuestStartedComposer.Compose(Session, NextQuest)); }
internal void ProgressUserQuest(GameClient Session, QuestType QuestType, uint EventData = 0u) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().CurrentQuestId <= 0u) { return; } Quest quest = this.GetQuest(Session.GetHabbo().CurrentQuestId); if (quest == null || quest.GoalType != QuestType) { return; } int questProgress = Session.GetHabbo().GetQuestProgress(quest.Id); int num = questProgress; bool flag = false; checked { if (QuestType != QuestType.EXPLORE_FIND_ITEM) { switch (QuestType) { case QuestType.STAND_ON: if (EventData != quest.GoalData) { return; } num = (int)quest.GoalData; flag = true; goto IL_DC; case QuestType.GIVE_ITEM: if (EventData != quest.GoalData) { return; } num = (int)quest.GoalData; flag = true; goto IL_DC; case QuestType.GIVE_COFFEE: case QuestType.WAVE_REINDEER: num++; if (unchecked ((long)num >= (long)((ulong)quest.GoalData))) { flag = true; goto IL_DC; } goto IL_DC; case QuestType.XMAS_PARTY: num++; if (unchecked ((long)num == (long)((ulong)quest.GoalData))) { flag = true; goto IL_DC; } goto IL_DC; } } if (EventData != quest.GoalData) { return; } num = (int)quest.GoalData; flag = true; IL_DC: using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor()) { queryreactor.runFastQuery(string.Concat(new object[] { "UPDATE user_quests SET progress = ", num, " WHERE user_id = ", Session.GetHabbo().Id, " AND quest_id = ", quest.Id })); if (flag) { queryreactor.runFastQuery("UPDATE user_stats SET quest_id = 0 WHERE id = " + Session.GetHabbo().Id); } } Session.GetHabbo().quests[Session.GetHabbo().CurrentQuestId] = num; Session.SendMessage(QuestStartedComposer.Compose(Session, quest)); if (flag) { Session.GetHabbo().CurrentQuestId = 0u; Session.GetHabbo().LastQuestCompleted = quest.Id; Session.SendMessage(QuestCompletedComposer.Compose(Session, quest)); Session.GetHabbo().ActivityPoints += quest.Reward; Session.GetHabbo().NotifyNewPixels(quest.Reward); Session.GetHabbo().UpdateSeasonalCurrencyBalance(); this.GetList(Session, null); } } }
public static void ProgressUserQuest(Session Session, QuestType QuestType, uint EventData = 0) { if (Session.QuestCache.CurrentQuestId <= 0) { return; } Quest UserQuest = GetQuest(Session.QuestCache.CurrentQuestId); if (UserQuest == null || UserQuest.GoalType != QuestType) { return; } int CurrentProgress = Session.QuestCache.GetQuestProgress(UserQuest.Id); int NewProgress = CurrentProgress; bool PassQuest = false; switch (QuestType) { default: NewProgress++; if (NewProgress >= UserQuest.GoalData) { PassQuest = true; } break; case QuestType.EXPLORE_FIND_ITEM: if (EventData != UserQuest.GoalData) { return; } NewProgress = (int)UserQuest.GoalData; PassQuest = true; break; } using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { Session.QuestCache.AddOrUpdateData(MySqlClient, UserQuest.Id, NewProgress, !PassQuest); if (PassQuest) { Session.CharacterInfo.UpdateActivityPointsBalance(MySqlClient, UserQuest.Reward); Quest NextQuest = GetNextQuestInSeries(UserQuest.Category, UserQuest.Number + 1); if (NextQuest != null) { Session.QuestCache.AddOrUpdateData(MySqlClient, NextQuest.Id, 0, true); } } } Session.SendData(QuestStartedComposer.Compose(Session, UserQuest)); if (PassQuest) { Session.SendData(QuestCompletedComposer.Compose(Session, UserQuest)); Session.SendData(ActivityPointsBalanceComposer.Compose(Session.CharacterInfo.ActivityPointsBalance, UserQuest.Reward)); GetList(Session, null); Session.MessengerFriendCache.BroadcastToFriends(MessengerFriendEventComposer.Compose(Session.CharacterId, MessengerFriendEventType.QuestCompleted, UserQuest.Category + "." + UserQuest.QuestName)); } }
internal void ProgressUserQuest(GameClient Session, QuestType QuestType, uint EventData = 0) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().CurrentQuestId <= 0) { return; } Quest UserQuest = GetQuest(Session.GetHabbo().CurrentQuestId); if (UserQuest == null || UserQuest.GoalType != QuestType) { return; } int CurrentProgress = Session.GetHabbo().GetQuestProgress(UserQuest.Id); int NewProgress = CurrentProgress; bool PassQuest = false; switch (QuestType) { default: NewProgress++; if (NewProgress >= UserQuest.GoalData) { PassQuest = true; } break; case QuestType.EXPLORE_FIND_ITEM: if (EventData != UserQuest.GoalData) { return; } NewProgress = (int)UserQuest.GoalData; PassQuest = true; break; } using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.runFastQuery("UPDATE user_quests SET progress = " + NewProgress + " WHERE user_id = " + Session.GetHabbo().Id + " AND quest_id = " + UserQuest.Id); if (PassQuest) { dbClient.runFastQuery("UPDATE users SET currentquestid = 0 WHERE id = " + Session.GetHabbo().Id); //Quest NextQuest = GetNextQuestInSeries(UserQuest.Category, UserQuest.Number + 1); //if (NextQuest != null) // dbClient.runFastQuery("INSERT INTO user_quests (user_id, quest_id, progress) VALUES (" + Session.GetHabbo().Id + ", " + NextQuest.Id + ", 0)"); } } Session.GetHabbo().quests[Session.GetHabbo().CurrentQuestId] = NewProgress; Session.SendMessage(QuestStartedComposer.Compose(Session, UserQuest)); if (PassQuest) { Session.GetHabbo().CurrentQuestId = 0; Session.GetHabbo().LastCompleted = UserQuest.Id; Session.SendMessage(QuestCompletedComposer.Compose(Session, UserQuest)); Session.GetHabbo().ActivityPoints += UserQuest.Reward; Session.GetHabbo().UpdateActivityPointsBalance(false); GetList(Session, null); } }
/// <summary> /// Progresses the user quest. /// </summary> /// <param name="session">The session.</param> /// <param name="questType">Type of the quest.</param> /// <param name="eventData">The event data.</param> internal void ProgressUserQuest(GameClient session, QuestType questType, uint eventData = 0u) { if (session == null || session.GetHabbo() == null || session.GetHabbo().CurrentQuestId <= 0u) { return; } var quest = GetQuest(session.GetHabbo().CurrentQuestId); if (quest == null || quest.GoalType != questType) { return; } var questProgress = session.GetHabbo().GetQuestProgress(quest.Id); var num = questProgress; var flag = false; { if (questType != QuestType.ExploreFindItem) { switch (questType) { case QuestType.StandOn: if (eventData != quest.GoalData) { return; } num = (int)quest.GoalData; flag = true; goto IL_DC; case QuestType.GiveItem: if (eventData != quest.GoalData) { return; } num = (int)quest.GoalData; flag = true; goto IL_DC; case QuestType.GiveCoffee: case QuestType.WaveReindeer: num++; if ((num >= quest.GoalData)) { flag = true; } goto IL_DC; case QuestType.XmasParty: num++; if ((num == quest.GoalData)) { flag = true; } goto IL_DC; } } if (eventData != quest.GoalData) { return; } num = (int)quest.GoalData; flag = true; IL_DC: using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { queryReactor.RunFastQuery(string.Concat(new object[] { "UPDATE users_quests_data SET progress = ", num, " WHERE user_id = ", session.GetHabbo().Id, " AND quest_id = ", quest.Id })); if (flag) { queryReactor.RunFastQuery(string.Format("UPDATE users_stats SET quest_id = 0 WHERE id = {0}", session.GetHabbo().Id)); } } session.GetHabbo().Quests[session.GetHabbo().CurrentQuestId] = num; session.SendMessage(QuestStartedComposer.Compose(session, quest)); if (!flag) { return; } session.GetHabbo().CurrentQuestId = 0u; session.GetHabbo().LastQuestCompleted = quest.Id; session.SendMessage(QuestCompletedComposer.Compose(session, quest)); session.GetHabbo().ActivityPoints += quest.Reward; session.GetHabbo().NotifyNewPixels(quest.Reward); session.GetHabbo().UpdateSeasonalCurrencyBalance(); GetList(session, null); } }