public void RandomizeEvents(Random random)
{
int cEventsToInclude = 0;
int cEventRemaining = 20;
int totalKingdomCount = Dominion.Cards.AllKingdomCards().Count();
for (int i = 0; i < 10; ++i)
{
int roll = random.Next(totalKingdomCount);
if (roll <= cEventRemaining)
{
cEventsToInclude++;
cEventRemaining--;
i--;
continue;
}
totalKingdomCount--;
}
var allEventsCards = Dominion.Cards.AllCards().Where(c => c.isEvent).ToArray<Dominion.Card>();
var cardPicker = new Dominion.UniqueCardPicker(allEventsCards, random);
this.events.Clear();
PopulateCardListToCount(cEventsToInclude, this.events, cardPicker, c => true);
}