using DominionBase.Enums; using System.Diagnostics.Contracts; namespace DominionBase.Cards.Nocturne { public abstract class Fate : Card { internal Fate(Categories category, Location location, Traits traits = Traits.None, CardBack cardBack = CardBack.Standard, Edition edition = Edition.All) : base(category | Categories.Fate, Source.Nocturne, location, traits | Traits.ConditionalBenefit | Traits.IncludesExtraPiles, cardBack, edition) { } public override void SetupSupply(IGame game, ISupply supply) { Contract.Requires(game != null, "game cannot be null"); base.SetupSupply(game, supply); if (!game.Table.SpecialPiles.ContainsKey(TypeClass.Boons)) { var boonSupply = new Boons(game); boonSupply.FullSetup(); game.Table.SpecialPiles.Add(TypeClass.Boons, boonSupply); } } } }