   newCard.parent = origCard.name   # for debugging
   newCard
 
-anycard = {
+basicCard = {
   isAction: false
   isTreasure: false
   isVictory: false

  cost: 6
  coins: 2
  mayBeBought: (state) ->
    for card in state.current.inPlay
      if card is Copper
        return false
    true
}

Menagerie = makeCard "Menagerie", basicCard, {

      ret(state)
  ]

ShantyTown = makeCard 'Shanty Town', basicCard, {
  cost: 3
  actions: +2
  playEffects: [
    (state, ret) ->
      draw = 2
      for card in state.current.inPlay
        if card.isAction
          draw = 0
          break
      ret(state.current.drawCards(draw))
  ]
}

###
So far, a State needs to support these methods:
