public GameState PlayYearOfPlenty(Player player, Resource resource1, Resource resource2)
{
var playable = GetPlayableDevelopmentCards(player);
if (resourceBank[(int)resource1] == 0) throw new NoMoreCardsException("Resource bank is out of " + resource1);
if (resourceBank[(int)resource2] == 0) throw new NoMoreCardsException("Resource bank is out of " + resource2);
if (!playable.Contains(DevelopmentCard.YearOfPlenty)) throw new InsufficientResourcesException("No Year of Plenty found in hand");
player.DevelopmentCards.Remove(DevelopmentCard.YearOfPlenty);
GetResource(player, resource1);
GetResource(player, resource2);
Log(new PlayYearOfPlentyLogEvent(player.Id, resource1, resource2));
return CurrentGamestate();
}