public override void DoSpecializedAttack(PlayerState currentPlayer, PlayerState otherPlayer, GameState gameState)
{
otherPlayer.RevealCardsFromDeck(2, gameState);
Card trashedCard = currentPlayer.RequestPlayerTrashOtherPlayersRevealedCard(gameState, card => card.isTreasure, otherPlayer);
if (trashedCard != null)
{
if (currentPlayer.actions.ShouldGainCard(gameState, trashedCard))
{
Card cardToGain = gameState.trash.RemoveCard(trashedCard);
currentPlayer.GainCard(gameState, cardToGain, originalLocation:DeckPlacement.Trash, defaultPlacement:DeckPlacement.Discard);
}
}
otherPlayer.MoveRevealedCardsToDiscard(gameState);
}