       if potions == 0 and coins <= 5 and card.isAction
         choices.push(card)
     state.gainOneOf(state.current, choices)
+}
+
+makeCard 'Vineyard', c.Estate, {
+  cost: 0
+  costPotion: 1
+  getVP: (state) -> Math.floor(state.current.numActionCardsInDeck().length / 3)
 }
 
 makeCard 'Warehouse', action, {

  attackReaction:
    (player) ->
      transferCard(c['Horse Traders'], player.hand, player.duration)
}

makeCard "Menagerie", action, {

    state.tradeRouteValue
}

makeCard 'Treasure Map', action {
  cost: 4

  playEffect: (state) ->
    trashedMaps = 0

    if c['Treasure Map'] in state.current.inPlay
      state.current.inPlay.remove(c['Treasure Map'])
      trashedMaps += 1

    if c['Treasure Map'] in state.current.hand
      doTrash(c['Treasure Map'])
      trashedMaps += 1

    if trashedMaps == 2
      for num in [1..4]
        state.gainCard(state.current, c.Gold, true)        
        transferCardToTop(c.Gold, state.current.discard, state.current.draw)
      state.log("…gaining 4 Golds, putting them on top of the deck.")      
}

makeCard "Trusty Steed", c["Bag of Gold"], {
  actions: 0
  playEffect: (state) ->
