using DominionBase.Enums; using System.Diagnostics.Contracts; using System.Linq; namespace DominionBase.Cards.Menagerie { public class Commerce : Event { public Commerce() : base(Source.Menagerie, 5, Traits.Gainer) { } public override void Bought(IPlayer player) { Contract.Requires(player != null, "player cannot be null"); base.Bought(player); var uniqueGained = player.CurrentTurn.CardsGained.GroupBy(c => c.Name).Count(); if (uniqueGained > 0) player.Gain(player._Game.Table.Gold, this, uniqueGained); } } }