using System; using System.Collections.Generic; using System.Linq; using System.Text; using DuckEmulator.HabboHotel.Outside.Messages.Types; using DuckEmulator.HabboHotel.Outside.Habbos; namespace DuckEmulator.HabboHotel.Outside.Quests { class QuestCat { private UInt32 fId; private string fType; internal UInt32 Id { get { return this.fId; } } internal string Type { get { return fType; } } internal QuestCat(UInt32 Id, string Type) { fId = Id; fType = Type; } internal void Serialize(ServerMessage Message, HabboData Habbo) { var Quests = DuckEnvironment.QuestManager.GetQuestsForCat(Id); var CompletedQuestCount = DuckEnvironment.QuestManager.CompletedQuestCount(Id, Habbo); Message.AppendStringWithBreak(Type.ToLower()); Message.AppendInt32(CompletedQuestCount); Message.AppendInt32(Quests.Count); if (CompletedQuestCount < Quests.Count) { var CurrentQuest = Quests[CompletedQuestCount]; Message.AppendInt32((int)CurrentQuest.Reward); CurrentQuest.Serialize(Message, (CurrentQuest.Id == Habbo.ProgressQuest), ((CurrentQuest.Id == Habbo.ProgressQuest) ? Habbo.ProgressForQuest : 0)); } else { Message.AppendInt32(0); Message.AppendUInt(0); Message.AppendBoolean(false); Message.AppendStringWithBreak(""); Message.AppendStringWithBreak(""); Message.AppendInt32(0); Message.AppendStringWithBreak(""); Message.AppendInt32(0); Message.AppendInt32(0); } Message.AppendBoolean(false); } } }