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 = "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 = "Steward" self.description = "Choose one:\n{}, or {}, or trash exactly 2 cards from your hand.".format( crd.format_draw(2, True), crd.format_money(2, True)) self.price = 3 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.AttackCard.__init__(self, game, played_by) self.title = "Margrave" self.description = "{}{} Each other player draws a card, then discards down to 3 cards in hand.".format( crd.format_draw(3), crd.format_buys(1)) self.price = 5 self.type = "Action|Attack"
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 = "Embassy" self.price = 5 self.type = "Action" self.description = "{} Discard 3 cards.\nWhen you gain this, opponents gain a silver".format( crd.format_draw(5))
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 = "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 = "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.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 = "Courtyard" self.description = "{}\nPut a card from your hand on top of your deck.".format( crd.format_draw(3, True)) self.price = 2 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 = "Council Room" self.description = "{}{} Each other player draws a card".format( crd.format_draw(4), 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 = "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 = "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.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.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.AttackCard.__init__(self, game, played_by) self.title = "Torturer" self.description = "{}Each other player chooses one: he discards 2 cards; "\ "or he gains a Curse card, putting it in their hand.".format(crd.format_draw(3)) self.price = 5 self.type = "Action|Attack"
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 = "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 = "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.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.AttackCard.__init__(self, game, played_by) self.title = "Rabble" self.description = "{}Each other player reveals the top 3 cards of his deck, " \ "discards the revealed Actions and Treasures, and puts the rest back " \ "on top in any order he chooses.".format(crd.format_draw(3)) self.price = 5 self.type = "Action|Attack"
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 = "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 = "Masquerade" self.description = "{}Each player passes a card in their hand to the player on their left."\ "You may trash a card from your hand.".format(crd.format_draw(2)) self.price = 3 self.type = "Action" self.passed_card = ""
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 = "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 = "Moat" self.description = "{} Reaction: Whenever another player plays an Attack card,"\ " you may reveal this card from your hand,"\ " if you do, you are unaffected by the Attack.".format(crd.format_draw(2)) self.price = 2 self.type = "Action|Reaction" self.trigger = "Attack"
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 = "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 = "Wharf" self.description = "Now and at the start of your next turn:\n" \ "{} {}.".format(crd.format_draw(2), crd.format_buys(1)) self.price = 5
def __init__(self, game, played_by): crd.Card.__init__(self, game, played_by) self.title = "Council Room" self.description = "{}{} Each other player draws a card".format(crd.format_draw(4), 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 = "Smithy" self.description = "{}".format(crd.format_draw(3)) self.price = 4 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 = "Courtyard" self.description = "{}\nPut a card from your hand on top of your deck.".format(crd.format_draw(3, True)) self.price = 2 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 = "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 = "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.AttackCard.__init__(self, game, played_by) self.title = "Witch" self.description = "{}Each other player gains a curse card".format(crd.format_draw(2)) self.price = 5
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 = "Steward" self.description = "Choose one:\n{}, or {}, or trash exactly 2 cards from your hand.".format(crd.format_draw(2, True), crd.format_money(2, True)) self.price = 3 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"