Fix special card groups option for non en_us languages (#219)

* fix a bunch of formatting problems that only show up for combined card types in languages other than english
* add tests that actually perform generation during testing
This commit is contained in:
Peter 2018-11-06 10:16:51 -08:00 committed by GitHub
parent d1e06b9b88
commit c5618bacd2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 49 additions and 22 deletions

View File

@ -2565,17 +2565,17 @@
"untranslated": "description, extra"
},
"adventures events": {
"description": "<justify>Les Événements ne sont pas des cartes Royaume. Pendant la phase Achat d'un joueur, lorsqu'il peut acheter une carte, il peut acheter un événement à la place. Acheter un Événement signifie payer le coût indiqué sur l'Événement, et ensuite appliquer l'effet de l'Événement. L'Événement reste sur la table, le joueur ne le prend pas; il n'y a aucun moyen pour un joueur d'en recevoir un ou d'en avoir un dans son deck. Acheter un Événement consomme un achat; normalement, un joueur peut soit acheter une carte, soit acheter un Événement. Un joueur avec deux achats, comme après avoir joué Forestier, pourrait acheter deux cartes ou acheter deux événements, ou acheter une carte et un événement (dans n'importe quel ordre). Le même Événement peut être acheté plusieurs fois par tour si le joueur a les Achats et les _ Coins disponibles pour le faire. Certains événements donnent des +Achats et permettent au joueur d'acheter d'autres cartes / événements par la suite. Les joueurs ne peuvent pas jouer d'autres Trésors ce tour après l'achat d'un Événement. Achter un Événement n'est pas un achat de carte et ne déclenche donc pas l'effet de cartes comme Sorcière des Marais ou Fiers-à-Bras (de Prosperité). Les coûts des Événement ne sont pas affectés par des cartes comme Pont aux Trolls.",
"description": "<justify>Les Événements ne sont pas des cartes Royaume. Pendant la phase Achat d'un joueur, lorsqu'il peut acheter une carte, il peut acheter un événement à la place. Acheter un Événement signifie payer le coût indiqué sur l'Événement, et ensuite appliquer l'effet de l'Événement. L'Événement reste sur la table, le joueur ne le prend pas; il n'y a aucun moyen pour un joueur d'en recevoir un ou d'en avoir un dans son deck. Acheter un Événement consomme un achat; normalement, un joueur peut soit acheter une carte, soit acheter un Événement. Un joueur avec deux achats, comme après avoir joué Forestier, pourrait acheter deux cartes ou acheter deux événements, ou acheter une carte et un événement (dans n'importe quel ordre). Le même Événement peut être acheté plusieurs fois par tour si le joueur a les Achats et les _ Coins disponibles pour le faire. Certains événements donnent des +Achats et permettent au joueur d'acheter d'autres cartes / événements par la suite. Les joueurs ne peuvent pas jouer d'autres Trésors ce tour après l'achat d'un Événement. Achter un Événement n'est pas un achat de carte et ne déclenche donc pas l'effet de cartes comme Sorcière des Marais ou Fiers-à-Bras (de Prosperité). Les coûts des Événement ne sont pas affectés par des cartes comme Pont aux Trolls.</justify>",
"extra": "Les événements sont des effets spéciaux qui se déclenchent lors d'un achat, non liés aux cartes. Les joueurs peuvent acheter des Evènements durant leur phase d'Achat pour déclencher l'effet de l'Evènement, comme alternative à (ou en plus d') acheter des cartes de la Réserve.<n> Les Evènements ne sont pas des cartes Royaume; inclure un ou plusieurs Evénements dans une partie ne compte pas dans les 10 piles de cartes Royaume comprises dans la Réserve. En fait, les événements ne sont pas du tout considérés comme des \"cartes\". Tout texte faisant référence à une \"carte\" (comme des instructions pour \"nommer une carte\", ou des réducteurs de coûts modifiant le coût des cartes) ne s'applique pas aux Evènements. Cependant, pour référence, les effets et coûts de l'événement sont imprimés sur des cartes dans une orientation paysage avec des cadres argentés.<n>N'importe quel nombre d'événements peut être utilisé dans une partie, mais il est recommandé de ne pas utiliser plus de deux événements. Lors du choix d'un Royaume aléatoire, les événements peuvent être mélangés dans le paquet de cartes Préparation; les événements qui ont été tirés une fois que les 10 cartes Royaume ont été tirées seront inclus dans le jeu.",
"name": "Événements"
},
"Page -> Champion": {
"description": "<justify>Page est échangée contre Chasseuse de Trésors, qui est échangée contre Guerrière, qui est échangée contre Héroïne, qui est échangée contre Championne.<n><left><u>Page</u>: +1 Carte; +1 Action<br><u>Chasseuse de Trésors</u>: +1 Action; +1 Coin; Recevez une carte <i>Argent</i> par carte que le joueur à votre droite a reçue lors de son dernier tour.<br><u>Guerrière</u>: +2 Cartes; Pour chaque carte <i>Itinérant</i> que vous avez en jeu (incluant celle-ci), tous vos adversaires défaussent la première carte de leur deck et l'écartent si celle-ci coûte 3 Coins ou 4 Coins.<br><u>Héroïne</u>: +2 Coins; Recevez une carte Trésor.<br><u>Championne</u>: +1 Action; Pour le reste de la partie, lorsqu'un adversaire joue une carte <i>Attaque</i>, elle n'a pas d'effet sur vous, et quand vous jouez une carte <i>Action</i> : +1 Action. <i>(Cette carte reste en jeu.)</i>",
"description": "<justify>Page est échangée contre Chasseuse de Trésors, qui est échangée contre Guerrière, qui est échangée contre Héroïne, qui est échangée contre Championne.</justify><left><u>Page</u>: +1 Carte; +1 Action</left><left><u>Chasseuse de Trésors</u>: +1 Action; +1 Coin; Recevez une carte <i>Argent</i> par carte que le joueur à votre droite a reçue lors de son dernier tour.</left><left><u>Guerrière</u>: +2 Cartes; Pour chaque carte <i>Itinérant</i> que vous avez en jeu (incluant celle-ci), tous vos adversaires défaussent la première carte de leur deck et l'écartent si celle-ci coûte 3 Coins ou 4 Coins.</left><left><u>Héroïne</u>: +2 Coins; Recevez une carte Trésor.</left><left><u>Championne</u>: +1 Action; Pour le reste de la partie, lorsqu'un adversaire joue une carte <i>Attaque</i>, elle n'a pas d'effet sur vous, et quand vous jouez une carte <i>Action</i> : +1 Action. <i>(Cette carte reste en jeu.)</i></left>",
"extra": "Page est une carte Royaume itinérante. Ces cartes ont une flèche au-dessus de la zone de texte pour rappeler aux joueurs leur capacité à évoluer vers une autre carte. La Page est échangée contre la Chasseuse de Trésors, qui est échangée contre la Guerrière, qui est échangée contre l'Héroïne, qui est échangée contre la Championne. Championne n'est pas une carte itinérante, elle ne peut être échangée contre quoi que ce soit. Les Pages peuvent être achetées ou reçues d'une autre façon lorsqu'elles sont utilisées dans une partie, mais les autres cartes ne le peuvent pas, elles ne sont pas dans la Réserve. Quand une pile qui n'est pas de la Réserve est vide, cela ne compte pas comme une pile vide pour la condition de fin de partie ou pour Ville (de Prospérité). <N> <n> Quand un joueur défausse une carte Itinérante de sa zone de jeu, il peut l'échanger contre la carte indiquée; il retourne la carte échangée dans sa pile, prend la carte pour laquelle il l'échange et la met dans sa défausse. Échanger n'est pas écarter ou recevoir, et ne déclenche donc pas des capacités comme Forains. Échanger est optionnel. Cela n'arrive que lorsque la carte est défaussée de la zone de jeu; la défausser de votre main, par exemple en ne la jouant pas, ne déclenchera pas l'échange. Cela n'arrive que si la carte pour laquelle vous échangez a des copies disponibles. Si plusieurs cartes font quelque chose lorsqu'elles sont défaussées de la zone de jeu, le joueur choisit l'ordre.",
"name": "Page → Championne"
},
"Peasant -> Teacher": {
"description": "<justify>Paysan est échangé contre Soldat, qui est échangé contre Fugitif, qui est échangé contre Disciple, qui est échangé contre Maître.<n><left><u>Paysan</u>: +1 Achat; +1 Coin<br><u>Soldat</u>: +2 Coins; +1 Coin par autre <i>Attaque</i> que vous avez en jeu. Tous vos adversaires avec 4 cartes ou plus défaussent une carte.<br><u>Fugitif</u>: +2 Cartes; +1 Action; Défaussez une carte.<br><u>Disciple</u>: Vous pouvez jouer une carte <i>Action</i> de votre main deux fois. Recevez un exemplaire de cette carte.<br><u>Maître</u>: Placez cette carte dans votre <i>Taverne</i>. Au début de votre tour, vous pouvez recourir à ce <i>Maître</i> pour placer un de vos jetons \"+1 Carte\", \"+1 Action\", \"+1 Achat\" ou \"+1 Coin\" sur une pile de cartes Action sur laquelle vous n'avez aucun de vos jetons présents.",
"description": "<justify>Paysan est échangé contre Soldat, qui est échangé contre Fugitif, qui est échangé contre Disciple, qui est échangé contre Maître.</justify><left><u>Paysan</u>: +1 Achat; +1 Coin</left><left><u>Soldat</u>: +2 Coins; +1 Coin par autre <i>Attaque</i> que vous avez en jeu. Tous vos adversaires avec 4 cartes ou plus défaussent une carte.</left><left><u>Fugitif</u>: +2 Cartes; +1 Action; Défaussez une carte.</left><left><u>Disciple</u>: Vous pouvez jouer une carte <i>Action</i> de votre main deux fois. Recevez un exemplaire de cette carte.</left><left><u>Maître</u>: Placez cette carte dans votre <i>Taverne</i>. Au début de votre tour, vous pouvez recourir à ce <i>Maître</i> pour placer un de vos jetons \"+1 Carte\", \"+1 Action\", \"+1 Achat\" ou \"+1 Coin\" sur une pile de cartes Action sur laquelle vous n'avez aucun de vos jetons présents.</left>",
"extra": "Paysan est une carte Royaume itinérante. Ces cartes ont une flèche au-dessus de la zone de texte pour rappeler aux joueurs leur capacité à évoluer vers une autre carte. Le Paysan est échangé contre le Soldat, qui est échangé contre le Fugitif, qui est échangé contre le Disciple, qui est échangé contre le Maître. Maître n'est pas une carte itinérante, elle ne peut être échangée contre quoi que ce soit. Les Paysans peuvent être achetés ou reçus d'une autre façon lorsqu'ils sont utilisés dans une partie, mais les autres cartes ne le peuvent pas, elles ne sont pas dans la Réserve. Quand une pile qui n'est pas de la Réserve est vide, cela ne compte pas comme une pile vide pour la condition de fin de partie ou pour Ville (de Prospérité). <N> <n> Quand un joueur défausse une carte Itinérante de sa zone de jeu, il peut l'échanger contre la carte indiquée; il retourne la carte échangée dans sa pile, prend la carte pour laquelle il l'échange et la met dans sa défausse. Échanger n'est pas écarter ou recevoir, et ne déclenche donc pas des capacités comme Forains. Échanger est optionnel. Cela n'arrive que lorsque la carte est défaussée de la zone de jeu; la défausser de votre main, par exemple en ne la jouant pas, ne déclenchera pas l'échange. Cela n'arrive que si la carte pour laquelle vous échangez a des copies disponibles. Si plusieurs cartes font quelque chose lorsqu'elles sont défaussées de la zone de jeu, le joueur choisit l'ordre.",
"name": "Paysan → Maître"
},

