private void OnSelectPosition(GameServerPacket packet) { packet.ReadByte(); // player int cardId = packet.ReadInt32(); int pos = packet.ReadByte(); if (pos == 0x1 || pos == 0x2 || pos == 0x4 || pos == 0x8) { Connection.Send(CtosMessage.Response, pos); return; } IList <CardPosition> positions = new List <CardPosition>(); if ((pos & (int)CardPosition.FaceUpAttack) != 0) { positions.Add(CardPosition.FaceUpAttack); } if ((pos & (int)CardPosition.FaceDownAttack) != 0) { positions.Add(CardPosition.FaceDownAttack); } if ((pos & (int)CardPosition.FaceUpDefence) != 0) { positions.Add(CardPosition.FaceUpDefence); } if ((pos & (int)CardPosition.FaceDownDefence) != 0) { positions.Add(CardPosition.FaceDownDefence); } Connection.Send(CtosMessage.Response, (int)_ai.OnSelectPosition(cardId, positions)); }