public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
{
Card trashedCard = null;
if (currentPlayer.actions.ShouldTrashCard(gameState, Cards.Raze))
{
if (currentPlayer.MoveCardFromPlayToTrash(gameState))
trashedCard = Cards.Raze;
}
else
{
trashedCard = currentPlayer.RequestPlayerTrashCardFromHand(gameState, c => true, isOptional: false);
}
if (trashedCard == null)
return;
int cardsToLookAt = trashedCard.CurrentCoinCost(currentPlayer);
if (cardsToLookAt == 0)
return;
currentPlayer.LookAtCardsFromDeck(cardsToLookAt, gameState);
currentPlayer.RequestPlayerMoveRevealedCardToHand(gameState, c => true);
currentPlayer.MoveLookedAtCardsToDiscard(gameState);
}