def __init__(self, game, played_by): crd.Duration.__init__(self, game, played_by) self.title = "Fishing Village" self.description = "Now and at the start of your next turn, {}{}".format( crd.format_actions(2), crd.format_money(1), crd.format_actions(1), crd.format_money(1)) self.price = 3
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Highway" self.description = "{}, {}\n While this is in play, cards cost {} less, but not less than {}" \ "".format(crd.format_draw(1, True), crd.format_actions(1, True), crd.format_money(1, True), crd.format_money(0, True)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Cartographer" self.price = 5 self.type = "Action" self.description = "{}{}Look at the top 4 cards of your deck and discard any. Put the rest back in any order".format( crd.format_draw(1), crd.format_actions(1))
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = 'Spice Merchant' self.description = 'You may trash a treasure from your hand. '\ "If you do\n {}, {} or\n {}, {}".format(crd.format_draw(2, True), crd.format_actions(1), crd.format_money(2, True), crd.format_buys(1, True)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = 'Scheme' self.description = '{}{} At the end of this turn, you may choose an Action card discarded from play'\ ' this turn and put it on your deck'.format(crd.format_draw(1), crd.format_actions(1)) self.price = 3 self.type = 'Action'
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Stables" self.description = "You may discard a Treasure from hand. If you do:\n" \ "{}{}".format(crd.format_draw(3), crd.format_actions(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Laboratory" self.description = "{}{}".format(crd.format_draw(2), crd.format_actions(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Crossroads" self.description = "Reveal hand.\n{} per Victory card revealed.\n The first time you play this per turn:{}".format( crd.format_draw(1, True), crd.format_actions(3)) self.price = 2 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Cellar" self.description = "{}Discard any number of cards, +1 Card per card discarded.".format( crd.format_actions(1)) self.price = 2 self.type = "Action"
def __init__(self, game, played_by): crd.AttackCard.__init__(self, game, played_by) self.title = "Minion" self.description = "{}Choose one: {} or discard your hand, draw 4 cards and each other player "\ "with at least 5 cards in hand discards their hand and draws 4 cards.".format(crd.format_actions(1), crd.format_money(2, True)) self.price = 5 self.type = "Action|Attack"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Ironworks" self.description = "Gain a card costing up to $4. If it is an… \n"\ "Action card: {} Treasure card: {} Victory card: {}".format(crd.format_actions(1), crd.format_money(1), crd.format_draw(1)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Conspirator" self.description = "{}If you’ve played 3 or more Actions this turn (counting this):"\ " {} {}".format(crd.format_money(2), crd.format_draw(1, True), crd.format_actions(1, True)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Scout" self.description = "{} Reveal the top 4 cards of your deck and draw any Victory cards," \ "put the other cards on top of your deck in any order.".format(crd.format_actions(1)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Village" self.description = "{}{}".format(crd.format_draw(1), crd.format_actions(2)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Conspirator" self.description = "{}If you’ve played 3 or more Actions this turn (counting this):"\ " {} {}".format(crd.format_money(2), crd.format_draw(1, True), crd.format_actions(1, True)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = 'Oasis' self.description = '{}{}{} Discard a card'.format( crd.format_draw(1), crd.format_actions(1), crd.format_money(1)) self.type = "Action" self.price = 3
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Warehouse" self.description = "{} {} Discard 3 cards".format( crd.format_draw(3), crd.format_actions(1)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Scout" self.description = "{} Reveal the top 4 cards of your deck and draw any Victory cards," \ "put the other cards on top of your deck in any order.".format(crd.format_actions(1)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.VictoryCard.__init__(self, game, played_by) self.title = "Great Hall" self.description = "{}{}{}".format(crd.format_draw(1), crd.format_actions(1), crd.format_vp(1)) self.price = 3 self.vp = 1 self.type = "Action|Victory"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Shanty Town" self.description = "{}Reveal your hand. If you have no Action cards in hand, {}".format( crd.format_actions(2), crd.format_draw(2, True)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Wishing Well" self.description = "{}{}Name a card, then reveal the top card of your deck." \ "If it is the named card, put it in your hand.".format(crd.format_draw(1), crd.format_actions(1)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Market" self.description = "{}{}{}{}".format(crd.format_draw(1), crd.format_actions(1), crd.format_buys(1), crd.format_money(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.AttackCard.__init__(self, game, played_by) self.title = "Grand Market" self.description = "{}{}{}{}You can't buy this card if you have copper in play".format(crd.format_draw(1), crd.format_actions(1), crd.format_buys(1), crd.format_money(2)) self.price = 6 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Wishing Well" self.description = "{}{}Name a card, then reveal the top card of your deck." \ "If it is the named card, put it in your hand.".format(crd.format_draw(1), crd.format_actions(1)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Upgrade" self.description = "{}{} Trash a card from your hand. Gain a card costing exactly $1 more than it.".format( crd.format_draw(1), crd.format_actions(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Ironworks" self.description = "Gain a card costing up to $4. If it is an… \n"\ "Action card: {} Treasure card: {} Victory card: {}".format(crd.format_actions(1), crd.format_money(1), crd.format_draw(1)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Tactician" self.price = 5 self.description = "Discard your hand. " \ "If you discarded any cards this way, then at the start of your next turn, \n" \ "{} {} {}".format(crd.format_draw(5), crd.format_buys(1), crd.format_actions(1)) self.type = "Action|Duration"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Tribute" self.description = "The player to your left reveals then discards the top 2 cards of their deck.\n" \ " For each differently named card revealed, if it is an… Action Card: {}" \ " Treasure Card: {} Victory Card: {}".format(crd.format_actions(2), crd.format_money(2), crd.format_draw(2)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Tribute" self.description = "The player to your left reveals then discards the top 2 cards of their deck.\n" \ " For each differently named card revealed, if it is an… Action Card: {}" \ " Treasure Card: {} Victory Card: {}".format(crd.format_actions(2), crd.format_money(2), crd.format_draw(2)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Tactician" self.price = 5 self.description = "Discard your hand. " \ "If you discarded any cards this way, then at the start of your next turn, \n" \ "{} {} {}".format(crd.format_draw(5), crd.format_buys(1), crd.format_actions(1)) self.type = "Action|Duration"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Festival" self.description = "{}{}{}".format(crd.format_money(2), crd.format_actions(2), crd.format_buys(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Mining Village" self.description = "{}{}You may trash this card immediately to gain {}".format( crd.format_draw(1), crd.format_actions(2), crd.format_money(2, True)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Bazaar" self.price = 5 self.description = "{} {} {}".format(crd.format_draw(1), crd.format_actions(2), crd.format_money(1)) self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Pawn" self.description = "Choose two:\n {}, {}, {}, {}".format( crd.format_draw(1, True), crd.format_actions(1, True), crd.format_buys(1, True), crd.format_money(1, True)) self.price = 2 self.type = "Action"
def __init__(self, game, played_by): crd.AttackCard.__init__(self, game, played_by) self.title = "Grand Market" self.description = "{}{}{}{}You can't buy this card if you have copper in play".format( crd.format_draw(1), crd.format_actions(1), crd.format_buys(1), crd.format_money(2)) self.price = 6 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Treasury" self.description = "{} {} {}" \ "When you discard this card from play, if you didn't buy a Victory card this turn, " \ "you may put this on top of your deck".format(crd.format_draw(1), crd.format_money(1), crd.format_actions(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "City" self.description = "{}{} " \ "If there are one or more empty Supply piles: {}"\ "If there are two or more: {} {}".format(crd.format_draw(1), crd.format_actions(2), crd.format_draw(1), crd.format_money(1, True), crd.format_buys(1, True)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.VictoryCard.__init__(self, game, played_by) self.title = "Nobles" self.description = "{}Choose one: {}, or {}".format( crd.format_vp(2), crd.format_draw(3, True), crd.format_actions(2, True)) self.price = 6 self.vp = 2 self.type = "Action|Victory"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "City" self.description = "{}{} " \ "If there are one or more empty Supply piles: {}"\ "If there are two or more: {} {}".format(crd.format_draw(1), crd.format_actions(2), crd.format_draw(1), crd.format_money(1, True), crd.format_buys(1, True)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Inn" self.description = "{}{}Discard 2 cards\nWhen you gain Inn, look through your discard pile"\ " and reveal any action cards to shuffle into your deck.".format( crd.format_actions(2), crd.format_draw(2)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Treasury" self.description = "{} {} {}" \ "When you discard this card from play, if you didn't buy a Victory card this turn, " \ "you may put this on top of your deck".format(crd.format_draw(1), crd.format_money(1), crd.format_actions(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.VictoryCard.__init__(self, game, played_by) self.title = "Great Hall" self.description = "{}{}{}".format(crd.format_draw(1), crd.format_actions(1), crd.format_vp(1)) self.price = 3 self.vp = 1 self.type = "Action|Victory"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Peddler" self.description = "{}{}{}During your Buy phase, "\ "this costs $2 less for each action card in play (not less than $0)".format(crd.format_draw(1), crd.format_actions(1), crd.format_money(1)) self.price = 8 self.type = "Action"
def __init__(self, game, played_by): crd.Duration.__init__(self, game, played_by) self.title = "Fishing Village" self.description = "Now and at the start of your next turn, {}{}".format(crd.format_actions(2), crd.format_money(1), crd.format_actions(1), crd.format_money(1)) self.price = 3
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Upgrade" self.description = "{}{} Trash a card from your hand. Gain a card costing exactly $1 more than it.".format(crd.format_draw(1), crd.format_actions(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.VictoryCard.__init__(self, game, played_by) self.title = "Nobles" self.description = "{}Choose one: {}, or {}".format(crd.format_vp(2), crd.format_draw(3, True), crd.format_actions(2, True)) self.price = 6 self.vp = 2 self.type = "Action|Victory"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Warehouse" self.description = "{} {} Discard 3 cards".format(crd.format_draw(3), crd.format_actions(1)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Duration.__init__(self, game, played_by) self.title = "Caravan" self.price = 4 self.description = "{} " \ "Now and at the start of your next turn, {}".format(crd.format_actions(1), crd.format_draw(1))
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Mining Village" self.description = "{}{}You may trash this card immediately to gain {}".format(crd.format_draw(1), crd.format_actions(2), crd.format_money(2, True)) self.price = 4 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Cellar" self.description = "{}Discard any number of cards, +1 Card per card discarded.".format(crd.format_actions(1)) self.price = 2 self.type = "Action"
def __init__(self, game, played_by): crd.AttackCard.__init__(self, game, played_by) self.title = "Spy" self.description = "{}{}Each player (including you) reveals the top card of "\ "their deck and either discards it or puts it back, your choice".format(crd.format_draw(1), crd.format_actions(1)) self.price = 4
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Laboratory" self.description = "{}{}".format(crd.format_draw(2), crd.format_actions(1)) self.price = 5 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Village" self.description = "{}{}".format(crd.format_draw(1), crd.format_actions(2)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Pawn" self.description = "Choose two:\n {}, {}, {}, {}".format(crd.format_draw(1, True), crd.format_actions(1, True), crd.format_buys(1, True), crd.format_money(1, True)) self.price = 2 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Shanty Town" self.description = "{}Reveal your hand. If you have no Action cards in hand, {}".format(crd.format_actions(2), crd.format_draw(2, True)) self.price = 3 self.type = "Action"
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Pearl Diver" self.description = "{} {}" \ "Look at the bottom card of your deck. You may put it on top.".format(crd.format_draw(1), crd.format_actions(1)) self.price = 2 self.type = "Action"
def __init__(self, game, played_by): crd.Duration.__init__(self, game, played_by) self.title = "Lighthouse" self.description = "{} Now and at the start of your next turn {}" \ "While this is in play, you are unaffected by attack cards".format(crd.format_actions(1), crd.format_money(1)) self.price = 2