using System; using System.Collections.Generic; using System.Linq; using System.Text; using DuckEmulator.HabboHotel.Outside.Items; using DuckEmulator.HabboHotel.Outside.Messages.Types; namespace DuckEmulator.HabboHotel.Outside.Catalogue { class CatalogueItem { internal uint Id; internal uint BaseId; internal int PageId; internal int CreditsCost = new int(); internal int PixelsCost = new int(); internal int Amount = 1; internal CatalogueItem(uint Id, int PageId, uint BaseId, int CreditsCost, int PixelsCost, int Amount) { this.Id = Id; this.PageId = PageId; this.BaseId = BaseId; this.CreditsCost = CreditsCost; this.PixelsCost = PixelsCost; this.Amount = Amount; } internal Item GetBaseItem() { return DuckEnvironment.ItemManager.GetItem(BaseId); } internal void Serialize(ServerMessage Message) { Message.AppendUInt(Id); Message.AppendStringWithBreak(GetBaseItem().SpriteName); Message.AppendInt32(CreditsCost); Message.AppendInt32(PixelsCost); Message.AppendInt32(0); Message.AppendBoolean(true); Message.AppendStringWithBreak(GetBaseItem().Type); Message.AppendUInt(GetBaseItem().SpriteId); Message.AppendStringWithBreak((GetBaseItem().SpriteName.Contains("wallpaper") ? GetBaseItem().SpriteName.Split('_')[2] : "")); Message.AppendInt32(Amount); Message.AppendInt32(-1); Message.AppendBoolean(false); // idk? } } }