using DominionBase.Enums; using DominionBase.Players; using DominionBase.Properties; using System.Diagnostics.Contracts; namespace DominionBase.Cards.Nocturne { public class TheFlamesGift : Boon { public TheFlamesGift() : base(Source.Nocturne, Traits.Trasher) { } public override bool Receive(IPlayer player) { Contract.Requires(player != null, "player cannot be null"); base.Receive(player); var choiceTrash = new Choice(Resource.ChooseACardToTrash, this, player.Hand, ChoiceOutcome.Trash, player, minimum: 0, maximum: 1); var resultTrash = player.MakeChoice(choiceTrash); player.Trash(this, player.RetrieveCardsFrom(DeckLocation.Hand, resultTrash.Cards)); return true; } } }