Large updates, go script now puts the data into a latex acceptable
format
This commit is contained in:
@@ -1,208 +1,212 @@
|
||||
[
|
||||
{
|
||||
"Name": {
|
||||
"en": "Nil"
|
||||
"en": "NIL"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All players must immediately play a Stance card."
|
||||
"en": "All players must immediately play a \\stn{} card."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Curiosity"
|
||||
"en": "CURIOSITY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All players holding at least one Betrayal must raise their hands. You may swap any held Stance of yours for a Betrayal of their choice."
|
||||
"en": "All players holding at least one \\btr{} must raise their hands. You may swap any held \\stn{} of yours for a \\btr{} of their choice."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Cacophony"
|
||||
"en": "CACOPHONY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All players must immediately reveal their Cacophony cards. If there are 3 or fewer other Cacophony cards revealed, gain that many points. Otherwise, discard all your Action cards."
|
||||
"en": "All players must immediately reveal their \\textbf{Cacophony} cards. If there are 3 or fewer other \\textbf{Cacophony} cards revealed, gain that many points. Otherwise, discard all your \\act{} cards."
|
||||
},
|
||||
"Copies": 5
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Misery"
|
||||
"en": "MISERY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All other players discard two Action cards. If Joy is in play, double this effect."
|
||||
"en": "All other players discard 2 \\act{} cards. If \\textbf{Joy} is in play, double this effect."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Persistent": true
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Joy"
|
||||
"en": "JOY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "You may play two Action cards immediately. If Misery has been played this round, you may play three Action cards immediately instead."
|
||||
"en": "You may play 3 \\act{} cards immediately. If \\textbf{Misery} has been played this round, you may play 3 \\act{} cards immediately instead."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Persistent": true
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Implosion"
|
||||
"en": "IMPLOSION"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Cancel the effects of another player's Action."
|
||||
"en": "Cancel the effects of another player's \\act{}."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Instant": {
|
||||
"en": "At any point while a player is playing an Action."
|
||||
"en": "At any point while a player is playing an \\act{}."
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "That Which Is Unseen"
|
||||
"en": "THAT WHICH is UNSEEN"
|
||||
},
|
||||
"Description": {
|
||||
"en": "You have 60 seconds to look at the Action card deck. You may order it or shuffle it in any way you wish before putting it back."
|
||||
"en": "You may look at the \\act{} draw deck. You may order it or shuffle it in any way you wish before putting it back."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Paranoia"
|
||||
"en": "PARANOIA"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All players holding at least one Bargain must raise their hands. You may swap any held Stance of yours with a Bargain of their choice."
|
||||
"en": "All players holding at least one \\brg{} must raise their hands. You may swap any held \\stn{} of yours with a \\brg{} of their choice."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Duplicity"
|
||||
"en": "DUPLICITY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "You may swap two of your played Stance cards."
|
||||
"en": "You may swap two of your played \\stn{} cards."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Burning Truth"
|
||||
"en": "BURNING TRUTH"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Choose a player to reveal their held Stance cards, then give them this Burning Truth card."
|
||||
"en": "Choose any player who must reveal their held \\stn{} cards to everyone, then give that player this \\textbf{Burning Truth} card instead of discarding it."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Landmine"
|
||||
"en": "LANDMINE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If a player tries to take or swap any of your held cards, reveal this card and negate that effect. The player must also discard all their Action cards."
|
||||
"en": "Negate that effect. The player must also discard all their \\act{} cards."
|
||||
},
|
||||
"Instant": true,
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Toxic Shock"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All other players must discard two Actions."
|
||||
"Instant": {
|
||||
"en": "If a player tries to take or swap any of your held cards."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Subterfuge"
|
||||
"en": "TOXIC SHOCK"
|
||||
},
|
||||
"Description": {
|
||||
"en": "You may look at the played Stance cards of any one other player."
|
||||
"en": "All other players must discard 2 \\act{} cards."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Famine"
|
||||
"en": "SUBTERFUGE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "While this card is in effect, no Action cards may be drawn."
|
||||
"en": "You may look at the played \\stn{} cards of any one other player."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "FAMINE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "While this card is in effect, no \\act{} cards may be drawn."
|
||||
},
|
||||
"Persistent": true,
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Abundance"
|
||||
"en": "ABUNDANCE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Remove Famine from play. Draw as many Action cards as there are players, then give each player one card of your choosing."
|
||||
"en": "Remove \\textbf{Famine} from play. Draw as many \\act{} cards as there are players, then give each player one card of your choosing."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Amnesia"
|
||||
"en": "AMNESIA"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Remove all Persistent cards from play."
|
||||
"en": "Remove all persistent \\act{} cards from play."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Honesty"
|
||||
"en": "HONESTY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "You may turn any of your own played Stances face-up."
|
||||
"en": "You may turn any of your own played \\stn{} cards face-up."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Fear"
|
||||
"en": "FEAR"
|
||||
},
|
||||
"Description": {
|
||||
"en": "While you hold this card, you may not play any other Actions."
|
||||
"en": "While you hold this card, you may not play any other \\act{} cards."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Love"
|
||||
"en": "LOVE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If another player has Love, they may reveal it and discard it, and you both gain 2 points. Only the first player to reveal will gain points. If no player reveals Love, you lose 2 points."
|
||||
"en": "If another player has \\textbf{Love}, they may reveal it and discard it, and you both gain 2 points. Only the first player to reveal will gain points. If no player reveals \\textbf{Love}, you lose 2 points."
|
||||
},
|
||||
"Copies": 3
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Tithes"
|
||||
"en": "TITHES"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All players must give you one of their Action cards, of their choosing."
|
||||
"en": "All players must give you one of their \\act{} cards, of their choosing."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Purification"
|
||||
"en": "PURIFICATION"
|
||||
},
|
||||
"Description": {
|
||||
"en": "All players, including yourself, must reveal one of their played Stances and then return it to their hand."
|
||||
"en": "All players, including yourself, must reveal one of their played \\stn{} cards and then return it to their hand."
|
||||
},
|
||||
"Copies": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Turnabout is Fair Play"
|
||||
"en": "TURNABOUT is FAIR PLAY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If an Action allows a player to take cards from your hand, you may pick it up and play it yourself immediately afterwards."
|
||||
"en": "You may pick the card up and play it yourself immediately afterwards."
|
||||
},
|
||||
"Instant": {
|
||||
"en": "If an \\act{} allows a player to take cards from your hand"
|
||||
},
|
||||
"Instant": true,
|
||||
"Copies": 1
|
||||
}
|
||||
]
|
||||
@@ -1,137 +1,137 @@
|
||||
[
|
||||
{
|
||||
"Name": {
|
||||
"en": "Entropy"
|
||||
"en": "ENTROPY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Cancel the effects of all Final cards this round."
|
||||
"en": "Cancel the effects of all \\fin{} cards this round."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 0
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Cursed Deck"
|
||||
"en": "CURSED DECK"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Swap two played Stances between any two players other than yourself."
|
||||
"en": "Swap two played \\stn{} cards between any two players other than yourself."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 1
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Stoic Hymnal"
|
||||
"en": "STOIC HYMNAL"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Your Stances cannot be changed by any future Final effects this round."
|
||||
"en": "Your \\stn{} cards cannot be changed by any future \\fin{} effects this round."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 2
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Vengeful Vow"
|
||||
"en": "VOW of VENGEANCE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If you have Bargained with a player who has Betrayed you, you may take all their Action and Final cards."
|
||||
"en": "If you have played a \\brg{} against a \\btr{}, you may take all their held \\act{} and \\fin{} cards."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 3
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Act of Penance"
|
||||
"en": "ACT of PENANCE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If you have Betrayed a player who has Bargained with you, you may change your stance to a Bargain, if you have one. If you do so, the other player gains 2 points."
|
||||
"en": "If you have played a \\btr{} against a \\brg{}, you may change your stance to a \\brg{}, if you are holding one. If you do so, the other player gains 2 extra points."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 4
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Lord of the Pit"
|
||||
"en": "LORD of the PIT"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Gain 3 points for every time you have Betrayed a Betrayer in this round."
|
||||
"en": "Gain 3 points for every time you have played a \\btr{} against a \\btr{} in this round."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 5
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Piety"
|
||||
"en": "PIETY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Gain 3 points for every time you have Bargained with a Betrayer in this round."
|
||||
"en": "Gain 3 points for every time you have played a \\brg{} against a \\btr{} in this round."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 6
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Perjury"
|
||||
"en": "PERJURY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Replace one of your played Stance cards with one of the opposite Stance."
|
||||
"en": "Replace one of your played \\stn{} cards with one of the opposite \\stn{}, if you hold one."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 7
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Martyrdom"
|
||||
"en": "MARTYRDOM"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Choose another player. Both of you lose 5 points. If you are the player with the lowest score before losing these points, only the other player loses 5 points."
|
||||
"en": "Choose another player. Both of you lose 5 points. If you are already the player with the lowest score before losing these points, only the other player loses 5 points."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 8
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Pantheon"
|
||||
"en": "PANTHEON"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If more than half the Final cards have already been resolved, gain 3 points. Otherwise, lose 1 point."
|
||||
"en": "If more than half the \\fin{} cards have already been resolved, gain 3 points. Otherwise, lose 1 point."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 9
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "The Abyss"
|
||||
"en": "the ABYSS"
|
||||
},
|
||||
"Description": {
|
||||
"en": "The player of the next Final to resolve loses 4 points."
|
||||
"en": "The player of the next \\fin{} to resolve loses 4 points."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 10
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Flagellation"
|
||||
"en": "FLAGELLATION"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Lose 3 points. You may not lose any further points this round."
|
||||
"en": "Lose 3 points. You may not lose any further points this round, for any reason."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 11
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Chaos"
|
||||
"en": "CHAOS"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Pick up 4 Stance cards, shuffle them, and randomly deal them back to where they were taken from face-down."
|
||||
"en": "Pick up 4 played \\stn{} cards, shuffle them, and randomly deal them back to where they were taken from before revealing them."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 12
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Funeral Pyre"
|
||||
"en": "FUNERAL PYRE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Take 3 points from one player, and give 3 points to a player other than yourself."
|
||||
@@ -141,10 +141,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Interregnum"
|
||||
"en": "INTERREGNUM"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Choose another player. All other players vote for you, or for the other player. If you win a majority of votes, take 3 points from them. If you do not, give 3 points to them."
|
||||
"en": "Choose another player. All other players vote for you, or for the other player. If you win a majority of votes, take 3 points from the other player. If you do not, give 3 points to them."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 14
|
||||
@@ -154,27 +154,27 @@
|
||||
"en": "P'Zea-ia-Gwlfth"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If this is the last Final to resolve, gain 5 points."
|
||||
"en": "If this is the last \\fin{} to resolve, gain 5 points."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 15
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Anarchy"
|
||||
"en": "ANARCHY"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Every player gains 1 point for every Bargain they have played."
|
||||
"en": "Every player gains 1 point for every \\brg{} they have played."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 16
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Burnt Offerings"
|
||||
"en": "BURNT OFFERINGS"
|
||||
},
|
||||
"Description": {
|
||||
"en": "You may ignore any points lost due to any one Betrayal."
|
||||
"en": "You may ignore any points lost due to any one \\btr{}."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 17
|
||||
@@ -184,37 +184,37 @@
|
||||
"en": "MÓRRÍGAN"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Gain 1 point for every time a player Betrayed a Bargain in this round."
|
||||
"en": "Gain 1 point for every time a player played a \\btr{} against a \\brg{} in this round."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 18
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Sacrifice"
|
||||
"en": "SACRIFICE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Gain 3 points and discard all of your Action and Final cards."
|
||||
"en": "Gain 3 points and discard all of your \\act{} and \\fin{} cards."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 19
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Contrition"
|
||||
"en": "CONTRITION"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Ask a player you have Betrayed if they forgive you. If they do, you gain 3 points, and they gain 1 point."
|
||||
"en": "Ask a player you have played a \\btr{} against if they forgive you. If they do, you gain 3 points, and they gain 1 point."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 20
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Final Rites"
|
||||
"en": "FINAL RITES"
|
||||
},
|
||||
"Description": {
|
||||
"en": "Select 3 interactions and swap them. You may only select 1 interaction involving yourself."
|
||||
"en": "Select 3 pairs of \\brg{}/\\btr{} and swap them. You may only select 1 interaction involving yourself."
|
||||
},
|
||||
"Copies": 1,
|
||||
"Priority": 100
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[
|
||||
{
|
||||
"Name": {
|
||||
"en": ""
|
||||
"en": "BARGAIN"
|
||||
},
|
||||
"Description": {
|
||||
"en": ""
|
||||
@@ -13,10 +13,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": ""
|
||||
"en": "BETRAYAL"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If played against a Bargain, +2 points."
|
||||
"en": ""
|
||||
},
|
||||
"Type": "Betrayal",
|
||||
"AgainstBargain": 2,
|
||||
@@ -24,10 +24,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Symbiosis"
|
||||
"en": "SYMBIOSIS"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If played against a Bargain both players gain an additional 2 points."
|
||||
"en": "\\brg{}: both players gain an additional 2 points."
|
||||
},
|
||||
"Type": "Bargain",
|
||||
"AgainstBetrayal": -1,
|
||||
@@ -36,7 +36,7 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Excommunication"
|
||||
"en": "EXCOMMUNICATION"
|
||||
},
|
||||
"Description": {
|
||||
"en": "This card must be played face-up."
|
||||
@@ -47,10 +47,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Quid Pro Quo"
|
||||
"en": "QUID PRO QUO"
|
||||
},
|
||||
"Description": {
|
||||
"en": "At any time once played, this card can be flipped face-up to negate a player's Action."
|
||||
"en": "At any time once played, this card can be flipped face-up to negate a player's \\act{}."
|
||||
},
|
||||
"Type": "Bargain",
|
||||
"AgainstBetrayal": -1,
|
||||
@@ -59,10 +59,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Assassination"
|
||||
"en": "ASSASSINATION"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If played against a Bargain, the Bargaining player loses 2 additional points."
|
||||
"en": "\\brg{}: the other player loses 2 additional points."
|
||||
},
|
||||
"Type": "Betrayal",
|
||||
"AgainstBargain": 1,
|
||||
@@ -70,7 +70,7 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "A Fair Deal"
|
||||
"en": "FAIR DEAL"
|
||||
},
|
||||
"Description": {
|
||||
"en": "This card must be played face-up."
|
||||
@@ -82,7 +82,7 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Coup d'Etat"
|
||||
"en": "COUP d'ETAT"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If played against the player with the most points in the last round, they lose 2 additional points."
|
||||
@@ -93,10 +93,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Contractual Obligations"
|
||||
"en": "CONTRACTUAL OBLIGATIONS"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If played against a Betrayal, the Betrayer loses 3 points."
|
||||
"en": "\\btr{}: the other player loses 3 points."
|
||||
},
|
||||
"Type": "Bargain",
|
||||
"AgainstBetrayal": 1,
|
||||
@@ -105,7 +105,7 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "A True Name, Spoken Softly"
|
||||
"en": "A TRUE NAME, SPOKEN SOFTLY"
|
||||
},
|
||||
"Description": {
|
||||
"en": ""
|
||||
@@ -117,10 +117,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Peacekeeping"
|
||||
"en": "PEACEKEEPING"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If played against a Betrayal, you may take all Action and Final cards of the other player."
|
||||
"en": "\\btr{}: you may take all \\act{} and \\fin{} cards of the other player."
|
||||
},
|
||||
"Type": "Bargain",
|
||||
"AgainstBetrayal": -1,
|
||||
@@ -129,10 +129,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "“Peacekeeping”"
|
||||
"en": "“PEACEKEEPING”"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If played against a Bargain, take all the Action cards of the other player."
|
||||
"en": "\\brg{}: take all the \\act{} cards of the other player."
|
||||
},
|
||||
"Type": "Betrayal",
|
||||
"AgainstBargain": 2,
|
||||
@@ -140,7 +140,7 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Cameraderie"
|
||||
"en": "CAMERADERIE"
|
||||
},
|
||||
"Description": {
|
||||
"en": ""
|
||||
@@ -152,10 +152,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Bitter Taste"
|
||||
"en": "BITTER TASTE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "The other player must also redraw all their Bargain cards at the beginning of the next round."
|
||||
"en": "The other player must also redraw all their \\brg{} cards at the beginning of the next round."
|
||||
},
|
||||
"Type": "Betrayal",
|
||||
"AgainstBargain": 2,
|
||||
@@ -163,10 +163,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Love-Tackle"
|
||||
"en": "LOVE-TACKLE"
|
||||
},
|
||||
"Description": {
|
||||
"en": "If a player reveals this card during the game, it is flipped face-up, and they must give you all their Action cards."
|
||||
"en": "If a player reveals this card during the game, it is flipped face-up, and they must give you all their \\act{} cards."
|
||||
},
|
||||
"Type": "Bargain",
|
||||
"AgainstBetrayal": -1,
|
||||
@@ -175,10 +175,10 @@
|
||||
},
|
||||
{
|
||||
"Name": {
|
||||
"en": "Thrown to the Lampreys"
|
||||
"en": "THROWN to the LAMPREYS"
|
||||
},
|
||||
"Description": {
|
||||
"en": "This card must be played face-up and cannot be moved or interacted with. The player this card is played against must immediately play 2 of their Stance cards."
|
||||
"en": "This card must be played face-up and cannot be moved or interacted with. The player this card is played against must immediately play 2 of their \\stn{} cards."
|
||||
},
|
||||
"Type": "Betrayal",
|
||||
"Copies": 1
|
||||
|
||||
Binary file not shown.
@@ -33,6 +33,7 @@
|
||||
\newcommand{\carddescriptionheight}{30mm}
|
||||
\newcommand{\carddescriptionmargin}{4mm}
|
||||
|
||||
% TODO apply internationalization rules here too
|
||||
\newcommand{\card}[1]{\textbf{#1}}
|
||||
\newcommand{\act}{\textbf{Action}}
|
||||
\newcommand{\stn}{\textbf{Stance}}
|
||||
@@ -47,27 +48,25 @@
|
||||
|
||||
\draw[rounded corners = \cardcorners] (0,0) rectangle (\cardwidth - \cardmargin, \cardheight - \cardmargin);
|
||||
|
||||
\node (name) at (0.5 * \cardwidth - 0.5 * \cardmargin, \carddescriptionheight + \cardnameheight) [text width = \cardwidth - 2 * \cardmargin, minimum height = \cardnameheight, align = center] {\LARGE #1};
|
||||
\node (name) at (0.5 * \cardwidth - 0.5 * \cardmargin, \carddescriptionheight + \cardnameheight) [text width = \cardwidth - 2 * \cardmargin, minimum height = \cardnameheight, align = center] {\Large #1};
|
||||
|
||||
\node (description) at (0.5 * \cardwidth - 0.5 * \cardmargin, 0.5 * \carddescriptionheight + \carddescriptionmargin) [draw = gray, fill = lightgray, thick, text width = \cardwidth - 3 * \carddescriptionmargin, minimum height = \carddescriptionheight, align = center] {
|
||||
\ifstrempty{#3}{}{
|
||||
% Instant, add the instant icon
|
||||
\small \textbf{Instant} \textit{#3}.
|
||||
\small \textbf{Instant} \textit{#3}
|
||||
|
||||
}\ifstrempty{#4}{}{
|
||||
% Persistent, add the instant icon
|
||||
\small \textbf{Persistent}.
|
||||
|
||||
}
|
||||
\small #2.
|
||||
\small #2
|
||||
};
|
||||
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
% Stances
|
||||
\newcommand{\stancetypeheight}{10mm}
|
||||
|
||||
\newcommand{\bargainheart}{\ensuremath\varheartsuit}
|
||||
\newcommand{\bargainheartoutline}{\ensuremath\heartsuit}
|
||||
\newcommand{\betrayalheart}{\rotatebox[origin=c]{180}{\ensuremath\varheartsuit}}
|
||||
@@ -83,28 +82,41 @@
|
||||
|
||||
\draw[rounded corners = \cardcorners] (0,0) rectangle (\cardwidth - \cardmargin, \cardheight - \cardmargin);
|
||||
|
||||
\node (type) at (0.12 * \cardwidth, 0.88 * \cardheight) [align = center] {\fontsize{65}{80px} \heart{#3}};
|
||||
\node (type) at (0.12 * \cardwidth + \cardmargin, 0.88 * \cardheight) [align = left] {\fontsize{50px}{50px} \heart{#3}};
|
||||
|
||||
\node (basevsbargain) at (0.75 * \cardwidth, 0.88 * \cardheight + 1.1mm) [rounded corners = \cardcorners, align = center] {\textcolor{white}{\fontsize{50px}{60px} \bargainheart{}}};
|
||||
\node (basevsbargainoutline) at (0.75 * \cardwidth, 0.88 * \cardheight + 1.1mm) [rounded corners = \cardcorners, align = center] {\fontsize{50px}{60px} \bargainheartoutline{}};
|
||||
\node (basevsbetrayal) at (0.86 * \cardwidth, 0.88 * \cardheight - 1.1mm) [rounded corners = \cardcorners, align = center] {\fontsize{50px}{60px} \betrayalheart{}};
|
||||
|
||||
\node (basevsbargaintext) at (0.75 * \cardwidth + 0.5mm, 0.88 * \cardheight + 1.5mm) [rounded corners = \cardcorners, align = center] {#4};
|
||||
\node (basevsbetrayaltext) at (0.86 * \cardwidth + 0.5mm, 0.88 * \cardheight - 1mm) [rounded corners = \cardcorners, align = center] {\textcolor{white}{#5}};
|
||||
\node (basevsbetrayaltext) at (0.86 * \cardwidth + 0.5mm, 0.875 * \cardheight - 1mm) [rounded corners = \cardcorners, align = center] {\textcolor{white}{#5}};
|
||||
|
||||
\ifstrempty{#2}
|
||||
{
|
||||
\node (name) at (0.5 * \cardwidth - 0.5 * \cardmargin, 0.5 * \cardnameheight) [text width = \cardwidth - 2 * \cardmargin, minimum height = \cardnameheight, align = center] {\LARGE #1};
|
||||
\node (name) at (0.5 * \cardwidth - 0.5 * \cardmargin, 0.5 * \cardnameheight) [text width = \cardwidth - 3 * \cardmargin, minimum height = \cardnameheight, align = center] {\Large #1};
|
||||
}
|
||||
{
|
||||
\node (name) at (0.5 * \cardwidth - 0.5 * \cardmargin, \carddescriptionheight + \cardnameheight) [text width = \cardwidth - 2 * \cardmargin, minimum height = \cardnameheight, align = center] {\LARGE #1};
|
||||
\node (description) at (0.5 * \cardwidth - 0.5 * \cardmargin, 0.5 * \carddescriptionheight + \carddescriptionmargin) [draw = gray, fill = lightgray, thick, text width = \cardwidth - 3 * \carddescriptionmargin, minimum height = \carddescriptionheight, align = center] {\small #2.};
|
||||
\node (name) at (0.5 * \cardwidth - 0.5 * \cardmargin, \carddescriptionheight + \cardnameheight) [text width = \cardwidth - 3 * \cardmargin, minimum height = \cardnameheight, align = center] {\Large #1};
|
||||
\node (description) at (0.5 * \cardwidth - 0.5 * \cardmargin, 0.5 * \carddescriptionheight + \carddescriptionmargin) [draw = gray, fill = lightgray, thick, text width = \cardwidth - 3 * \carddescriptionmargin, minimum height = \carddescriptionheight, align = center] {\small #2};
|
||||
}
|
||||
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
%TODO Finals
|
||||
\newcommand{\final}[3]{ % Name, Description, Priority
|
||||
\begin{tikzpicture}
|
||||
|
||||
\draw[rounded corners = \cardcorners] (0,0) rectangle (\cardwidth - \cardmargin, \cardheight - \cardmargin);
|
||||
|
||||
\node (name) at (0.5 * \cardwidth - 0.5 * \cardmargin, \cardheight - 0.5* \cardmargin - 0.5 * \cardnameheight) [text width = \cardwidth - 3 * \carddescriptionmargin, minimum height = \cardnameheight, align = left] {\LARGE #1};
|
||||
|
||||
\node (priority) at (0.5 * \cardwidth - 0.5 * \cardmargin, \cardheight - 0.5* \cardmargin - 0.5 * \cardnameheight) [text width = \cardwidth - 3 * \carddescriptionmargin, minimum height = \cardnameheight, align = right] {\LARGE #3};
|
||||
|
||||
\node (description) at (0.5 * \cardwidth - 0.5 * \cardmargin, \cardheight - 0.5* \cardmargin - \cardnameheight - 0.5 * \carddescriptionheight) [draw = gray, fill = lightgray, thick, text width = \cardwidth - 3 * \carddescriptionmargin, minimum height = \carddescriptionheight, align = center] {\small #2};
|
||||
|
||||
\end{tikzpicture}
|
||||
}
|
||||
|
||||
%TODO Missions
|
||||
|
||||
@@ -114,16 +126,114 @@
|
||||
|
||||
\thispagestyle{empty}
|
||||
|
||||
% TODO autogenerate the below
|
||||
% Actions
|
||||
\action{DUPLICITY}{You may swap two of your played \stn{} cards}{}{}
|
||||
% ACTIONS
|
||||
\action{NIL}{All players must immediately play a \stn{} card.}{}{}
|
||||
\action{CURIOSITY}{All players holding at least one \btr{} must raise their hands. You may swap any held \stn{} of yours for a \btr{} of their choice.}{}{}
|
||||
\action{CACOPHONY}{All players must immediately reveal their \textbf{Cacophony} cards. If there are 3 or fewer other \textbf{Cacophony} cards revealed, gain that many points. Otherwise, discard all your \act{} cards.}{}{}
|
||||
\action{CACOPHONY}{All players must immediately reveal their \textbf{Cacophony} cards. If there are 3 or fewer other \textbf{Cacophony} cards revealed, gain that many points. Otherwise, discard all your \act{} cards.}{}{}
|
||||
\action{CACOPHONY}{All players must immediately reveal their \textbf{Cacophony} cards. If there are 3 or fewer other \textbf{Cacophony} cards revealed, gain that many points. Otherwise, discard all your \act{} cards.}{}{}
|
||||
\action{CACOPHONY}{All players must immediately reveal their \textbf{Cacophony} cards. If there are 3 or fewer other \textbf{Cacophony} cards revealed, gain that many points. Otherwise, discard all your \act{} cards.}{}{}
|
||||
\action{CACOPHONY}{All players must immediately reveal their \textbf{Cacophony} cards. If there are 3 or fewer other \textbf{Cacophony} cards revealed, gain that many points. Otherwise, discard all your \act{} cards.}{}{}
|
||||
\action{MISERY}{All other players discard 2 \act{} cards. If \textbf{Joy} is in play, double this effect.}{}{true}
|
||||
\action{JOY}{You may play 3 \act{} cards immediately. If \textbf{Misery} has been played this round, you may play 3 \act{} cards immediately instead.}{}{true}
|
||||
\action{IMPLOSION}{Cancel the effects of another player's \act{}.}{At any point while a player is playing an \act{}.}{}
|
||||
\action{THAT WHICH is UNSEEN}{You may look at the \act{} draw deck. You may order it or shuffle it in any way you wish before putting it back.}{}{}
|
||||
\action{PARANOIA}{All players holding at least one \brg{} must raise their hands. You may swap any held \stn{} of yours with a \brg{} of their choice.}{}{}
|
||||
\action{DUPLICITY}{You may swap two of your played \stn{} cards.}{}{}
|
||||
\action{BURNING TRUTH}{Choose any player who must reveal their held \stn{} cards to everyone, then give that player this \textbf{Burning Truth} card instead of discarding it.}{}{}
|
||||
\action{LANDMINE}{Negate that effect. The player must also discard all their \act{} cards.}{If a player tries to take or swap any of your held cards.}{}
|
||||
\action{TOXIC SHOCK}{All other players must discard 2 \act{} cards.}{}{}
|
||||
\action{SUBTERFUGE}{You may look at the played \stn{} cards of any one other player.}{}{}
|
||||
\action{FAMINE}{While this card is in effect, no \act{} cards may be drawn.}{}{true}
|
||||
\action{ABUNDANCE}{Remove \textbf{Famine} from play. Draw as many \act{} cards as there are players, then give each player one card of your choosing.}{}{}
|
||||
\action{AMNESIA}{Remove all persistent \act{} cards from play.}{}{}
|
||||
\action{HONESTY}{You may turn any of your own played \stn{} cards face-up.}{}{}
|
||||
\action{FEAR}{While you hold this card, you may not play any other \act{} cards.}{}{}
|
||||
\action{LOVE}{If another player has \textbf{Love}, they may reveal it and discard it, and you both gain 2 points. Only the first player to reveal will gain points. If no player reveals \textbf{Love}, you lose 2 points.}{}{}
|
||||
\action{LOVE}{If another player has \textbf{Love}, they may reveal it and discard it, and you both gain 2 points. Only the first player to reveal will gain points. If no player reveals \textbf{Love}, you lose 2 points.}{}{}
|
||||
\action{LOVE}{If another player has \textbf{Love}, they may reveal it and discard it, and you both gain 2 points. Only the first player to reveal will gain points. If no player reveals \textbf{Love}, you lose 2 points.}{}{}
|
||||
\action{TITHES}{All players must give you one of their \act{} cards, of their choosing.}{}{}
|
||||
\action{PURIFICATION}{All players, including yourself, must reveal one of their played \stn{} cards and then return it to their hand.}{}{}
|
||||
\action{TURNABOUT is FAIR PLAY}{You may pick the card up and play it yourself immediately afterwards.}{If an \act{} allows a player to take cards from your hand}{}
|
||||
|
||||
% Stances
|
||||
% STANCES
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BARGAIN}{}{BARGAIN}{3}{-1}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{LOVE-TACKLE}{If a player reveals this card during the game, it is flipped face-up, and they must give you all their \act{} cards}{BARGAIN}{3}{-1}
|
||||
\stance{“PEACEKEEPING”}{If played against a \brg{}, take all the Action cards of the other player.}{BETRAYAL}{2}{0}
|
||||
\stance{BITTER TASTE}{The other player must also redraw all their \brg{} cards at the beginning of the next round}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{BETRAYAL}{}{BETRAYAL}{2}{0}
|
||||
\stance{SYMBIOSIS}{\brg{}: both players gain an additional 2 points.}{BARGAIN}{3}{-1}
|
||||
\stance{EXCOMMUNICATION}{This card must be played face-up.}{BETRAYAL}{4}{0}
|
||||
\stance{QUID PRO QUO}{At any time once played, this card can be flipped face-up to negate a player's \act{}.}{BARGAIN}{3}{-1}
|
||||
\stance{ASSASSINATION}{\brg{}: the other player loses 2 additional points.}{BETRAYAL}{1}{0}
|
||||
\stance{FAIR DEAL}{This card must be played face-up.}{BARGAIN}{4}{-1}
|
||||
\stance{COUP d'ETAT}{If played against the player with the most points in the last round, they lose 2 additional points.}{BETRAYAL}{2}{0}
|
||||
\stance{CONTRACTUAL OBLIGATIONS}{\btr{}: the other player loses 3 points.}{BARGAIN}{1}{1}
|
||||
\stance{A TRUE NAME, SPOKEN SOFTLY}{}{BETRAYAL}{1}{1}
|
||||
\stance{PEACEKEEPING}{\btr{}: you may take all \act{} and \fin{} cards of the other player.}{BARGAIN}{3}{-1}
|
||||
\stance{“PEACEKEEPING”}{\brg{}: take all the \act{} cards of the other player.}{BETRAYAL}{2}{0}
|
||||
\stance{CAMERADERIE}{}{BARGAIN}{4}{-2}
|
||||
\stance{BITTER TASTE}{The other player must also redraw all their \brg{} cards at the beginning of the next round.}{BETRAYAL}{2}{0}
|
||||
\stance{LOVE-TACKLE}{If a player reveals this card during the game, it is flipped face-up, and they must give you all their \act{} cards.}{BARGAIN}{3}{-1}
|
||||
\stance{THROWN to the LAMPREYS}{This card must be played face-up and cannot be moved or interacted with. The player this card is played against must immediately play 2 of their \stn{} cards.}{BETRAYAL}{0}{0}
|
||||
|
||||
% FINALS
|
||||
\final{ENTROPY}{Cancel the effects of all \fin{} cards this round.}{0}
|
||||
\final{CURSED DECK}{Swap two played \stn{} cards between any two players other than yourself.}{1}
|
||||
\final{STOIC HYMNAL}{Your \stn{} cards cannot be changed by any future \fin{} effects this round.}{2}
|
||||
\final{VOW of VENGEANCE}{If you have played a \brg{} against a \btr{}, you may take all their held \act{} and \fin{} cards.}{3}
|
||||
\final{ACT of PENANCE}{If you have played a \btr{} against a \brg{}, you may change your stance to a \brg{}, if you are holding one. If you do so, the other player gains 2 extra points.}{4}
|
||||
\final{LORD of the PIT}{Gain 3 points for every time you have played a \btr{} against a \btr{} in this round.}{5}
|
||||
\final{PIETY}{Gain 3 points for every time you have played a \brg{} against a \btr{} in this round.}{6}
|
||||
\final{PERJURY}{Replace one of your played \stn{} cards with one of the opposite \stn{}, if you hold one.}{7}
|
||||
\final{MARTYRDOM}{Choose another player. Both of you lose 5 points. If you are already the player with the lowest score before losing these points, only the other player loses 5 points.}{8}
|
||||
\final{PANTHEON}{If more than half the \fin{} cards have already been resolved, gain 3 points. Otherwise, lose 1 point.}{9}
|
||||
\final{the ABYSS}{The player of the next \fin{} to resolve loses 4 points.}{10}
|
||||
\final{FLAGELLATION}{Lose 3 points. You may not lose any further points this round, for any reason.}{11}
|
||||
\final{CHAOS}{Pick up 4 played \stn{} cards, shuffle them, and randomly deal them back to where they were taken from before revealing them.}{12}
|
||||
\final{FUNERAL PYRE}{Take 3 points from one player, and give 3 points to a player other than yourself.}{13}
|
||||
\final{INTERREGNUM}{Choose another player. All other players vote for you, or for the other player. If you win a majority of votes, take 3 points from the other player. If you do not, give 3 points to them.}{14}
|
||||
\final{P'Zea-ia-Gwlfth}{If this is the last \fin{} to resolve, gain 5 points.}{15}
|
||||
\final{ANARCHY}{Every player gains 1 point for every \brg{} they have played.}{16}
|
||||
\final{BURNT OFFERINGS}{You may ignore any points lost due to any one \btr{}.}{17}
|
||||
\final{MÓRRÍGAN}{Gain 1 point for every time a player played a \btr{} against a \brg{} in this round.}{18}
|
||||
\final{SACRIFICE}{Gain 3 points and discard all of your \act{} and \fin{} cards.}{19}
|
||||
\final{CONTRITION}{Ask a player you have played a \btr{} against if they forgive you. If they do, you gain 3 points, and they gain 1 point.}{20}
|
||||
\final{FINAL RITES}{Select 3 pairs of \brg{}/\btr{} and swap them. You may only select 1 interaction involving yourself.}{100}
|
||||
|
||||
\end{document}
|
||||
72
main.go
72
main.go
@@ -2,7 +2,9 @@ package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type Card struct {
|
||||
@@ -35,6 +37,8 @@ type Final struct {
|
||||
}
|
||||
|
||||
func main() {
|
||||
lang := os.Args[1]
|
||||
|
||||
a, _ := os.Open("cards/actions.json")
|
||||
defer a.Close()
|
||||
dec := json.NewDecoder(a)
|
||||
@@ -43,6 +47,37 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
fmt.Print("\n% ACTIONS\n")
|
||||
|
||||
for _, act := range actions {
|
||||
name, ex := act.Name[lang]
|
||||
if !ex {
|
||||
panic(fmt.Sprintf("No '%v' language Name for card %v", lang, act))
|
||||
}
|
||||
|
||||
desc, ex := act.Description[lang]
|
||||
if !ex {
|
||||
panic(fmt.Sprintf("No '%v' language Description for action card %v", lang, act))
|
||||
}
|
||||
|
||||
var inst string
|
||||
if act.Instant != nil {
|
||||
inst, ex = act.Instant[lang]
|
||||
if !ex {
|
||||
panic(fmt.Sprintf("No '%v' language Instant for action card %v", lang, act))
|
||||
}
|
||||
}
|
||||
|
||||
var pers string
|
||||
if act.Persistent {
|
||||
pers = "true"
|
||||
}
|
||||
|
||||
for i := 0; i < act.Copies; i++ {
|
||||
fmt.Printf("\\action{%v}{%v}{%v}{%v}\n", name, desc, inst, pers)
|
||||
}
|
||||
}
|
||||
|
||||
s, _ := os.Open("cards/stances.json")
|
||||
defer s.Close()
|
||||
dec = json.NewDecoder(s)
|
||||
@@ -51,6 +86,25 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
fmt.Print("\n% STANCES\n")
|
||||
for _, stn := range stances {
|
||||
name, ex := stn.Name[lang]
|
||||
if !ex {
|
||||
panic(fmt.Sprintf("No '%v' language Name for stance card %v", lang, stn))
|
||||
}
|
||||
|
||||
desc, ex := stn.Description[lang]
|
||||
if !ex {
|
||||
panic(fmt.Sprintf("No '%v' language Description for stance card %v", lang, stn))
|
||||
}
|
||||
|
||||
stancetype := strings.ToUpper(stn.Type)
|
||||
|
||||
for i := 0; i < stn.Copies; i++ {
|
||||
fmt.Printf("\\stance{%v}{%v}{%v}{%v}{%v}\n", name, desc, stancetype, stn.AgainstBargain, stn.AgainstBetrayal)
|
||||
}
|
||||
}
|
||||
|
||||
f, _ := os.Open("cards/finals.json")
|
||||
defer f.Close()
|
||||
dec = json.NewDecoder(f)
|
||||
@@ -59,6 +113,24 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
fmt.Print("\n% FINALS\n")
|
||||
for _, fin := range finals {
|
||||
name, ex := fin.Name[lang]
|
||||
if !ex {
|
||||
panic(fmt.Sprintf("No '%v' language Name for final card %v", lang, fin))
|
||||
}
|
||||
|
||||
desc, ex := fin.Description[lang]
|
||||
if !ex {
|
||||
panic(fmt.Sprintf("No '%v' language Description for final card %v", lang, fin))
|
||||
}
|
||||
|
||||
for i := 0; i < fin.Copies; i++ {
|
||||
fmt.Printf("\\final{%v}{%v}{%v}\n", name, desc, fin.Priority)
|
||||
}
|
||||
}
|
||||
|
||||
//TODO
|
||||
m, _ := os.Open("cards/missions.json")
|
||||
defer f.Close()
|
||||
dec = json.NewDecoder(m)
|
||||
|
||||
Reference in New Issue
Block a user