using DominionBase.Enums; namespace DominionBase.Cards.Renaissance { public class Patron : Card { public Patron() : base(Categories.Action | Categories.Reaction, Source.Renaissance, Location.Kingdom, Traits.Component | Traits.PlusCoffer | Traits.PlusCoin | Traits.PlusVillager) { BaseCost = new Cost(4); Benefit.Villagers = 1; Benefit.Currency.Coin.Value = 2; OwnerChanged += Patron_OwnerChanged; } public override void TearDown(IGame game) { Patron_OwnerChanged(this, new OwnerChangedEventArgs(Owner, null)); base.TearDown(game); OwnerChanged -= Patron_OwnerChanged; } private void Patron_OwnerChanged(object sender, OwnerChangedEventArgs e) { if (e.OldOwner != null) e.OldOwner.Revealed.PileChanged -= Revealed_PileChanged; if (e.NewOwner != null) e.NewOwner.Revealed.PileChanged += Revealed_PileChanged; } private void Revealed_PileChanged(object sender, Piles.PileChangedEventArgs e) { if (e.AddedCards.Contains(this)) Owner.ReceiveBenefit(this, new CardBenefit { Coffers = 1 }); } } }