public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { currentPlayer.RevealCardsFromDeck(1); Card revealedCard = currentPlayer.CardsBeingRevealed.First(); currentPlayer.RequestPlayerDiscardRevealedCard(gameState); currentPlayer.MoveRevealedCardToTopOfDeck(); if (revealedCard.isAction) { currentPlayer.AddActions(1); } if (revealedCard.isTreasure) { currentPlayer.AddCoins(1); } if (revealedCard.isVictory) { currentPlayer.DrawOneCardIntoHand(); } }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { currentPlayer.RevealCardsFromDeck(3); gameState.gameLog.PushScope(); currentPlayer.RequestPlayerTrashRevealedCard(gameState); currentPlayer.RequestPlayerDiscardRevealedCard(gameState); currentPlayer.MoveRevealedCardToTopOfDeck(); gameState.gameLog.PopScope(); }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { currentPlayer.RevealCardsFromDeck(3, gameState); currentPlayer.RequestPlayerTrashRevealedCard(gameState, acceptableCard => true); currentPlayer.RequestPlayerDiscardRevealedCard(gameState); currentPlayer.MoveRevealedCardToTopOfDeck(); }