private void OnAnnounceRace(GameServerPacket packet)
        {
            IList <CardRace> races = new List <CardRace>();

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

            for (int i = 0; i < 23; ++i)
            {
                if ((available & filter) != 0)
                {
                    races.Add((CardRace)filter);
                }
                filter <<= 1;
            }
            races = _ai.OnAnnounceRace(count, races);
            int reply = 0;

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