private MoveCardFromPlayedAreaToTrash ( Dominion.Card card, |
||
card | Dominion.Card | |
gameState | ||
return | void |
private new void DoSpecializedActionToCardWhileInPlay(PlayerState currentPlayer, GameState gameState, Card card) { if (card.isAttack) { if (currentPlayer.actions.ShouldTrashCard(gameState, this)) { currentPlayer.MoveCardFromPlayedAreaToTrash(Cards.Urchin, gameState); currentPlayer.GainCardFromSupply(Cards.Mercenary, gameState); } } }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { Card cardToPlay = currentPlayer.RequestPlayerChooseCardToRemoveFromHandForPlay(gameState, acceptableCard => acceptableCard.isAction, isTreasure: false, isAction: true, isOptional: true); if (cardToPlay != null) { currentPlayer.DoPlayAction(cardToPlay, gameState, countTimes: 2); currentPlayer.MoveCardFromPlayedAreaToTrash(cardToPlay, gameState); currentPlayer.RequestPlayerGainCardFromSupply(gameState, acceptableCard => acceptableCard.CurrentCoinCost(currentPlayer) == cardToPlay.CurrentCoinCost(currentPlayer) + 1 && acceptableCard.potionCost == cardToPlay.potionCost && acceptableCard.isAction, "must gain an action card costing exactly one more than the trashed card"); } }