public sealed class DisplayEquipmentInfo : Packet { public DisplayEquipmentInfo(Item item, EquipmentInfo info) : base(0x1C) { EquipInfoAttribute[] attrs = info.Attributes; string text = ClilocTranslator.ClilocStringList[info.Number].ToString(); if (info.Crafter != null && info.Crafter.Name != null) text = string.Format("{0} [crafted by {1}]",text, info.Crafter.Name); for ( int i = 0; i < attrs.Length; ++i ) { if ( attrs[i].Charges > 0) text = string.Format("{0} [{1}:{2}]", text, ClilocTranslator.ClilocStringList[attrs[i].Number].ToString(), attrs[i].Charges.ToString()); else if (attrs[i].Charges == 0) text = string.Format("{0} [{1}:None]", text, ClilocTranslator.ClilocStringList[attrs[i].Number].ToString()); else text = string.Format("{0} [{1}]", text, ClilocTranslator.ClilocStringList[attrs[i].Number].ToString()); } if (!info.Unidentified) text = string.Format("{0} [Unidentified]", text); this.EnsureCapacity(45 + text.Length); m_Stream.Write((int)item.Serial); m_Stream.Write((short)item.ItemID); m_Stream.Write((byte)MessageType.Label); m_Stream.Write((short)906); m_Stream.Write((short)3); m_Stream.WriteAsciiFixed("", 30); m_Stream.WriteAsciiNull(text); m_Stream.Write( (int) -1 ); } }