public override void PlayAsAction(ITurnScope turnScope) { turnScope.ChangeState(1.TurnActions()); turnScope.Player.DrawIntoHand(1, turnScope); turnScope.Publish(new ChooseToDiscardOrReturnTopCardFromSpy(turnScope, turnScope)); turnScope.Publish(new SpyAttackEffect(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { var id = Guid.NewGuid(); turnScope.Publish(new RemodelPlayedMessage(turnScope) { Id = id, OriginalEventId = id, CorrelationId = id }); }
public override void PlayAsAction(ITurnScope turnScope) { while (turnScope.Player.Hand.Count() < 7) { var state = new LibraryState(); turnScope.DrawCardIntoCardset(state.DrawnCards); var card = state.DrawnCards.First(); if (card.IsAction) { turnScope.Publish(new ActionDrawnForLibrary(card, state, turnScope)); } else { state.DrawnCards.Add(card, turnScope); } turnScope.PutCardsIntoHand(state.DrawnCards); turnScope.Discard(state.SetAsideCards); } }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.ChangeState(2.TurnCoins()); turnScope.Publish(new AttackCardPlayed(this, turnScope)); turnScope.Publish(new MilitiaAttackEffect(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { base.PlayAsAction(turnScope); turnScope.Publish(new SelectActionCardToThroneRoom(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.Publish(new WitchEffect(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.GainCardFromSupplyOntoTopOfDeck(Treasure.Silver); turnScope.Publish(new BureaucratAttackEffect(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.Publish(new SaboteurEffect(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.Publish(new ThiefAttackEffect(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.ChangeState(2.TurnCoins()); turnScope.Publish(new ChooseWhetherToPutDeckInDiscardPileFromChancellor(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.Publish(new GainCardCostingUpToMessage(4.Coins(), turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { base.PlayAsAction(turnScope); turnScope.Publish(new SelectCardsToChapel(turnScope)); }
public override void PlayAsAction(ITurnScope turnScope) { turnScope.Publish(new SelectCardToFeast(turnScope)); }