public static void SerializeQuest(ServerPacket Message, Habbo habbo, Quest Quest, string Category) { if (Message == null || habbo == null) { return; } int AmountInCat = PlusEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Category); int Number = Quest == null ? AmountInCat : Quest.Number - 1; int UserProgress = Quest == null ? 0 : habbo.GetQuestProgress(Quest.Id); if (Quest != null && Quest.IsCompleted(UserProgress)) { Number++; } Message.WriteString(Category); Message.WriteInteger(Quest == null ? 0 : ((Quest.Category.Contains("xmas2012")) ? 0 : Number)); // Quest progress in this cat Message.WriteInteger(Quest == null ? 0 : (Quest.Category.Contains("xmas2012")) ? 0 : AmountInCat); // Total quests in this cat Message.WriteInteger(Quest == null ? 3 : Quest.RewardType); // Reward type (1 = Snowflakes, 2 = Love hearts, 3 = Pixels, 4 = Seashells, everything else is pixels Message.WriteInteger(Quest == null ? 0 : Quest.Id); // Quest id Message.WriteBoolean(Quest == null ? false : habbo.GetStats().QuestId == Quest.Id); // Quest started Message.WriteString(Quest == null ? string.Empty : Quest.ActionName); Message.WriteString(Quest == null ? string.Empty : Quest.DataBit); Message.WriteInteger(Quest == null ? 0 : Quest.Reward); Message.WriteString(Quest == null ? string.Empty : Quest.Name); Message.WriteInteger(UserProgress); // Current progress Message.WriteInteger(Quest == null ? 0 : Quest.GoalData); // Target progress Message.WriteInteger(Quest == null ? 0 : Quest.TimeUnlock); // "Next quest available countdown" in seconds Message.WriteString(""); Message.WriteString(""); Message.WriteBoolean(true); }
public override void Compose(ServerPacket packet) { int AmountInCat = PlusEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Quest.Category); int Number = Quest == null ? AmountInCat : Quest.Number; int UserProgress = Quest == null ? 0 : Habbo.GetQuestProgress(Quest.Id); packet.WriteString(Quest.Category); packet.WriteInteger(Number); // Quest progress in this cat packet.WriteInteger((Quest.Name.Contains("xmas2012")) ? 1 : AmountInCat); // Total quests in this cat packet.WriteInteger(Quest == null ? 3 : Quest.RewardType); // Reward type (1 = Snowflakes, 2 = Love hearts, 3 = Pixels, 4 = Seashells, everything else is pixels packet.WriteInteger(Quest == null ? 0 : Quest.Id); // Quest id packet.WriteBoolean(Quest == null ? false : Habbo.GetStats().QuestId == Quest.Id); // Quest started packet.WriteString(Quest == null ? string.Empty : Quest.ActionName); packet.WriteString(Quest == null ? string.Empty : Quest.DataBit); packet.WriteInteger(Quest == null ? 0 : Quest.Reward); packet.WriteString(Quest == null ? string.Empty : Quest.Name); packet.WriteInteger(UserProgress); // Current progress packet.WriteInteger(Quest == null ? 0 : Quest.GoalData); // Target progress packet.WriteInteger(Quest == null ? 0 : Quest.TimeUnlock); // "Next quest available countdown" in seconds packet.WriteString(""); packet.WriteString(""); packet.WriteBoolean(true); // ? packet.WriteBoolean(true); // Activate next quest.. }