Cards cardsInHand = new CardsImpl(Zone.PICK);
cardsInHand.addAll(targetPlayer.getHand());
int count = Math.min(cardsInHand.size(), numberOfAllies);
TargetCard target = new TargetCard(count, Zone.PICK, new FilterCard());
Cards revealedCards = new CardsImpl();
if (targetPlayer.choose(Outcome.DrawCard, cardsInHand, target, game)) {
List<UUID> targets = target.getTargets();
for (UUID targetId : targets) {
Card card = game.getCard(targetId);
if (card != null) {
revealedCards.add(card);
}
}
}
TargetCard targetInHand = new TargetCard(Zone.PICK, new FilterCard("card to discard"));
if (!revealedCards.isEmpty()) {
targetPlayer.revealCards("Bala Ged Thief", revealedCards, game);
you.choose(Outcome.Neutral, revealedCards, targetInHand, game);
Card card = revealedCards.get(targetInHand.getFirstTarget(), game);