public ObjectPropertyListPacket(PacketReader reader) : base(0xD6, "Object Property List") { reader.ReadInt16(); // Always 0x0001 m_serial = reader.ReadInt32(); reader.ReadInt16(); // Always 0x0000 m_hash = reader.ReadInt32(); m_clilocs = new List<int>(); m_arguments = new List<string>(); // Loop of all the item/creature's properties to display in the order to display them. The name is always the first entry. int clilocId = reader.ReadInt32(); while (clilocId != 0) { m_clilocs.Add(clilocId); int textLength = reader.ReadUInt16(); string args = string.Empty; if (textLength > 0) { args = reader.ReadUnicodeStringReverse(textLength / 2); } m_arguments.Add(args); clilocId = reader.ReadInt32(); } }