using DominionBase.Enums; using DominionBase.Piles; using DominionBase.Players; using System.Diagnostics.Contracts; namespace DominionBase.Cards.Menagerie { public class Supplies : Card { public Supplies() : base(Categories.Treasure, Source.Menagerie, Location.Kingdom, Traits.CardOrdering | Traits.Gainer | Traits.IncludesExtraPiles | Traits.PlusCoin) { BaseCost = new Cost(2); Benefit.Currency.Coin.Value = 1; } public override void SetupSupply(IGame game, ISupply supply) { Contract.Requires(game != null, "game cannot be null"); base.SetupSupply(game, supply); Horse.SetupSupply(game); } public override void FollowInstructions(IPlayer player) { Contract.Requires(player != null, "player cannot be null"); base.FollowInstructions(player); player.Gain((ISupply)player._Game.Table.SpecialPiles[TypeClass.Horse], this, DeckLocation.Deck, DeckPosition.Top); } } }