   playEffect:
     (state) ->
       state.quarries += 1
+}
+
+makeCard 'Sea Hag', action, {
+  cost: 4
+  isAttack: true
+  
+  playEffect: (state) ->
+    state.attackOpponents (opp) ->
+      state.discardFromDeck(opp, 1)
+
+      # If no Curses are left to gain, we don't want a Curse to be
+      # fished out of the opponent's discard pile
+      if state.supply[c.Curse] > 0
+        state.gainCard(opp, c.Curse)
+        transferCardToTop(c.Curse, opp.discard, opp.draw)
 }
 
 makeCard 'Shanty Town', action, {

    vp
}

makeCard "Followers", action, {
  cost: 0
  isAttack: true

      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, {
