public ObjectPropertyListPacket(PacketReader reader) : base(0xD6, "Object Property List") { reader.ReadInt16(); // Always 0x0001 _serial = reader.ReadInt32(); reader.ReadInt16(); // Always 0x0000 _hash = reader.ReadInt32(); _clilocs = new List<int>(); _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) { _clilocs.Add(clilocId); int textLength = reader.ReadUInt16(); string args = string.Empty; if (textLength > 0) { args = reader.ReadUnicodeStringReverse(textLength / 2); } _arguments.Add(args); clilocId = reader.ReadInt32(); } }