using DominionBase.Enums; using DominionBase.Players; using System.Diagnostics.Contracts; namespace DominionBase.Cards.Menagerie { public class Stockpile : Card { public Stockpile() : base(Categories.Treasure, Source.Menagerie, Location.Kingdom, Traits.DeckReduction | Traits.Exiler | Traits.PlusBuy | Traits.PlusCoin) { BaseCost = new Cost(3); Benefit.Currency.Coin.Value = 3; Benefit.Buys = 1; } public override void FollowInstructions(IPlayer player) { Contract.Requires(player != null, "player cannot be null"); base.FollowInstructions(player); if (player.InPlay.Contains(PhysicalCard)) { var toExile = player.RetrieveCardFrom(DeckLocation.InPlay, PhysicalCard); player.AddCardInto(TypeClass.Exile, toExile); player._Game.SendMessage(player, this, "Exile", toExile); } } } }