private void OnAnnounceAttrib(GameServerPacket packet)
        {
            IList <CardAttribute> attributes = new List <CardAttribute>();

            packet.ReadByte();             // player
            int count     = packet.ReadByte();
            int available = packet.ReadInt32();
            int filter    = 0x1;

            for (int i = 0; i < 7; ++i)
            {
                if ((available & filter) != 0)
                {
                    attributes.Add((CardAttribute)filter);
                }
                filter <<= 1;
            }
            attributes = _ai.OnAnnounceAttrib(count, attributes);
            int reply = 0;

            for (int i = 0; i < count; ++i)
            {
                reply += (int)attributes[i];
            }
            Connection.Send(CtosMessage.Response, reply);
        }