View File

@ -688,7 +688,7 @@
"name": "Schurk"
},
"Ruins": {
"description": "<left><u>Verlaten mijn</u>: +1 Coin<br><u>Ingestarte Bibliotheek</u>: +1 Kaar<br><u>Verwoeste Markt</u>: +1 Aanschaf<br><u>Vernield Dorp</u>: +1 Actie<br><u>Overlevenden</u>: Bekijk de 2 bovenste kaarten van je trekstapel. Leg deze af of leg ze terug in een volgorde naar keuze.",
"description": "<left><u>Verlaten mijn</u>: +1 Coin<br></left><left><u>Ingestarte Bibliotheek</u>: +1 Kaar</left><left><u>Verwoeste Markt</u>: +1 Aanschaf</left><left><u>Vernield Dorp</u>: +1 Actie<</left><left><u>Overlevenden</u>: Bekijk de 2 bovenste kaarten van je trekstapel. Leg deze af of leg ze terug in een volgorde naar keuze.</left>",
"extra": " Zie aanvullende spelregels en voorbereiding.\n<u>Verlaten Mijn</u>: bij het spelen van deze kaart krijg je alleen +1 Coin.\n<u>Ingestorte Biliotheek</u>: bij het spelen van deze kaart trek je een kaart.\n<u>Verwoeste Markt</u>: bij het spelen van deze kaart krijg je +1 Aanschaf.\n<u>Vernield Dorp</u>: bij het spelen van deze kaart krijg je +1 Actie.\n<u>Overlevenden</u>: leg beide kaarten uit je hand af of leg ze beide terug op de trekstapel; je kunt er niet voor kiezen om er slechts 1 af te leggen.",
"name": "Ruïne"
},
@ -2371,7 +2371,7 @@
"name": "Scheepswerf"
},
"adventures events": {
"description": "<justify>Gebeurteniskaarten zijn geen koninkrijkkaarten. Een speler mag in zijn aanschaffase in plaats van een kaart een gebeurtenis kopen. Hij betaalt dan de op de gebeurteniskaart aangegeven kosten en voert de bijbehorende functie uit. De gebeurtenis blijft op tafel liggen (deze kan zich nooit in een stapel, op een tableau of in de hand van een speler bevinden). Met het kopen van een gebeurtenis verbruikt de speler 1 aanschaf. Heeft een speler meer aancshaffen in zijn beurt, dan mag hij deze naar believen (en in een volgorde naar keuze) verdelen over het kopen van kaarten en gebeurtenissen.",
"description": "<justify>Gebeurteniskaarten zijn geen koninkrijkkaarten. Een speler mag in zijn aanschaffase in plaats van een kaart een gebeurtenis kopen. Hij betaalt dan de op de gebeurteniskaart aangegeven kosten en voert de bijbehorende functie uit. De gebeurtenis blijft op tafel liggen (deze kan zich nooit in een stapel, op een tableau of in de hand van een speler bevinden). Met het kopen van een gebeurtenis verbruikt de speler 1 aanschaf. Heeft een speler meer aancshaffen in zijn beurt, dan mag hij deze naar believen (en in een volgorde naar keuze) verdelen over het kopen van kaarten en gebeurtenissen.</justify>",
"extra": "Het is toegestaan om dezelfde gebeurtenis meermaals per beurt te kopen (mits de speler voldoende aanschaffen en Coins heeft). Sommige gebeurtenissen geven extra aanschaffen, waardoor de speler daarna meer kaarten/gebeurtenissen zou kunnen kopen. Een speler mag na het kopen van een gebeurtenis deze beurt geen geldkaarten meer spelen. Het kopen van een gebeurtenis geldt niet als het kopen van een kaart en activeert daarom niet kaarten zoals Heks uit het moeras en Domkoppen (uit Dominion Welvaart). De kosten van het kopen van een gebeurtenis worden niet beïnvloed door kaarten zoals Brugtrol.",
"name": "Gebeurteniskaarten Avonturen"
},
@ -2393,53 +2393,53 @@
"name": "Toernooi en Prizes"
},
"Hermit - Madman": {
"description": "<justify><u>Kluizenaar</u>: Bij het spelen van deze kaart bekijk je je aflegstapel. Daarna mag je 1 kaart (geen geldkaart) uit je hand of je aflegstapel vernietigen. Dit is niet verplicht. Een kaart van meerdere soorten waaronder Geld (zoals Harem uit Dominion Intrige) geldt als een geldkaart. Ongeacht het voorgaande pak je een kaart met een waarde van ten hoogste 3 Coins. Pak deze uit de voorraad en leg hem op je aflegstapel. Het pakken van de kaart is verplicht, mits mogelijk. Als je de Kluizenaar, nadat je deze gespeeld hebt, in de opschoonfase aflegt en je hebt deze beurt geen kaarten gekocht, vernietig dan de Kluizenaar en pak een Krankzinnige. Pak de Krankzinnige van de stapel Krankzinnigen, die geen onderdeel is van de voorraad, en leg deze op je aflegstapel. Het is niet van belang of je al dan niet op andere manieren kaarten hebt gepakt, het gaat alleen om het al dan niet kopen van een kaart. Zijn er geen Krankzinnigen in voorraad, dan pak je er geen. Wordt de Kluizenaar op een ander moment dan de opschoonfase afgelegd (je legt hem bijvoorbeeld op je trekstapel met een Gekonkel uit Dominion: Het Achterland), dan wordt de vernietigeigenschap niet geactiveerd.",
"description": "<justify><u>Kluizenaar</u>: Bij het spelen van deze kaart bekijk je je aflegstapel. Daarna mag je 1 kaart (geen geldkaart) uit je hand of je aflegstapel vernietigen. Dit is niet verplicht. Een kaart van meerdere soorten waaronder Geld (zoals Harem uit Dominion Intrige) geldt als een geldkaart. Ongeacht het voorgaande pak je een kaart met een waarde van ten hoogste 3 Coins. Pak deze uit de voorraad en leg hem op je aflegstapel. Het pakken van de kaart is verplicht, mits mogelijk. Als je de Kluizenaar, nadat je deze gespeeld hebt, in de opschoonfase aflegt en je hebt deze beurt geen kaarten gekocht, vernietig dan de Kluizenaar en pak een Krankzinnige. Pak de Krankzinnige van de stapel Krankzinnigen, die geen onderdeel is van de voorraad, en leg deze op je aflegstapel. Het is niet van belang of je al dan niet op andere manieren kaarten hebt gepakt, het gaat alleen om het al dan niet kopen van een kaart. Zijn er geen Krankzinnigen in voorraad, dan pak je er geen. Wordt de Kluizenaar op een ander moment dan de opschoonfase afgelegd (je legt hem bijvoorbeeld op je trekstapel met een Gekonkel uit Dominion: Het Achterland), dan wordt de vernietigeigenschap niet geactiveerd.</justify>",
"extra": " <u>Krankzinnige</u>: Deze kaart bevindt zich niet in de voorraad en kan uitsluitend via de Kluizenaar worden verkregen. Speel je de Krankzinnige, dan krijg je +2 acties en moet je hem op de stapel Krankzinningen terugleggen indien mogelijk (dit is verplicht). Lukt dat, dan trek je een kaart voor elke kaart in je hand. Voorbeeld: je hebt 3 kaarten in je hand na het spelen van de Krankzinnige. Je trekt nu 3 kaarten. Normaal gesproken houdt niets je tegen om de Krankzinnige terug op de stapel te leggen, maar dit zou kunnen mislukken bij meermaals gebruik als gevolg van een Optocht, Troonzaal (uit Dominion basisspel) of Koningshof (uit Dominion: Welvaart). Voorbeeld: Als je een Optocht op een Krankzinnige speelt, krijg je +2 Acties. Je legt de Kranzinnige terug op de stapel Krankzinnigen en trekt een kaart voor elke kaart in je hand. Vervolgens krijg je opnieuw +2 Acties, maar je kunt de Krankzinnige niet terug op de stpel Krankzinnigen leggen, dus je trekt geen kaarten. Je kunt de Krankzinnige ook niet vernietigen. Tot slot pak je een kaart met een waarde van ten hoogste 1 Coin indien mogelijk.",
"name": "Kluizenaar / Krankzinnige"
},
"Shelters": {
"description": "<left><u>Hutje</u>: Als je een overwinningskaart koopt, mag je het Hutje uit je hand vernietigen.<br><u>Necropolis</u>: +2 Acties<br><u>Verwilderd Landgoed</u>: 0 <VP>; Als je deze kaart vernietigd, +1 Kaart.",
"description": "<left><u>Hutje</u>: Als je een overwinningskaart koopt, mag je het Hutje uit je hand vernietigen.</left><left><u>Necropolis</u>: +2 Acties</left><left><u>Verwilderd Landgoed</u>: 0 <VP>; Als je deze kaart vernietigd, +1 Kaart.</left>",
"extra": " Zie voobereiding. De onderdakkaarten zijn nooit in de voorraad. <u>Hutje</u>: Koop je een overwinningskaart als je een Hutje in je hand hebt, dan mag je het Hutje vernietigen. Een kaart van meerdere soorten waaronder Overwinning geldt als een overwinningskaart. Je krijgt niets voor het vernietigen van een Hutje, je bent er alleen vanaf. <u>Verwilderd Landgoed</u>: Dit is een overwinningskaart, ook al is deze 0 <VP> waard, wordt deze kaart vernietigd, dan trek je direct een kaart, ook al ben je nog met de acties van een andere kaart bezig. <b>Voorbeeld:</b> gebruik je het Altaal om een Verwilderd Landgoed te vernietigen, dan trek je eerst een kaart en daarna pak je een kaart met een waarde van ten hoogste 5 Coins. Deze kaart kan zelf geen kaarten vernietigen, maar doet alleen iets als het je lukt om hem te vernietigen. <u>Necropolis</u>: Dit is een actiekaart. Bij het spelen ervan krijg je +2 Acties.",
"name": "Onderdakkaarten"
},
"Urchin - Mercenary": {
"description": "<justify><u>Straatjongen</u>: Bij het spelen van deze kaart trek je een kaart en krijg je +1 Actie. Daarna legt iedere andere speler kaarten uit zijn hand af totdat hij er 4 overheeft. Een speler die al 4 of minder kaarten in zijn hand heeft, doet niets. Speel je een aanvalskaart terwijl de Straatjongen in het spel is, dan mag je voordat je de gevolgen van de aanvalskaart afhandelt de Straatjongen vernietigen. Doe je dat, dan pak je een Huurling van de huurlingenstapel (die geen onderdeel van de voorraad is) en leg je deze op je aflegstapel. Zijn er geen Huurlingen in voorraad, dan pak je er geen. Speel je dezelfde Straatjongen tweemaal in één beurt (zoals bij de Optocht), dan mag je daardoor de Straatjongen niet vernietigen in ruil voor een Huurling. Speel je twee verschillende Straatjongens, dan zorgt de tweede ervoor dat je de eerste mag vernietigen.",
"description": "<justify><u>Straatjongen</u>: Bij het spelen van deze kaart trek je een kaart en krijg je +1 Actie. Daarna legt iedere andere speler kaarten uit zijn hand af totdat hij er 4 overheeft. Een speler die al 4 of minder kaarten in zijn hand heeft, doet niets. Speel je een aanvalskaart terwijl de Straatjongen in het spel is, dan mag je voordat je de gevolgen van de aanvalskaart afhandelt de Straatjongen vernietigen. Doe je dat, dan pak je een Huurling van de huurlingenstapel (die geen onderdeel van de voorraad is) en leg je deze op je aflegstapel. Zijn er geen Huurlingen in voorraad, dan pak je er geen. Speel je dezelfde Straatjongen tweemaal in één beurt (zoals bij de Optocht), dan mag je daardoor de Straatjongen niet vernietigen in ruil voor een Huurling. Speel je twee verschillende Straatjongens, dan zorgt de tweede ervoor dat je de eerste mag vernietigen.</justify>",
"extra": "<u>Huurling</u>: Deze kaart bevindt zich niet in de voorraad en kan uitsluitend via de straatjongen worden verkregen. Bij het spelen van deze kaart mag je 2 kaarten uit je hand vernietigen. Doe je dat, dan trek je 2 kaarten, krijg je +2 Coins en iedere andere speler moet zijn hand tot 3 kaarten reduceren. Spelers die op deze aanval willen reageren met kaarten zoals de Bedelaar moeten dat doen voordat jij bepaalt of je al dan niet 2 kaarten uit je hand vernietigt. ",
"name": "Straatjongen / Huurling"
},
"empires events": {
"description": "<justify>Gebeurteniskaarten zijn geen koninkrijkkaarten. Een speler mag in zijn aanschaffase in plaats van een kaart een gebeurtenis kopen. Hij betaalt dan de op de gebeurteniskaart aangegeven kosten en voert de bijbehorende functie uit. De gebeurtenis blijft op tafel liggen (deze kan zich nooit in een stapel, op een tableau of in de hand van een speler bevinden). Met het kopen van een gebeurtenis verbruikt de speler 1 aanschaf. Heeft een speler meer aancshaffen in zijn beurt, dan mag hij deze naar believen (en in een volgorde naar keuze) verdelen over het kopen van kaarten en gebeurtenissen.",
"description": "<justify>Gebeurteniskaarten zijn geen koninkrijkkaarten. Een speler mag in zijn aanschaffase in plaats van een kaart een gebeurtenis kopen. Hij betaalt dan de op de gebeurteniskaart aangegeven kosten en voert de bijbehorende functie uit. De gebeurtenis blijft op tafel liggen (deze kan zich nooit in een stapel, op een tableau of in de hand van een speler bevinden). Met het kopen van een gebeurtenis verbruikt de speler 1 aanschaf. Heeft een speler meer aancshaffen in zijn beurt, dan mag hij deze naar believen (en in een volgorde naar keuze) verdelen over het kopen van kaarten en gebeurtenissen.</justify>",
"extra": "Het is toegestaan om dezelfde gebeurtenis meermaals per beurt te kopen (mits de speler voldoende aanschaffen en Coins heeft). Sommige gebeurtenissen geven extra aanschaffen, waardoor de speler daarna meer kaarten/gebeurtenissen zou kunnen kopen. Een speler mag na het kopen van een gebeurtenis deze beurt geen geldkaarten meer spelen. Het kopen van een gebeurtenis geldt niet als het kopen van een kaart en activeert daarom niet kaarten zoals Heks uit het moeras en Domkoppen (uit Dominion Welvaart). De kosten van het kopen van een gebeurtenis worden niet beïnvloed door kaarten zoals Brugtrol.",
"name": "Gebeurtenissen - Keizerrijken"
},
"empires landmarks": {
"description": "<justify>Bezienswaardigheden zijn geen Koningkrijkskaarten. Bezienswaardigheden bieden nieuwe manieren om punten te scoren. De spelers kiezen zelf hoe ze bepalen met welke bezienswaardigheden ze spelen. Ze kunnen de bezienswaardigheden door de gebeurtenissen schudden en er vóór een spel 2 trekken. Ze kunnen er ook voor kiezen om de bezienswaardigheden (en gebeurtenissen) door de locatiekaarten te schudden en er dan 0-2 te gebruiken, afhankelijk van het aantal dat verschijnt voordat er 10 koninkrijkkaarten zijn getrokken. Of ze gberuiken een andere methode. De te gebruiken bezienswaardigheden zijn vanaf de start van het spel voor alle spelers zichtbaar. We raden aan om er niet meer dan 2 per spel te gebruiken.<n><n>Veel bezienswaardigheden hebben uitsluitend bij de puntentelling aan het einde van het spel een functie. Op basis van de aanwijzingen op de bezienswaardigheid krijgen de spelers dan bonus- of minpunten.<n><n>Sommige bezienswardigheden starten met 6 <VP>-fiches per speler. Dus, 12 <VP>-fiches in het spel met 2 spelers tot 36 <VP>-fiches bij 6 spelers. Deze bezienswaardigheden bieden een manier om aan <VP>-fiches te komen. Liggen er geen <VP>-fiches meer op een bezienswaardigheid, dan kunnen de spelers deze daar niet meer verdienen.",
"description": "<justify>Bezienswaardigheden zijn geen Koningkrijkskaarten. Bezienswaardigheden bieden nieuwe manieren om punten te scoren. De spelers kiezen zelf hoe ze bepalen met welke bezienswaardigheden ze spelen. Ze kunnen de bezienswaardigheden door de gebeurtenissen schudden en er vóór een spel 2 trekken. Ze kunnen er ook voor kiezen om de bezienswaardigheden (en gebeurtenissen) door de locatiekaarten te schudden en er dan 0-2 te gebruiken, afhankelijk van het aantal dat verschijnt voordat er 10 koninkrijkkaarten zijn getrokken. Of ze gberuiken een andere methode. De te gebruiken bezienswaardigheden zijn vanaf de start van het spel voor alle spelers zichtbaar. We raden aan om er niet meer dan 2 per spel te gebruiken.</justify><justify>Veel bezienswaardigheden hebben uitsluitend bij de puntentelling aan het einde van het spel een functie. Op basis van de aanwijzingen op de bezienswaardigheid krijgen de spelers dan bonus- of minpunten.</justify><justify>Sommige bezienswardigheden starten met 6 <VP>-fiches per speler. Dus, 12 <VP>-fiches in het spel met 2 spelers tot 36 <VP>-fiches bij 6 spelers. Deze bezienswaardigheden bieden een manier om aan <VP>-fiches te komen. Liggen er geen <VP>-fiches meer op een bezienswaardigheid, dan kunnen de spelers deze daar niet meer verdienen.</justify>",
"extra": "Bezienswaardigheden zijn geen Koningkrijkskaarten. Bezienswaardigheden bieden nieuwe manieren om punten te scoren. De spelers kiezen zelf hoe ze bepalen met welke bezienswaardigheden ze spelen. Ze kunnen de bezienswaardigheden door de gebeurtenissen schudden en er vóór een spel 2 trekken. Ze kunnen er ook voor kiezen om de bezienswaardigheden (en gebeurtenissen) door de locatiekaarten te schudden en er dan 0-2 te gebruiken, afhankelijk van het aantal dat verschijnt voordat er 10 koninkrijkkaarten zijn getrokken. Of ze gberuiken een andere methode. De te gebruiken bezienswaardigheden zijn vanaf de start van het spel voor alle spelers zichtbaar. We raden aan om er niet meer dan 2 per spel te gebruiken.<n><n>Veel bezienswaardigheden hebben uitsluitend bij de puntentelling aan het einde van het spel een functie. Op basis van de aanwijzingen op de bezienswaardigheid krijgen de spelers dan bonus- of minpunten.<n><n>Sommige bezienswardigheden starten met 6 <VP>-fiches per speler. Dus, 12 <VP>-fiches in het spel met 2 spelers tot 36 <VP>-fiches bij 6 spelers. Deze bezienswaardigheden bieden een manier om aan <VP>-fiches te komen. Liggen er geen <VP>-fiches meer op een bezienswaardigheid, dan kunnen de spelers deze daar niet meer verdienen.",
"name": "Bezienswaardigheden - Keizerrijken"
},
"Settlers - Bustling Village": {
"description": "<left><u>Kolonisten:</u><n>+1 Kaart<br>+1 Actie<n>Kijk door je aflegstapel. Je mag een Koper uit deze stapel tonen en in je hand nemen.<br><left><u>Levendig dorp:</u><n>+1 Kaart<br>+3 Acties<n>Kijk door je aflegstapel. Je mag een Kolonisten uit deze stapel tonen en in je hand nemen.",
"extra": "<left><u>Kolonisten:</u></left> Je mag door je aflegstapel kijken, ook al weet je dat er geen Koper in zit.<n><u>Levendig dorp:</u> Je mag ook door je aflegstapel kijken als je weet dat er geen kaart \"Kolonisten\" in zit.",
"description": "<left><u>Kolonisten:</u></left><left>+1 Kaart</left><left>+1 Actie</left><left>Kijk door je aflegstapel. Je mag een Koper uit deze stapel tonen en in je hand nemen.</left><left><u>Levendig dorp:</u></left><left>+1 Kaart</left><left>+3 Acties</left><left>Kijk door je aflegstapel. Je mag een Kolonisten uit deze stapel tonen en in je hand nemen.</left>",
"extra": "<left><u>Kolonisten:</u></left><left> Je mag door je aflegstapel kijken, ook al weet je dat er geen Koper in zit.</left><left><u>Levendig dorp:</u></left><left> Je mag ook door je aflegstapel kijken als je weet dat er geen kaart \"Kolonisten\" in zit.</left>",
"name": "Kolonisten / Levendig dorp"
},
"Catapult - Rocks": {
"description": "<left><u>Katapult</u>:<n>+1 Coin<n>Vernietig een kaart uit je hand is deze 3 Coins of meer waard, dan pakt iedere andere speler een Vloek, Is het een geldkaart, dan legt iedere speler zoveel kaarten af dat hij 3 handkaarten overhoudt.<n><left><u>Rotsblokken:</u><n>+1 Coin<line>Als je deze kaart pakt of vernietigt, pak een Zilver. Is het je aanschaffase, leg het Zilver dan op je trekstapel. Zo niet, neem het Zilver dan in je hand.",
"extra": "<left><u>Kaptapult:</u><n>Als de kaart die je vernietigd een geldkaart is, legt iedere andere speler handkaarten af totdat hij er nog 3 heeft. Is de kaart die vernietigt 3 Coins of meer waard, dan krijgt iedere andere speler een Vloek. Heeft de vernietigde kaart beide eigenschappen (bijvoorbeeld Zilver), dan gebeuren beide zaken. Heeft de kaart geen van beide eigenschappen, dan gebeurt er niets. Heb je geen kaarten in je hand om te vernietigen, dan gebeurt er niets.\n<u>Rotsblokken:</u><n> Is het de beurt van een andere speler, dan is het niet jouw aanschaffase, dus gaat het Zilver naar je hand.",
"description": "<left><u>Katapult:</u></left><left>+1 Coin</left><left>Vernietig een kaart uit je hand is deze 3 Coins of meer waard, dan pakt iedere andere speler een Vloek, Is het een geldkaart, dan legt iedere speler zoveel kaarten af dat hij 3 handkaarten overhoudt.</left><left><u>Rotsblokken:</u></left><left>+1 Coin</left><line><left>Als je deze kaart pakt of vernietigt, pak een Zilver. Is het je aanschaffase, leg het Zilver dan op je trekstapel. Zo niet, neem het Zilver dan in je hand.</left>",
"extra": "<left><u>Kaptapult:</u></left><left>Als de kaart die je vernietigd een geldkaart is, legt iedere andere speler handkaarten af totdat hij er nog 3 heeft. Is de kaart die vernietigt 3 Coins of meer waard, dan krijgt iedere andere speler een Vloek. Heeft de vernietigde kaart beide eigenschappen (bijvoorbeeld Zilver), dan gebeuren beide zaken. Heeft de kaart geen van beide eigenschappen, dan gebeurt er niets. Heb je geen kaarten in je hand om te vernietigen, dan gebeurt er niets.</left><left><u>Rotsblokken:</u></left><left>Is het de beurt van een andere speler, dan is het niet jouw aanschaffase, dus gaat het Zilver naar je hand.</left>",
"name": "Katapult / Rotsblokken"
},
"Patrician - Emporium": {
"description": "<left><u>Patriciër</u>:<n>+1 Kaart<br>+1 Actie<n>Toon de bovenste kaart van je trekstapel. Is deze 5 Coins of meer waard, neem hem dan in je hand.<n><left><u>Emporium:</u><n>+1 Kaart<br>+1 Actie<br>+1 Coin<line>Als je deze kaart pakt en je hebt ten minste 5 actiekaarten in het spel, +2 <VP>.",
"extra": "<left><u>Patriciër</u>:<n>kaarten die Debt kosten, zijn niet 5 Coins of meer waard, tenzij ze ook _ Coin-kosten van 5 Coins of meer hebben. Fortuin dus bijvoorbeeld wel, maar Stadswijk niet. <n><u>Emporium:</u><n> Deze kaart telt actiekaarten in het spel, inclusief de deze beurt gespeelde, duurzame kaarten uit voorgaande beurten en reservekaarten (uit Dominion: Avonturen) die deze beurt zijn opgeroepen.",
"description": "<left><u>Patriciër:</u></left><left>+1 Kaart</left><left>+1 Actie</left><left>Toon de bovenste kaart van je trekstapel. Is deze 5 Coins of meer waard, neem hem dan in je hand.</left><left><u>Emporium:</u></left><left>+1 Kaart</left><left>+1 Actie</left><left>+1 Coin</left><line><left>Als je deze kaart pakt en je hebt ten minste 5 actiekaarten in het spel, +2 <VP>.</left>",
"extra": "<left><u>Patriciër:</u></left><left>kaarten die Debt kosten, zijn niet 5 Coins of meer waard, tenzij ze ook _ Coin-kosten van 5 Coins of meer hebben. Fortuin dus bijvoorbeeld wel, maar Stadswijk niet. </left><left><u>Emporium:</u></left><left> Deze kaart telt actiekaarten in het spel, inclusief de deze beurt gespeelde, duurzame kaarten uit voorgaande beurten en reservekaarten (uit Dominion: Avonturen) die deze beurt zijn opgeroepen.</left>",
"name": "Patriciër / Emporium"
},
"Encampment - Plunder": {
"description": "<left><u>Kampement</u>:<n>+2 Kaarten<br>+2 Acties<n>Je mag een goud of een plunderenkaart uit je hand tonen. Doe je dat niet, leg deze kaart dan opzij en leg hem aan het begin van je opschoonfase terug in de voorraad.<n><left><u>Plunder</u>:<n>+2 Coins<br>+1<VP>",
"extra": "<left><u>Kampement</u>:<n>Het tonen van een kaart \"Plunderen\" of \"Goud\" is optioneel. Leg je een Kampement terug op de voorraadstapel, dan gaat het altijd bovenop de stapel, ook als er een kaart \"Plunderen\" bovenop ligt. <n><u>Plunder:</u><n> Deze kaart geeft je elke keer dat je hem speelt een <VP>-fiche.",
"description": "<left><u>Kampement:</u></left><left>+2 Kaarten</left><left>+2 Acties</left><left>Je mag een goud of een plunderenkaart uit je hand tonen. Doe je dat niet, leg deze kaart dan opzij en leg hem aan het begin van je opschoonfase terug in de voorraad.</left><left><u>Plunder:</u></left><left>+2 Coins</left><left>+1<VP></left>",
"extra": "<left><u>Kampement:</u></left><left>Het tonen van een kaart \"Plunderen\" of \"Goud\" is optioneel. Leg je een Kampement terug op de voorraadstapel, dan gaat het altijd bovenop de stapel, ook als er een kaart \"Plunderen\" bovenop ligt.</left><left><u>Plunder:</u></left><left>Deze kaart geeft je elke keer dat je hem speelt een <VP>-fiche.</left>",
"name": "Kampement / Plunderen"
},
"Gladiator - Fortune": {
"description": "<left><u>Gladiator:</u><n>+2 Coins\n Toon een kaart uit je hand. Je linkerbuurman mag een zelfde exemplaar uit zijn hand tonen. Doet hij dat niet dan +2 Coins en vernietig een Gladiator uit de voorraad.<n><left><u>Fortuin:</u><n>+1 Aanschaf<n>Verdubbel bij het spelen van deze kaart je _ Coins als je dat deze beurt nog niet hebt gedaan.<line>Als je deze kaart pakt, pak een Goud per Gladiator die je in het spel hebt.",
"extra": "<left><u>Gladiator:</u><n>Zijn er geen Gladiators in voorraad, dan kun je geen Gladiators meer vernietigen, maar je krijgt nog wel de +1 Coin. Heb je geen kaarten in je hand, dan kan je de linkerbuurman geen exemplaar tonen van de kaart die jij toonde, dus je krijgt de +1 Coin en vernietigt een Gladiator.<left><u>Fortuin:</u></left><n> Je verdubbelt je _ Coin alleen bij de eerste keer dat je Fortuin in je beurt speelt, bij elk volgende krijg je uitsluitend +1 Aanschaf.",
"description": "<left><u>Gladiator:</u></left><left>+2 Coins</left><left> Toon een kaart uit je hand. Je linkerbuurman mag een zelfde exemplaar uit zijn hand tonen. Doet hij dat niet dan +2 Coins en vernietig een Gladiator uit de voorraad.</left><left><u>Fortuin:</u></left><left>+1 Aanschaf</left><left>Verdubbel bij het spelen van deze kaart je _ Coins als je dat deze beurt nog niet hebt gedaan.</left><justify>Als je deze kaart pakt, pak een Goud per Gladiator die je in het spel hebt.</justify>",
"extra": "<left><u>Gladiator:</u></left><left>Zijn er geen Gladiators in voorraad, dan kun je geen Gladiators meer vernietigen, maar je krijgt nog wel de +1 Coin. Heb je geen kaarten in je hand, dan kan je de linkerbuurman geen exemplaar tonen van de kaart die jij toonde, dus je krijgt de +1 Coin en vernietigt een Gladiator.</left><left><u>Fortuin:</u></left><left> Je verdubbelt je _ Coin alleen bij de eerste keer dat je Fortuin in je beurt speelt, bij elk volgende krijg je uitsluitend +1 Aanschaf.</left>",
"name": "Gladiator / Fortuin"
},
"nocturne hexes": {

View File

@ -110,7 +110,7 @@ class Card(object):
bonus['include'].sort(reverse=True)
include_regex = r"(\+\s*\d+\s*(" + '|'.join(bonus['include']) + "))"
regex = r"((?i)(?!\<b\>)" + include_regex + exclude_regex + r"(?!\<\/b\>))"
regex = r"(?i)((?!\<b\>)" + include_regex + exclude_regex + r"(?!\<\/b\>))"
Card.bonus_regex.append(regex)
def __repr__(self):

View File

@ -931,7 +931,10 @@ class DividerDrawer(object):
dmod = d
else:
dmod = self.add_inline_images(d, s.fontSize)
p = Paragraph(dmod, s)
try:
p = Paragraph(dmod, s)
except ValueError as e:
raise ValueError(u'Error rendering text from "{}": {} ("{}")'.format(card.name, e, dmod))
h += p.wrap(textBoxWidth, textBoxHeight)[1]
paragraphs.append(p)

View File

@ -0,0 +1,24 @@
from __future__ import print_function
import pytest
from .. import main
def get_clean_opts(opts):
options = main.parse_opts(opts)
options = main.clean_opts(options)
return options
def test_standard_opts():
# should be the default
options = get_clean_opts([])
main.generate(options)
@pytest.mark.parametrize("lang", main.get_languages('card_db'))
def test_grouped(lang):
print('checking ' + lang)
options = get_clean_opts(['--special-card-groups', '--language={}'.format(lang)])
main.generate(options)