private RequestPlayerTrashCardFromHandAndGainCard ( |
||
gameState | ||
acceptableCardsToTrash | CardPredicate | |
costConstraint | CostConstraint | |
cost | int | |
cardRelativeCost | CardRelativeCost | |
isOptionalToTrash | bool | |
isOptionalToGain | bool | |
defaultLocation | DeckPlacement | |
return | Dominion.Card |
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { currentPlayer.RequestPlayerTrashCardFromHandAndGainCard( gameState, acceptableCard => true, CostConstraint.UpTo, 5, CardRelativeCost.AbsoluteCost); }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { currentPlayer.RequestPlayerTrashCardFromHandAndGainCard( gameState, card => card.isTreasure, CostConstraint.UpTo, 3, CardRelativeCost.RelativeCost, isOptionalToTrash: false, isOptionalToGain: false, defaultLocation: DeckPlacement.Hand); }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { PlayerActionChoice playerChoice = currentPlayer.RequestPlayerChooseBetween(gameState, acceptableChoice => acceptableChoice == PlayerActionChoice.GainCard || acceptableChoice == PlayerActionChoice.PlusCard || acceptableChoice == PlayerActionChoice.Trash); switch (playerChoice) { case PlayerActionChoice.PlusCard: { currentPlayer.DrawAdditionalCardsIntoHand(3, gameState); foreach (PlayerState otherPlayer in gameState.players.OtherPlayers) { otherPlayer.DrawAdditionalCardsIntoHand(1, gameState); } break; } case PlayerActionChoice.GainCard: { currentPlayer.GainCardFromSupply(gameState, Gold.card); foreach (PlayerState otherPlayer in gameState.players.OtherPlayers) { otherPlayer.GainCardFromSupply(gameState, Silver.card); } break; } case PlayerActionChoice.Trash: { currentPlayer.RequestPlayerTrashCardFromHandAndGainCard( gameState, acceptableCardsToTrash => true, CostConstraint.Exactly, 2, CardRelativeCost.RelativeCost, isOptionalToTrash: true, isOptionalToGain: false); foreach (PlayerState otherPlayer in gameState.players.OtherPlayers) { otherPlayer.RequestPlayerTrashCardFromHandAndGainCard( gameState, acceptableCardsToTrash => true, CostConstraint.Exactly, 1, CardRelativeCost.RelativeCost, isOptionalToTrash: true, isOptionalToGain: false); } break; } } }
public override void DoSpecializedWhenBuy(PlayerState currentPlayer, GameState gameState) { Card card = currentPlayer.RequestPlayerTrashCardFromHandAndGainCard( gameState, acceptableCard => true, CostConstraint.Exactly, 2, CardRelativeCost.RelativeCost); }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { for (int i = 0; i < 2; ++i) { Card trashedCard = currentPlayer.RequestPlayerTrashCardFromHandAndGainCard( gameState, card => true, CostConstraint.Exactly, 1, CardRelativeCost.RelativeCost); } }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { currentPlayer.RequestPlayerTrashCardFromHandAndGainCard( gameState, acceptableCardsToTrash => true, CostConstraint.Exactly, 1, CardRelativeCost.RelativeCost, isOptionalToTrash: false, isOptionalToGain: false); }
public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState) { Card cardToTrash = currentPlayer.RequestPlayerTrashCardFromHandAndGainCard(gameState, card => true, CostConstraint.UpTo, 3, CardRelativeCost.RelativeCost); }