           state.gainCard(state.current, card)
         else
           state.gainCard(opp, card)
+}
+
+makeCard 'Margrave', attack, {
+  cost: 5
+  cards: +3
+  buys: +1
+  playEffect: (state) ->
+    state.attackOpponents (opp) ->
+      state.drawCards(opp, 1)
+      if opp.hand.length > 3
+        state.requireDiscard(opp, opp.hand.length - 3)
 }
 
 makeCard "Militia", attack, {

      state.log("#{state.current.ai} uses Herbalist to put #{choice} back on the deck.")
      transferCardToTop(choice, state.current.inPlay, state.current.draw)
      
}

makeCard "Horse Traders", action, {

          state.revealHand(opp)
}

makeCard 'Embassy', action, {
  cost: 5
  cards: +5
  playEffect: (state) ->
    state.requireDiscard(state.current, 3)
    
  gainEffect: (state, player) ->
    for pl in state.players
      if pl isnt player
        state.gainCard(pl, c.Silver)
}

makeCard 'Explorer', action, {
  cost: 5

