aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/cards/base/advisor.yml12
-rw-r--r--data/cards/base/archer.yml4
-rw-r--r--data/cards/base/cavalry.yml4
-rw-r--r--data/cards/base/cavalry_archer.yml4
-rw-r--r--data/cards/base/fighter.yml8
-rw-r--r--data/cards/base/great_sword.yml8
-rw-r--r--data/cards/base/knight.yml8
-rw-r--r--data/cards/base/misinformation.yml8
-rw-r--r--data/cards/base/missionary.yml8
-rw-r--r--data/cards/base/palisade.yml4
-rw-r--r--data/cards/base/pikeman.yml8
-rw-r--r--data/cards/base/pioneer.yml8
-rw-r--r--data/cards/base/recruit.yml4
-rw-r--r--data/cards/base/recruiter.yml12
-rw-r--r--data/cards/base/shield.yml8
-rw-r--r--data/cards/base/sword.yml8
-rw-r--r--data/cards/base/tax_collector.yml8
-rw-r--r--data/cards/base/tower_shield.yml8
-rw-r--r--data/cards/base/wormtongue.yml12
-rw-r--r--data/cards/equipments/armor.yml8
-rw-r--r--data/cards/equipments/banner.yml4
-rw-r--r--data/cards/equipments/cloak.yml8
-rw-r--r--data/cards/equipments/gear.yml8
-rw-r--r--data/cards/equipments/mace.yml8
-rw-r--r--data/cards/equipments/plate_armor.yml8
-rw-r--r--data/cards/equipments/poisoned_dagger.yml8
-rw-r--r--data/cards/equipments/reclaim!.yml8
-rw-r--r--data/cards/equipments/relic.yml8
-rw-r--r--data/cards/equipments/shatter!.yml8
-rw-r--r--data/cards/equipments/smith.yml13
-rw-r--r--data/cards/equipments/spear.yml8
-rw-r--r--data/cards/exp1/backup!.yml8
-rw-r--r--data/cards/exp1/berserker.yml4
-rw-r--r--data/cards/exp1/macabre_clown.yml8
-rw-r--r--data/cards/exp1/ramm.yml12
-rw-r--r--data/cards/exp1/recycle!.yml4
-rw-r--r--data/cards/exp1/reformer.yml8
-rw-r--r--data/cards/exp1/renew!.yml8
-rw-r--r--data/cards/exp1/stasis_orb.yml8
-rw-r--r--data/cards/exp1/taunter.yml8
-rw-r--r--data/cards/exp1/unmark!.yml8
-rw-r--r--data/cards/exp1/ward!.yml8
-rw-r--r--data/cards/kraken/angry_squid.yml4
-rw-r--r--data/cards/kraken/chachalot.yml8
-rw-r--r--data/cards/kraken/clownfish.yml8
-rw-r--r--data/cards/kraken/deja_vu.yml7
-rw-r--r--data/cards/kraken/devour_the_poor.yml8
-rw-r--r--data/cards/kraken/dolphin.yml18
-rw-r--r--data/cards/kraken/drowned_sailor.yml8
-rw-r--r--data/cards/kraken/flying_dutchmen.yml8
-rw-r--r--data/cards/kraken/frost_pylon.yml13
-rw-r--r--data/cards/kraken/gigantic_hail.yml8
-rw-r--r--data/cards/kraken/ice_berg.yml8
-rw-r--r--data/cards/kraken/sailfish.yml4
-rw-r--r--data/cards/kraken/sold_out.yml8
-rw-r--r--data/cards/kraken/suprise.yml8
-rw-r--r--data/cards/kraken/tentacle_slap.yml8
-rw-r--r--data/cards/kraken/the_kraken.yml4
-rw-r--r--data/cards/kraken/tides_change.yml8
-rw-r--r--data/cards/kraken/unholy_cannonball.yml11
-rw-r--r--data/cards/magic/action!.yml8
-rw-r--r--data/cards/magic/appear!.yml8
-rw-r--r--data/cards/magic/attack!.yml8
-rw-r--r--data/cards/magic/catalyst.yml8
-rw-r--r--data/cards/magic/clone!.yml8
-rw-r--r--data/cards/magic/defense!.yml8
-rw-r--r--data/cards/magic/die!.yml8
-rw-r--r--data/cards/magic/heal!.yml8
-rw-r--r--data/cards/magic/isolate!.yml8
-rw-r--r--data/cards/magic/mine!.yml8
-rw-r--r--data/cards/magic/more!.yml8
-rw-r--r--data/cards/magic/no!.yml8
-rw-r--r--data/cards/magic/pierce!.yml8
-rw-r--r--data/cards/magic/ritual!.yml7
-rw-r--r--data/cards/magic/rush!.yml8
-rw-r--r--data/cards/magic/select!.yml8
-rw-r--r--data/cards/magic/shroud!.yml8
-rw-r--r--data/cards/magic/stumble!.yml8
-rw-r--r--data/cards/magic/switch!.yml8
-rw-r--r--data/cards/magic/transmute!.yml8
-rw-r--r--data/cards/misc/farmer.yml4
-rw-r--r--data/cards/misc/king.yml11
-rw-r--r--data/cards/misc/stick_of_victory.yml12
-rw-r--r--data/cards/nautics/barge.yml12
-rw-r--r--data/cards/nautics/captain.yml8
-rw-r--r--data/cards/nautics/fish_trap.yml12
-rw-r--r--data/cards/nautics/fisher.yml16
-rw-r--r--data/cards/nautics/galley.yml14
-rw-r--r--data/cards/nautics/sailor.yml8
-rw-r--r--latex/Makefile28
-rw-r--r--latex/cards/de/base/advisor.tex12
-rw-r--r--latex/cards/de/base/archer.tex12
-rw-r--r--latex/cards/de/base/cavalry.tex12
-rw-r--r--latex/cards/de/base/cavalry_archer.tex12
-rw-r--r--latex/cards/de/base/fighter.tex12
-rw-r--r--latex/cards/de/base/great_sword.tex (renamed from latex/cards/base/great_sword.tex)4
-rw-r--r--latex/cards/de/base/knight.tex12
-rw-r--r--latex/cards/de/base/misinformation.tex12
-rw-r--r--latex/cards/de/base/missionary.tex12
-rw-r--r--latex/cards/de/base/palisade.tex13
-rw-r--r--latex/cards/de/base/pikeman.tex12
-rw-r--r--latex/cards/de/base/pioneer.tex12
-rw-r--r--latex/cards/de/base/recruit.tex11
-rw-r--r--latex/cards/de/base/recruiter.tex12
-rw-r--r--latex/cards/de/base/shield.tex13
-rw-r--r--latex/cards/de/base/sword.tex13
-rw-r--r--latex/cards/de/base/tax_collector.tex12
-rw-r--r--latex/cards/de/base/tower_shield.tex13
-rw-r--r--latex/cards/de/base/wormtongue.tex12
-rw-r--r--latex/cards/de/equipments/armor.tex13
-rw-r--r--latex/cards/de/equipments/banner.tex13
-rw-r--r--latex/cards/de/equipments/cloak.tex13
-rw-r--r--latex/cards/de/equipments/gear.tex13
-rw-r--r--latex/cards/de/equipments/mace.tex13
-rw-r--r--latex/cards/de/equipments/plate_armor.tex13
-rw-r--r--latex/cards/de/equipments/poisoned_dagger.tex13
-rw-r--r--latex/cards/de/equipments/reclaim!.tex13
-rw-r--r--latex/cards/de/equipments/relic.tex13
-rw-r--r--latex/cards/de/equipments/shatter!.tex13
-rw-r--r--latex/cards/de/equipments/smith.tex12
-rw-r--r--latex/cards/de/equipments/spear.tex13
-rw-r--r--latex/cards/de/exp1/backup!.tex13
-rw-r--r--latex/cards/de/exp1/berserker.tex (renamed from latex/cards/exp1/berserker.tex)2
-rw-r--r--latex/cards/de/exp1/macabre_clown.tex12
-rw-r--r--latex/cards/de/exp1/ramm.tex12
-rw-r--r--latex/cards/de/exp1/recycle!.tex13
-rw-r--r--latex/cards/de/exp1/reformer.tex12
-rw-r--r--latex/cards/de/exp1/renew!.tex13
-rw-r--r--latex/cards/de/exp1/stasis_orb.tex13
-rw-r--r--latex/cards/de/exp1/taunter.tex12
-rw-r--r--latex/cards/de/exp1/unmark!.tex13
-rw-r--r--latex/cards/de/exp1/ward!.tex13
-rw-r--r--latex/cards/de/kraken/angry_squid.tex12
-rw-r--r--latex/cards/de/kraken/chachalot.tex12
-rw-r--r--latex/cards/de/kraken/clownfish.tex12
-rw-r--r--latex/cards/de/kraken/deja_vu.tex12
-rw-r--r--latex/cards/de/kraken/devour_the_poor.tex12
-rw-r--r--latex/cards/de/kraken/dolphin.tex12
-rw-r--r--latex/cards/de/kraken/drowned_sailor.tex11
-rw-r--r--latex/cards/de/kraken/flying_dutchmen.tex12
-rw-r--r--latex/cards/de/kraken/frost_pylon.tex12
-rw-r--r--latex/cards/de/kraken/gigantic_hail.tex (renamed from latex/cards/kraken/gigantic_hail.tex)4
-rw-r--r--latex/cards/de/kraken/ice_berg.tex11
-rw-r--r--latex/cards/de/kraken/sailfish.tex12
-rw-r--r--latex/cards/de/kraken/sold_out.tex12
-rw-r--r--latex/cards/de/kraken/suprise.tex12
-rw-r--r--latex/cards/de/kraken/tentacle_slap.tex12
-rw-r--r--latex/cards/de/kraken/the_kraken.tex11
-rw-r--r--latex/cards/de/kraken/tides_change.tex12
-rw-r--r--latex/cards/de/kraken/unholy_cannonball.tex12
-rw-r--r--latex/cards/de/magic/action!.tex13
-rw-r--r--latex/cards/de/magic/appear!.tex13
-rw-r--r--latex/cards/de/magic/attack!.tex13
-rw-r--r--latex/cards/de/magic/catalyst.tex13
-rw-r--r--latex/cards/de/magic/clone!.tex13
-rw-r--r--latex/cards/de/magic/defense!.tex13
-rw-r--r--latex/cards/de/magic/die!.tex13
-rw-r--r--latex/cards/de/magic/heal!.tex (renamed from latex/cards/magic/isolate!.tex)4
-rw-r--r--latex/cards/de/magic/isolate!.tex13
-rw-r--r--latex/cards/de/magic/mine!.tex13
-rw-r--r--latex/cards/de/magic/more!.tex13
-rw-r--r--latex/cards/de/magic/no!.tex13
-rw-r--r--latex/cards/de/magic/pierce!.tex13
-rw-r--r--latex/cards/de/magic/ritual!.tex13
-rw-r--r--latex/cards/de/magic/rush!.tex13
-rw-r--r--latex/cards/de/magic/select!.tex13
-rw-r--r--latex/cards/de/magic/shroud!.tex13
-rw-r--r--latex/cards/de/magic/stumble!.tex13
-rw-r--r--latex/cards/de/magic/switch!.tex13
-rw-r--r--latex/cards/de/magic/transmute!.tex13
-rw-r--r--latex/cards/de/misc/farmer.tex11
-rw-r--r--latex/cards/de/misc/king.tex11
-rw-r--r--latex/cards/de/misc/stick_of_victory.tex11
-rw-r--r--latex/cards/de/nautics/barge.tex12
-rw-r--r--latex/cards/de/nautics/captain.tex12
-rw-r--r--latex/cards/de/nautics/fish_trap.tex11
-rw-r--r--latex/cards/de/nautics/fisher.tex12
-rw-r--r--latex/cards/de/nautics/galley.tex12
-rw-r--r--latex/cards/de/nautics/sailor.tex11
-rw-r--r--latex/cards/en/base/advisor.tex (renamed from latex/cards/base/advisor.tex)0
-rw-r--r--latex/cards/en/base/archer.tex (renamed from latex/cards/base/archer.tex)2
-rw-r--r--latex/cards/en/base/cavalry.tex (renamed from latex/cards/base/cavalry.tex)0
-rw-r--r--latex/cards/en/base/cavalry_archer.tex (renamed from latex/cards/base/cavalry_archer.tex)0
-rw-r--r--latex/cards/en/base/fighter.tex (renamed from latex/cards/base/fighter.tex)0
-rw-r--r--latex/cards/en/base/great_sword.tex13
-rw-r--r--latex/cards/en/base/knight.tex (renamed from latex/cards/base/knight.tex)0
-rw-r--r--latex/cards/en/base/misinformation.tex (renamed from latex/cards/base/misinformation.tex)0
-rw-r--r--latex/cards/en/base/missionary.tex (renamed from latex/cards/base/missionary.tex)0
-rw-r--r--latex/cards/en/base/palisade.tex (renamed from latex/cards/base/palisade.tex)0
-rw-r--r--latex/cards/en/base/pikeman.tex (renamed from latex/cards/base/pikeman.tex)2
-rw-r--r--latex/cards/en/base/pioneer.tex (renamed from latex/cards/base/pioneer.tex)2
-rw-r--r--latex/cards/en/base/recruit.tex (renamed from latex/cards/base/recruit.tex)0
-rw-r--r--latex/cards/en/base/recruiter.tex (renamed from latex/cards/base/recruiter.tex)2
-rw-r--r--latex/cards/en/base/shield.tex (renamed from latex/cards/base/shield.tex)0
-rw-r--r--latex/cards/en/base/sword.tex (renamed from latex/cards/base/sword.tex)2
-rw-r--r--latex/cards/en/base/tax_collector.tex (renamed from latex/cards/base/tax_collector.tex)2
-rw-r--r--latex/cards/en/base/tower_shield.tex (renamed from latex/cards/base/tower_shield.tex)2
-rw-r--r--latex/cards/en/base/wormtongue.tex (renamed from latex/cards/base/wormtongue.tex)0
-rw-r--r--latex/cards/en/equipments/armor.tex (renamed from latex/cards/equipments/armor.tex)2
-rw-r--r--latex/cards/en/equipments/banner.tex (renamed from latex/cards/equipments/banner.tex)2
-rw-r--r--latex/cards/en/equipments/cloak.tex (renamed from latex/cards/equipments/cloak.tex)2
-rw-r--r--latex/cards/en/equipments/gear.tex (renamed from latex/cards/equipments/gear.tex)2
-rw-r--r--latex/cards/en/equipments/mace.tex (renamed from latex/cards/equipments/mace.tex)0
-rw-r--r--latex/cards/en/equipments/plate_armor.tex (renamed from latex/cards/equipments/plate_armor.tex)0
-rw-r--r--latex/cards/en/equipments/poisoned_dagger.tex (renamed from latex/cards/equipments/poisoned_dagger.tex)0
-rw-r--r--latex/cards/en/equipments/reclaim!.tex (renamed from latex/cards/equipments/reclaim!.tex)2
-rw-r--r--latex/cards/en/equipments/relic.tex (renamed from latex/cards/equipments/relic.tex)2
-rw-r--r--latex/cards/en/equipments/shatter!.tex (renamed from latex/cards/equipments/shatter!.tex)0
-rw-r--r--latex/cards/en/equipments/smith.tex (renamed from latex/cards/equipments/smith.tex)0
-rw-r--r--latex/cards/en/equipments/spear.tex (renamed from latex/cards/equipments/spear.tex)2
-rw-r--r--latex/cards/en/exp1/backup!.tex (renamed from latex/cards/exp1/backup!.tex)4
-rw-r--r--latex/cards/en/exp1/berserker.tex12
-rw-r--r--latex/cards/en/exp1/macabre_clown.tex (renamed from latex/cards/exp1/macabre_clown.tex)0
-rw-r--r--latex/cards/en/exp1/ramm.tex (renamed from latex/cards/exp1/ramm.tex)2
-rw-r--r--latex/cards/en/exp1/recycle!.tex (renamed from latex/cards/exp1/recycle!.tex)2
-rw-r--r--latex/cards/en/exp1/reformer.tex (renamed from latex/cards/exp1/reformer.tex)2
-rw-r--r--latex/cards/en/exp1/renew!.tex (renamed from latex/cards/exp1/renew!.tex)2
-rw-r--r--latex/cards/en/exp1/stasis_orb.tex (renamed from latex/cards/exp1/stasis_orb.tex)2
-rw-r--r--latex/cards/en/exp1/taunter.tex (renamed from latex/cards/exp1/taunter.tex)0
-rw-r--r--latex/cards/en/exp1/unmark!.tex (renamed from latex/cards/exp1/unmark!.tex)0
-rw-r--r--latex/cards/en/exp1/ward!.tex (renamed from latex/cards/exp1/ward!.tex)2
-rw-r--r--latex/cards/en/kraken/angry_squid.tex (renamed from latex/cards/kraken/angry_squid.tex)0
-rw-r--r--latex/cards/en/kraken/chachalot.tex (renamed from latex/cards/kraken/chachalot.tex)0
-rw-r--r--latex/cards/en/kraken/clownfish.tex (renamed from latex/cards/kraken/clownfish.tex)2
-rw-r--r--latex/cards/en/kraken/deja_vu.tex (renamed from latex/cards/kraken/deja_vu.tex)2
-rw-r--r--latex/cards/en/kraken/devour_the_poor.tex (renamed from latex/cards/kraken/devour_the_poor.tex)2
-rw-r--r--latex/cards/en/kraken/dolphin.tex (renamed from latex/cards/kraken/dolphin.tex)2
-rw-r--r--latex/cards/en/kraken/drowned_sailor.tex (renamed from latex/cards/kraken/drowned_sailor.tex)0
-rw-r--r--latex/cards/en/kraken/flying_dutchmen.tex (renamed from latex/cards/kraken/flying_dutchmen.tex)2
-rw-r--r--latex/cards/en/kraken/frost_pylon.tex (renamed from latex/cards/kraken/frost_pylon.tex)0
-rw-r--r--latex/cards/en/kraken/gigantic_hail.tex12
-rw-r--r--latex/cards/en/kraken/ice_berg.tex (renamed from latex/cards/kraken/ice_berg.tex)0
-rw-r--r--latex/cards/en/kraken/sailfish.tex (renamed from latex/cards/kraken/sailfish.tex)0
-rw-r--r--latex/cards/en/kraken/sold_out.tex (renamed from latex/cards/kraken/sold_out.tex)2
-rw-r--r--latex/cards/en/kraken/suprise.tex (renamed from latex/cards/kraken/suprise.tex)2
-rw-r--r--latex/cards/en/kraken/tentacle_slap.tex (renamed from latex/cards/kraken/tentacle_slap.tex)0
-rw-r--r--latex/cards/en/kraken/the_kraken.tex (renamed from latex/cards/kraken/the_kraken.tex)0
-rw-r--r--latex/cards/en/kraken/tides_change.tex (renamed from latex/cards/kraken/tides_change.tex)2
-rw-r--r--latex/cards/en/kraken/unholy_cannonball.tex (renamed from latex/cards/kraken/unholy_cannonball.tex)2
-rw-r--r--latex/cards/en/magic/action!.tex (renamed from latex/cards/magic/action!.tex)2
-rw-r--r--latex/cards/en/magic/appear!.tex (renamed from latex/cards/magic/appear!.tex)0
-rw-r--r--latex/cards/en/magic/attack!.tex (renamed from latex/cards/magic/attack!.tex)2
-rw-r--r--latex/cards/en/magic/catalyst.tex (renamed from latex/cards/magic/catalyst.tex)2
-rw-r--r--latex/cards/en/magic/clone!.tex (renamed from latex/cards/magic/clone!.tex)0
-rw-r--r--latex/cards/en/magic/defense!.tex (renamed from latex/cards/magic/defense!.tex)2
-rw-r--r--latex/cards/en/magic/die!.tex (renamed from latex/cards/magic/die!.tex)0
-rw-r--r--latex/cards/en/magic/heal!.tex (renamed from latex/cards/magic/heal!.tex)2
-rw-r--r--latex/cards/en/magic/isolate!.tex13
-rw-r--r--latex/cards/en/magic/mine!.tex (renamed from latex/cards/magic/mine!.tex)2
-rw-r--r--latex/cards/en/magic/more!.tex (renamed from latex/cards/magic/more!.tex)0
-rw-r--r--latex/cards/en/magic/no!.tex (renamed from latex/cards/magic/no!.tex)2
-rw-r--r--latex/cards/en/magic/pierce!.tex (renamed from latex/cards/magic/pierce!.tex)0
-rw-r--r--latex/cards/en/magic/ritual!.tex (renamed from latex/cards/magic/ritual!.tex)2
-rw-r--r--latex/cards/en/magic/rush!.tex (renamed from latex/cards/magic/rush!.tex)2
-rw-r--r--latex/cards/en/magic/select!.tex (renamed from latex/cards/magic/select!.tex)0
-rw-r--r--latex/cards/en/magic/shroud!.tex (renamed from latex/cards/magic/shroud!.tex)2
-rw-r--r--latex/cards/en/magic/stumble!.tex (renamed from latex/cards/magic/stumble!.tex)0
-rw-r--r--latex/cards/en/magic/switch!.tex (renamed from latex/cards/magic/switch!.tex)0
-rw-r--r--latex/cards/en/magic/transmute!.tex (renamed from latex/cards/magic/transmute!.tex)2
-rw-r--r--latex/cards/en/misc/farmer.tex (renamed from latex/cards/misc/farmer.tex)0
-rw-r--r--latex/cards/en/misc/king.tex (renamed from latex/cards/misc/king.tex)2
-rw-r--r--latex/cards/en/misc/stick_of_victory.tex (renamed from latex/cards/misc/stick_of_victory.tex)2
-rw-r--r--latex/cards/en/nautics/barge.tex (renamed from latex/cards/nautics/barge.tex)0
-rw-r--r--latex/cards/en/nautics/captain.tex (renamed from latex/cards/nautics/captain.tex)0
-rw-r--r--latex/cards/en/nautics/fish_trap.tex (renamed from latex/cards/nautics/fish_trap.tex)0
-rw-r--r--latex/cards/en/nautics/fisher.tex (renamed from latex/cards/nautics/fisher.tex)0
-rw-r--r--latex/cards/en/nautics/galley.tex (renamed from latex/cards/nautics/galley.tex)2
-rw-r--r--latex/cards/en/nautics/sailor.tex (renamed from latex/cards/nautics/sailor.tex)0
-rwxr-xr-xscripts/generate_card.py191
269 files changed, 1837 insertions, 317 deletions
diff --git a/data/cards/base/advisor.yml b/data/cards/base/advisor.yml
index b22f6781..f6b04589 100644
--- a/data/cards/base/advisor.yml
+++ b/data/cards/base/advisor.yml
@@ -1,7 +1,11 @@
type: unit
-name: Advisor
+name:
+ en: Advisor
+ de: Berater
health: 1
-movement: 2
+movement: 2
buy: 10
-upkeep: 2
-full_action: Draw 1 card. You may exile 1 card from your hand
+upkeep: 2
+full_action:
+ en: Draw 1 card. You may exile 1 card from your hand
+ de: Ziehe 1 Karte. Exiliere bis zu einer Karte von deiner Hand
diff --git a/data/cards/base/archer.yml b/data/cards/base/archer.yml
index eb7553c5..f0c261a4 100644
--- a/data/cards/base/archer.yml
+++ b/data/cards/base/archer.yml
@@ -1,5 +1,7 @@
type: unit
-name: Archer
+name:
+ en: Archer
+ en: Bogenschütze
attack: 1 Range 2
health: 2
movement: 2
diff --git a/data/cards/base/cavalry.yml b/data/cards/base/cavalry.yml
index 574026e3..0dd3ed42 100644
--- a/data/cards/base/cavalry.yml
+++ b/data/cards/base/cavalry.yml
@@ -1,5 +1,7 @@
type: unit
-name: Cavalry
+name:
+ en: Cavalry
+ de: Kavallerie
attack: 2
health: 1
movement: 3
diff --git a/data/cards/base/cavalry_archer.yml b/data/cards/base/cavalry_archer.yml
index f5da0265..98bc4030 100644
--- a/data/cards/base/cavalry_archer.yml
+++ b/data/cards/base/cavalry_archer.yml
@@ -1,5 +1,7 @@
type: unit
-name: Cavalry Archer
+name:
+ en: Cavalry Archer
+ de: Berittener Bogenschütze
attack: 1 Range 2
health: 1
movement: 3
diff --git a/data/cards/base/fighter.yml b/data/cards/base/fighter.yml
index 113f69ff..7ef3ce05 100644
--- a/data/cards/base/fighter.yml
+++ b/data/cards/base/fighter.yml
@@ -1,8 +1,12 @@
type: unit
-name: Fighter
+name:
+ en: Fighter
+ de: Kämpfer
attack: 1
health: 2
movement: 2
buy: 7
upkeep: 1
-effect: One additional attack action
+effect:
+ en: One additional attack action
+ de: Eine zusätzliche Anggrifs-Aktion
diff --git a/data/cards/base/great_sword.yml b/data/cards/base/great_sword.yml
index 40542ed2..4ceb7e1b 100644
--- a/data/cards/base/great_sword.yml
+++ b/data/cards/base/great_sword.yml
@@ -1,6 +1,10 @@
type: equipment
-name: Great Sword
+name:
+ en: Greatsword
+ de: Großschwert
buy: 10
play: 4
durability: 3
-effect: Equipped unit gains +2 Melee Damage
+effect:
+ en: Equipped unit gains +2 Melee
+ de: Ausgerüstete Unit hat +2 Nahkampf
diff --git a/data/cards/base/knight.yml b/data/cards/base/knight.yml
index f8d7bdd1..798bcd8b 100644
--- a/data/cards/base/knight.yml
+++ b/data/cards/base/knight.yml
@@ -1,8 +1,12 @@
type: unit
-name: Knight
+name:
+ en: Knight
+ de: Ritter
attack: 2
health: 2
movement: 2
buy: 7
upkeep: 2
-effect: + 1 Armor
+effect:
+ en: + 1 Armor
+ de: + 1 Rüstung
diff --git a/data/cards/base/misinformation.yml b/data/cards/base/misinformation.yml
index 08e22fe3..7a36c6c3 100644
--- a/data/cards/base/misinformation.yml
+++ b/data/cards/base/misinformation.yml
@@ -1,5 +1,9 @@
type: spell
-name: Misinformation
+name:
+ en: Misinformation
+ de: Fehlinformation
token: true
-effect: Exile this card
+effect:
+ en: Exile this card
+ de: Exiliere diese Karte
play: 5
diff --git a/data/cards/base/missionary.yml b/data/cards/base/missionary.yml
index a805ae4b..ccb41ba4 100644
--- a/data/cards/base/missionary.yml
+++ b/data/cards/base/missionary.yml
@@ -1,7 +1,11 @@
type: unit
-name: Missionary
+name:
+ en: Missionary
+ de: Missionar
health: 1
movement: 2
buy: 10
upkeep: 2
-full_action: Put two faith marks on target Unit. If there are more faith marks than the units buying cost you control that unit
+full_action:
+ en: Put two faith marks on target Unit. If there are more faith marks than the units buying cost you control that unit
+ de: Lege zwei Glaubens-Marken auf eine Ziel-Unit. Du kontrollierst die Unit falls mehr Glaubens-Marken auf ihr liegen als ihre Kauf-Kosten
diff --git a/data/cards/base/palisade.yml b/data/cards/base/palisade.yml
index de0d8c2c..bb19737e 100644
--- a/data/cards/base/palisade.yml
+++ b/data/cards/base/palisade.yml
@@ -2,4 +2,6 @@ type: artifact
name: Palisade
buy: 7
play: 3
-effect: Solid 6
+effect:
+ en: Solid 6
+ de: Solide 6
diff --git a/data/cards/base/pikeman.yml b/data/cards/base/pikeman.yml
index 766a8ff4..11bbb2e2 100644
--- a/data/cards/base/pikeman.yml
+++ b/data/cards/base/pikeman.yml
@@ -1,8 +1,12 @@
type: unit
-name: Pikeman
+name:
+ en: Pikeman
+ de: Pikenier
attack: 1
health: 2
movement: 1
buy: 5
upkeep: 1
-effect: Range 2 against Units with Movement >= 3
+effect:
+ en: Attack Range 2 against Units with Movement >= 3
+ de: Angriffs-Range 2 gegen Units mit Bewegung >= 3
diff --git a/data/cards/base/pioneer.yml b/data/cards/base/pioneer.yml
index 3e1315a1..80f765c0 100644
--- a/data/cards/base/pioneer.yml
+++ b/data/cards/base/pioneer.yml
@@ -1,7 +1,11 @@
type: unit
-name: Pioneer
+name:
+ en: Pioneer
+ de: Pionier
health: 5
movement: 2
buy: 7
upkeep: 1
-full_action: Neutralize adjacent tile or Artifact
+full_action:
+ en: Neutralize one Tile or destroy Artifact in Range 1
+ de: Neutralisiere ein Feld oder zerstoere ein Artifact in Range 1
diff --git a/data/cards/base/recruit.yml b/data/cards/base/recruit.yml
index 99ab85fa..48a00014 100644
--- a/data/cards/base/recruit.yml
+++ b/data/cards/base/recruit.yml
@@ -1,5 +1,7 @@
type: unit
-name: Recruit
+name:
+ en: Recruit
+ de: Rekrut
token: true
attack: 1
health: 1
diff --git a/data/cards/base/recruiter.yml b/data/cards/base/recruiter.yml
index 3dc62fbb..89e1d4c6 100644
--- a/data/cards/base/recruiter.yml
+++ b/data/cards/base/recruiter.yml
@@ -1,9 +1,15 @@
type: unit
-name: Recruiter
+name:
+ en: Recruiter
+ de: Anwerber
attack: 1
health: 2
movement: 2
buy: 10
upkeep: 1
-effect: Allow Units to be played in Range 1
-full_action: Create Recruit token on adjacent tile
+effect:
+ en: Units can be played in Range 1
+ de: Units können in Range 1 ausgespielt werden
+full_action:
+ en: Create Recruit token on adjacent tile
+ de: Erzeuge einen Rekrut Token auf einem angrenzenden Feld
diff --git a/data/cards/base/shield.yml b/data/cards/base/shield.yml
index 3ca09d6b..dbd5fc92 100644
--- a/data/cards/base/shield.yml
+++ b/data/cards/base/shield.yml
@@ -1,6 +1,10 @@
type: equipment
-name: Shield
+name:
+ en: Shield
+ de: Schild
buy: 5
play: 1
durability: 3
-effect: Equipped unit gains +1 Health
+effect:
+ en: Equipped unit gains +1 Health
+ de: Die ausgerüstete Unit hat +1 Leben
diff --git a/data/cards/base/sword.yml b/data/cards/base/sword.yml
index b5875ec7..417c8433 100644
--- a/data/cards/base/sword.yml
+++ b/data/cards/base/sword.yml
@@ -1,6 +1,10 @@
type: equipment
-name: Sword
+name:
+ en: Sword
+ de: Schwert
buy: 5
play: 2
durability: 3
-effect: Equipped unit gains +1 Melee Damage
+effect:
+ en: Equipped Unit gains +1 Melee
+ de: Die ausgerüstete Unit hat +1 Nahkampf
diff --git a/data/cards/base/tax_collector.yml b/data/cards/base/tax_collector.yml
index 47e46c27..b03d38ba 100644
--- a/data/cards/base/tax_collector.yml
+++ b/data/cards/base/tax_collector.yml
@@ -1,7 +1,11 @@
type: unit
-name: Tax Collector
+name:
+ en: Tax Collector
+ de: Steuer Eintreiber
health: 1
movement: 2
buy: 5
upkeep: 1
-full_action: Get 2 additional Ressource
+full_action:
+ en: Get 2 Resource
+ de: Erhalte 2 Ressource
diff --git a/data/cards/base/tower_shield.yml b/data/cards/base/tower_shield.yml
index d5d31ffa..4bb2498c 100644
--- a/data/cards/base/tower_shield.yml
+++ b/data/cards/base/tower_shield.yml
@@ -1,6 +1,10 @@
type: equipment
-name: Tower Shield
+name:
+ en: Tower Shield
+ de: Turmschild
buy: 7
play: 2
durability: 3
-effect: Equipped unit has +2 Health
+effect:
+ en: Equipped Unit has +2 Health
+ de: Die ausgerüstete Unit hat +2 Leben
diff --git a/data/cards/base/wormtongue.yml b/data/cards/base/wormtongue.yml
index 255549b6..d11b109c 100644
--- a/data/cards/base/wormtongue.yml
+++ b/data/cards/base/wormtongue.yml
@@ -1,8 +1,14 @@
type: unit
-name: Wormtongue
+name:
+ en: Wormtongue
+ de: Schlangenzunge
health: 1
movement: 2
buy: 10
upkeep: 2
-full_action: "Pay 3: Add a Misinformation token to an opponents pile"
-latex_full_action: "\\faRedo, 3: Add a Misinformation token to an opponents pile"
+full_action:
+ en: "Pay 3: Add a Misinformation token to an opponents pile"
+ de: "Zahle 3: Fuege einen Fehlinformation Token zum Ablagestapel eines Gegners hinzu"
+latex_full_action:
+ en: "\\faRedo, 3: Add a Misinformation token to an opponents pile"
+ de: "\\faRedo, 3: Füge einen Fehlinformation Token zum Ablagestapel eines Gegners hinzu"
diff --git a/data/cards/equipments/armor.yml b/data/cards/equipments/armor.yml
index c7ebb3c2..58bc4230 100644
--- a/data/cards/equipments/armor.yml
+++ b/data/cards/equipments/armor.yml
@@ -1,6 +1,10 @@
-name: Armor
+name:
+ en: Armor
+ de: Rüstung
type: equipment
buy: 7
play: 2
durability: 3
-effect: Equipped unit gains + 1 Armor
+effect:
+ en: Equipped unit has + 1 Armor
+ de: Die ausgerüstete Unit hat + 1 Rüstung
diff --git a/data/cards/equipments/banner.yml b/data/cards/equipments/banner.yml
index 57a6c976..f0b43897 100644
--- a/data/cards/equipments/banner.yml
+++ b/data/cards/equipments/banner.yml
@@ -2,4 +2,6 @@ name: Banner
type: artifact
play: 7
buy: 2
-effect: Units you control in range 1 gain +1 attack damage and +1 movement
+effect:
+ en: Units you control in range 1 gain +1 attack and +1 movement
+ de: Units die du kontrollierst in Range 1 haben +1 Angriff und +1 Bewegung
diff --git a/data/cards/equipments/cloak.yml b/data/cards/equipments/cloak.yml
index df3f605f..945db675 100644
--- a/data/cards/equipments/cloak.yml
+++ b/data/cards/equipments/cloak.yml
@@ -1,6 +1,10 @@
-name: Cloak
+name:
+ en: Cloak
+ de: Umhang
type: equipment
play: 7
buy: 3
durability: 2
-effect: Equipped unit gains shroud (can't be targeted)
+effect:
+ en: Equipped unit has shroud (can't be targeted)
+ de: Die ausgerüstete Unit ist verschleiert (kann kein Ziel sein)
diff --git a/data/cards/equipments/gear.yml b/data/cards/equipments/gear.yml
index e344779b..b131b240 100644
--- a/data/cards/equipments/gear.yml
+++ b/data/cards/equipments/gear.yml
@@ -1,6 +1,10 @@
-name: Gear
+name:
+ en: Gear
+ de: Ausrüsung
type: equipment
play: 3
buy: 2
durability: 3
-effect: Equipped unit gain +1 movement
+effect:
+ en: Equipped unit has +1 movement
+ de: Die ausgerüstete Unit hatt +1 Bewegung
diff --git a/data/cards/equipments/mace.yml b/data/cards/equipments/mace.yml
index 1d52190e..c768097f 100644
--- a/data/cards/equipments/mace.yml
+++ b/data/cards/equipments/mace.yml
@@ -1,6 +1,10 @@
-name: Mace
+name:
+ en: Mace
+ de: Streitkolben
type: equipment
play: 6
buy: 2
durability: 3
-effect: Equipped unit afflicts Paralysis when dealing damage in melee combat
+effect:
+ en: Equipped unit afflicts Paralysis when dealing damage in melee combat
+ de: Die ausgerüstete Unit verursacht Paralyse wenn sie im Nahkampf Schaden zufügt
diff --git a/data/cards/equipments/plate_armor.yml b/data/cards/equipments/plate_armor.yml
index df37de72..06854cc0 100644
--- a/data/cards/equipments/plate_armor.yml
+++ b/data/cards/equipments/plate_armor.yml
@@ -1,6 +1,10 @@
-name: Plate Armor
+name:
+ en: Plate Armor
+ de: Plattentüstung
type: equipment
buy: 8
play: 3
durability: 1
-effect: Equipped unit has +2 Armor and -2 Movement
+effect:
+ en: Equipped unit has +2 Armor and -2 Movement
+ de: Die ausgerüstete Unit hat +2 Rüstung und -2 Bewegung
diff --git a/data/cards/equipments/poisoned_dagger.yml b/data/cards/equipments/poisoned_dagger.yml
index 9a62242f..c459dcb5 100644
--- a/data/cards/equipments/poisoned_dagger.yml
+++ b/data/cards/equipments/poisoned_dagger.yml
@@ -1,6 +1,10 @@
-name: Poisoned Dagger
+name:
+ en: Poisoned Dagger
+ de: Giftiger Dolch
type: equipment
play: 7
buy: 3
durability: 2
-effect: Equipped unit deals damage as poison marks in melee combat
+effect:
+ en: Equipped unit deals damage as poison marks in melee combat
+ de: Die ausgerüstete Unit fügt Gift Marken statt Schaden im Nahkampf zu
diff --git a/data/cards/equipments/reclaim!.yml b/data/cards/equipments/reclaim!.yml
index d264c7ad..e581a42f 100644
--- a/data/cards/equipments/reclaim!.yml
+++ b/data/cards/equipments/reclaim!.yml
@@ -1,5 +1,9 @@
-name: Reclaim!
+name:
+ en: Reclaim!
+ de: Zurückverlangen!
type: spell
buy: 5
play: X
-effect: Teleport target Artifact you own with Playcost X to a free spawn tile of yours.
+effect:
+ en: Teleport target Artifact you own with Playcost X to one of your spawn tiles.
+ de: Teleportiere ein Ziel-Artifakt, dass dir gehört, mit Spielkosten X auf eins deiner Startfelder.
diff --git a/data/cards/equipments/relic.yml b/data/cards/equipments/relic.yml
index 8adfa12a..7c46c30b 100644
--- a/data/cards/equipments/relic.yml
+++ b/data/cards/equipments/relic.yml
@@ -1,5 +1,9 @@
-name: Relic
+name:
+ en: Relic
+ de: Reliquie
type: artifact
play: 7
buy: 3
-effect: In your upkeep the player controlling the most units in range 1 gains 1 resource. On ties all tied players gain 1 resource.
+effect:
+ en: In your upkeep all player controlling the most units in range 1 gain 1 resource.
+ de: Zu Beginn deines Upkeeps erhalten alle Spieler mit den meisten Units in Range 1 eine Ressource.
diff --git a/data/cards/equipments/shatter!.yml b/data/cards/equipments/shatter!.yml
index 90e7f570..f303a466 100644
--- a/data/cards/equipments/shatter!.yml
+++ b/data/cards/equipments/shatter!.yml
@@ -1,5 +1,9 @@
-name: Shatter!
+name:
+ en: Shatter!
+ de: Zertrümmern!
type: spell
buy: 5
play: X
-effect: Destroy target artifact with buy = X
+effect:
+ en: Destroy target artifact with buy = X
+ de: Zerstöre ein Ziel-Artefakt mit Kaufkosten X
diff --git a/data/cards/equipments/smith.yml b/data/cards/equipments/smith.yml
index 3af78c05..926d17f6 100644
--- a/data/cards/equipments/smith.yml
+++ b/data/cards/equipments/smith.yml
@@ -1,9 +1,16 @@
-name: Smith
+name:
+ en: Smith
+ de: Schmied
type: unit
buy: 10
upkeep: 2
health: 1
movement: 2
-full_action: "Pay X: Create Copy of artifact with buy cost X in Range 1 on empty tile in Range 1"
-latex_full_action: "\\faRedo, X: Create Copy of artifact with buy cost X in Range 1 on empty tile in Range 1"
+full_action:
+ en: "Pay X: Create Copy of artifact with buy cost X in Range 1 on empty tile in Range 1"
+ de: "Zahle X: Erzeuge einen Token in Range 1 als Kopie eines Artifakts mit Kaufkosten X in Range 1 auf einem benachbarten Feld"
+
+latex_full_action:
+ en: "\\faRedo, X: Create Copy of artifact with buy cost X in Range 1 on empty tile in Range 1"
+ de: "\\faRedo, X: Erzeuge einen Token in Range 1 als Kopie eines Artifakts mit Kaufkosten X in Range 1"
diff --git a/data/cards/equipments/spear.yml b/data/cards/equipments/spear.yml
index 592c47a2..f6b243c7 100644
--- a/data/cards/equipments/spear.yml
+++ b/data/cards/equipments/spear.yml
@@ -1,6 +1,10 @@
-name: Spear
+name:
+ en: Spear
+ de: Speer
type: equipment
play: 7
buy: 2
durability: 3
-effect: Equipped unit gains +1 Attack and Range 2 against unit with Movement >= 3
+effect:
+ en: Equipped unit has +1 Attack and Range 2 against units with Movement >= 3
+ de: Die ausgerüstete Unit hat +1 Angriff und Range 2 gegen Units mit Bewegung >= 3
diff --git a/data/cards/exp1/backup!.yml b/data/cards/exp1/backup!.yml
index a7a279e4..aed2af92 100644
--- a/data/cards/exp1/backup!.yml
+++ b/data/cards/exp1/backup!.yml
@@ -1,5 +1,9 @@
-name: Backup!
+name:
+ en: Backup!
+ de: Unterstützung!
type: spell
buy: 7
play: 5
-effect: Create two Recruit tokens next to an allied Unit
+effect:
+ en: Create two Recruit tokens in Range 1 of an allied Unit
+ de: Erzeuge zwei Rekrut Tokens in Range 1 einer verbündeten Unit
diff --git a/data/cards/exp1/berserker.yml b/data/cards/exp1/berserker.yml
index 97a7cb24..ea254201 100644
--- a/data/cards/exp1/berserker.yml
+++ b/data/cards/exp1/berserker.yml
@@ -4,4 +4,6 @@ health: 2
movement: 2
buy: 7
upkeep: 1
-effect: "Discard one card: Berserker has +1 attack this turn"
+effect:
+ en: "Discard one card: +1 melee this turn"
+ de: "Wirf eine Karte ab: +1 Nahkampf diesen Zug"
diff --git a/data/cards/exp1/macabre_clown.yml b/data/cards/exp1/macabre_clown.yml
index d81d0159..25622744 100644
--- a/data/cards/exp1/macabre_clown.yml
+++ b/data/cards/exp1/macabre_clown.yml
@@ -1,7 +1,11 @@
type: unit
-name: Macabre Clown
+name:
+ en: Macabre Clown
+ de: Grausiger Clown
health: 1
movement: 2
buy: 7
upkeep: 1
-full_action: "Destroy Macabre Clown: Put a panic mark on all Units in Range 1"
+full_action:
+ en: "Destroy Macabre Clown: Put a panic mark on all Units in Range 1"
+ de: "Zerstöre Grausiger Clown: Lege eine Panik Marke auf alle Units in Range 1"
diff --git a/data/cards/exp1/ramm.yml b/data/cards/exp1/ramm.yml
index 7b01d536..98f52ba8 100644
--- a/data/cards/exp1/ramm.yml
+++ b/data/cards/exp1/ramm.yml
@@ -1,8 +1,14 @@
type: unit
-name: Ramm
+name:
+ en: Ramm
+ de: Ramme
health: 3
movement: 1
buy: 7
upkeep: 1
-effect: Crew 3
-full_action: Neutralize one tile or destroy one artifact in Range 1
+effect:
+ en: Crew 3
+ de: Bemannen 3
+full_action:
+ en: Neutralize one tile or destroy one artifact in Range 1
+ de: Neutraliziere ein Feld oder zerstöre ein Artifakt in Range 1
diff --git a/data/cards/exp1/recycle!.yml b/data/cards/exp1/recycle!.yml
index ff885645..3f22e348 100644
--- a/data/cards/exp1/recycle!.yml
+++ b/data/cards/exp1/recycle!.yml
@@ -2,4 +2,6 @@ name: Recycle!
type: spell
buy: 5
play: 2
-effect: Return two cards from your discard pile to your hand
+effect:
+ en: Return two cards from your discard pile to your hand
+ de: Nimm zwei Karten aus deinem Ablagestapel auf die Hand
diff --git a/data/cards/exp1/reformer.yml b/data/cards/exp1/reformer.yml
index b72d045f..bb4cc8cc 100644
--- a/data/cards/exp1/reformer.yml
+++ b/data/cards/exp1/reformer.yml
@@ -1,7 +1,11 @@
type: unit
-name: Reformer
+name:
+ en: Reformer
+ de: Reformator
health: 1
movement: 2
buy: 7
upkeep: 1
-full_action: Whenever you discard cards this turn draw that many card
+full_action:
+ en: Whenever you discard cards this turn draw that many card
+ de: Immer wenn du diesen Zug Karten abwirfst ziehe so viele Karten
diff --git a/data/cards/exp1/renew!.yml b/data/cards/exp1/renew!.yml
index a0b9307a..c8de3abd 100644
--- a/data/cards/exp1/renew!.yml
+++ b/data/cards/exp1/renew!.yml
@@ -1,5 +1,9 @@
-name: Renew!
+name:
+ en: Renew!
+ de: Erneuere!
type: spell
buy: 5
play: 3
-effect: Shuffle your discard pile into your deck
+effect:
+ en: Shuffle your discard pile into your deck
+ de: Mische deinen Ablagestapel in dein Deck
diff --git a/data/cards/exp1/stasis_orb.yml b/data/cards/exp1/stasis_orb.yml
index 94e60326..76174bc2 100644
--- a/data/cards/exp1/stasis_orb.yml
+++ b/data/cards/exp1/stasis_orb.yml
@@ -1,5 +1,9 @@
type: artifact
-name: Stasis Orb
+name:
+ en: Stasis Orb
+ de: Stasis Kugel
buy: 7
play: 5
-effect: Solid 1. Players can not draw more than two cards each turn
+effect:
+ en: Solid 1. Players can not draw more than two cards each turn
+ de: Solide 1. Spieler können nicht mehr als zwei Karten pro Zug ziehen
diff --git a/data/cards/exp1/taunter.yml b/data/cards/exp1/taunter.yml
index 82a4df9d..5a4df24c 100644
--- a/data/cards/exp1/taunter.yml
+++ b/data/cards/exp1/taunter.yml
@@ -1,7 +1,11 @@
type: unit
-name: Taunter
+name:
+ en: Taunter
+ de: Provocateur
health: 1
movement: 2
buy: 7
upkeep: 1
-full_action: Put a rage mark on one Unit in Range 3
+full_action:
+ en: Put a rage mark on one Unit in Range 3
+ de: Lege eine Wut Marke auf ein Ziel-Unit in Range 3
diff --git a/data/cards/exp1/unmark!.yml b/data/cards/exp1/unmark!.yml
index ac949c62..90ca63d7 100644
--- a/data/cards/exp1/unmark!.yml
+++ b/data/cards/exp1/unmark!.yml
@@ -1,5 +1,9 @@
-name: Unmark!
+name:
+ en: Unmark!
+ de: Markierung Aufheben!
type: spell
buy: 7
play: 3
-effect: Remove each mark from target unit. Deal X damage to that Unit equal to the number of marks removed
+effect:
+ en: Remove each mark from target unit. Deal X damage to that Unit equal to the number of marks removed
+ de: Entferne alle marker von einer Ziel-Unit. Füge ihr Schaden in Höhe der entfernten Marken zu.
diff --git a/data/cards/exp1/ward!.yml b/data/cards/exp1/ward!.yml
index d36f2d26..a471a915 100644
--- a/data/cards/exp1/ward!.yml
+++ b/data/cards/exp1/ward!.yml
@@ -1,5 +1,9 @@
-name: Ward!
+name:
+ en: Ward!
+ de: Bewahre!
type: spell
buy: 7
play: 3
-effect: Put a ward mark on target unit without a ward marker
+effect:
+ en: Put a ward mark on target unit
+ de: Lege eine Schutz Marke auf eine Ziel-Unit
diff --git a/data/cards/kraken/angry_squid.yml b/data/cards/kraken/angry_squid.yml
index 0cd1b64e..f579d0bc 100644
--- a/data/cards/kraken/angry_squid.yml
+++ b/data/cards/kraken/angry_squid.yml
@@ -1,4 +1,6 @@
-name: Angry Squid
+name:
+ en: Angry Squid
+ de: Wütender Tintenfisch
type: unit
ai: Aggressive
attack: 1 Range 2
diff --git a/data/cards/kraken/chachalot.yml b/data/cards/kraken/chachalot.yml
index f6143fca..8a3a9990 100644
--- a/data/cards/kraken/chachalot.yml
+++ b/data/cards/kraken/chachalot.yml
@@ -1,4 +1,6 @@
-name: Chachalot
+name:
+ en: Chachalot
+ de: Pottwal
type: unit
ai: Wandering 5
attack: 2
@@ -6,4 +8,6 @@ health: 2
movement: 2 swimming
buy: 7
upkeep: 2
-effect: + 1 Armor
+effect:
+ en: + 1 Armor
+ de: + 1 Rüstung
diff --git a/data/cards/kraken/clownfish.yml b/data/cards/kraken/clownfish.yml
index aefec78a..6a6ffb3a 100644
--- a/data/cards/kraken/clownfish.yml
+++ b/data/cards/kraken/clownfish.yml
@@ -1,8 +1,12 @@
-name: Clownfish
+name:
+ en: Clownfish
+ de: Clownfisch
type: unit
ai: Shy
health: 1
movement: 2 swimming
buy: 7
upkeep: 1
-full_action: Get 4 additional Ressource
+full_action:
+ en: Gain 4 resource
+ de: Erhalte 4 Ressource
diff --git a/data/cards/kraken/deja_vu.yml b/data/cards/kraken/deja_vu.yml
index 41c19b18..a959af48 100644
--- a/data/cards/kraken/deja_vu.yml
+++ b/data/cards/kraken/deja_vu.yml
@@ -1,4 +1,7 @@
-name: Deja Vu
+name:
+ en: Deja Vu!
type: spell
buy: 5
-effect: Reset all players Ressource to the starting amount
+effect:
+ en: Reset all players Ressource to the starting amount
+ de: Setze die Ressourcen aller Spieler auf ihren Startwert
diff --git a/data/cards/kraken/devour_the_poor.yml b/data/cards/kraken/devour_the_poor.yml
index 0290a987..897fdf27 100644
--- a/data/cards/kraken/devour_the_poor.yml
+++ b/data/cards/kraken/devour_the_poor.yml
@@ -1,4 +1,8 @@
-name: Devour The Poor
+name:
+ en: Devour The Poor!
+ de: Verschlinge Die Armen!
type: spell
buy: 7
-effect: Destroy all enemy units with buy cost < 7
+effect:
+ en: Destroy all enemy units with buy cost < 7
+ de: Zerstore alle gegnerischen Units mit Kaufkosten < 7
diff --git a/data/cards/kraken/dolphin.yml b/data/cards/kraken/dolphin.yml
index ee0e5f76..23a8be20 100644
--- a/data/cards/kraken/dolphin.yml
+++ b/data/cards/kraken/dolphin.yml
@@ -1,10 +1,20 @@
-name: Dolphin
+name:
+ en: Dolphin
+ de: Dolphin
type: unit
ai: Supportive
health: 2
movement: 2
buy: 5
upkeep: 1
-latex_full_action: "Give random allied Unit in Range 1 a random buff this Turn. \\\\ \\textit{\\small (+1~Attack, +1~Armor, +2~Movement, +1~Action, +2~Pierce, All together)}"
-full_action: Give random allied Unit in Range 1 a random buff this Turn. (+1 Attack, +1 Armor, +2 Movement, +1 Action, +2 Pierce, All together)
-effect: Dolphin can be played next to a random allied Unit
+latex_full_action:
+ en: "Give random allied Unit in Range 1 a random buff until your next turn. \\\\ \\textit{\\small (+1~Attack, +1~Armor, +2~Movement, +1~Action, +2~Pierce, All~together)}"
+ de: "Gib einer verbündeten Unit in Range 1 einen zufälligen Bonus bis zu deinem nächsten Zug. \\\\ \\textit{\\small (+1~Angriff, +1~Rüstung, +2~Bewegung, +1~Aktion, +2~Durchdringen, Alles~zusammen)}"
+
+full_action:
+ en: Give random allied Unit in Range 1 a random buff until your next turn. (+1 Attack, +1 Armor, +2 Movement, +1 Action, +2 Pierce, All together)
+ de: Gib einer verbündeten Unit in Range 1 einen zufälligen Bonus bis zu deinem nachsten Zug. (+1 Angriff, +1 Rüstung, +2 Bewegung, +1 Aktion, +2 Durchdringen, Alles zusammen)
+
+effect:
+ en: Dolphin is played next to a random allied Unit
+ de: Dolphin wird neben einer zufälligen verbündeten Unit gespielt
diff --git a/data/cards/kraken/drowned_sailor.yml b/data/cards/kraken/drowned_sailor.yml
index 24d61350..77af23dd 100644
--- a/data/cards/kraken/drowned_sailor.yml
+++ b/data/cards/kraken/drowned_sailor.yml
@@ -1,5 +1,9 @@
-name: Drowned Sailor
+name:
+ en: Drowned Sailor
+ de: Ertrunkener Matrose
type: unit
token: true
attack: 1
-effect: A crewed unit gets +1 movement while swimming. If Drowned Sailor is droped destroy it
+effect:
+ en: A crewed unit gets +1 movement while swimming. If Drowned Sailor is droped destroy it
+ de: Eine bemannte Unit hat +1 Bewegung solange sie schwimmt. Zerstoere Ertrunkener Matrose falls er fallen gelassen wird
diff --git a/data/cards/kraken/flying_dutchmen.yml b/data/cards/kraken/flying_dutchmen.yml
index 9f0b5764..4f94f422 100644
--- a/data/cards/kraken/flying_dutchmen.yml
+++ b/data/cards/kraken/flying_dutchmen.yml
@@ -1,4 +1,6 @@
-name: Flying Dutchmen
+name:
+ en: Flying Dutchmen
+ de: Fliegender Holländer
type: unit
ai: Aggressive
attack: 0
@@ -6,4 +8,6 @@ health: 3
movement: 1 swimming
buy: 7
upkeep: 2
-effect: Crew 6. Whenever a enemy unit dies create a Drowned Sailor token and place it on Flying Dutchmen. If Flying Dutchmen is not crewed it's Ai is Wandering
+effect:
+ en: Crew 6. Whenever a enemy unit dies create a Drowned Sailor token and place it on Flying Dutchmen. If Flying Dutchmen is not crewed it's Ai is Wandering 0
+ de: Bemannen 6. Wenn eine gegnerische Unit zerstört wird erzeuge einen Ertrunkenen Matrosen Token auf dem Fliegenden Holländer. Solange der Fliegende Holländer nicht bemannt ist hat er eine Wandelnde 0 KI
diff --git a/data/cards/kraken/frost_pylon.yml b/data/cards/kraken/frost_pylon.yml
index 17d8ca33..0b497d04 100644
--- a/data/cards/kraken/frost_pylon.yml
+++ b/data/cards/kraken/frost_pylon.yml
@@ -1,5 +1,12 @@
-name: Frost Pylon
+name:
+ en: Frost Pylon
+ de: Frost Pylon
type: artifact
buy: 5
-effect: "Enemy units in Range 1 can't activate abilities except \"full action: put a crack mark on Frost Pylon\". If there are three or more crack mark on Frost Pylon destroy it. Frost Pylon can be played next to a random enemy unit"
-latex_effect: "Enemy units in Range 1 can't activate abilities except: \\enquote{~\\faRedo: put a crack mark on Frost Pylon}. \\\\ \\vspace{0.3cm} If there are three or more crack mark on Frost Pylon destroy it. Frost Pylon can be played next to a random enemy unit"
+effect:
+ en: "Enemy units in Range 1 can't activate abilities except \"full action: put a crack mark on Frost Pylon\". If there are three or more crack mark on Frost Pylon destroy it. Frost Pylon can be played next to a random enemy unit"
+ de: "Generische Units in Range 1 können keine Aktionen durchführen außer \"volle Aktion: lege eine Riss Marke auf Frost Pylon\". Zerstoere Frost Pylon wenn mindestens drei Riss Marken auf ihm liegen. Frost Pylon wird neben einer zufälligen gegnerischen Unit gespielt"
+
+latex_effect:
+ en: "Enemy units in Range 1 can't activate abilities except: \\enquote{~\\faRedo: put a crack mark on Frost Pylon}. \\\\ \\vspace{0.3cm} If there are three or more crack mark on Frost Pylon destroy it. Frost Pylon can be played next to a random enemy unit"
+ de: "Generische Units in Range 1 können keine Aktionen durchführen außer \\enquote{~\\faRedo: lege eine Riss Marke auf Frost Pylon}. \\\\ \\vspace{0.3cm} Zerstoere Frost Pylon wenn mindestens drei Riss Marken auf ihm liegen. Frost Pylon wird neben einer zufälligen gegnerischen Unit gespielt"
diff --git a/data/cards/kraken/gigantic_hail.yml b/data/cards/kraken/gigantic_hail.yml
index 13134e3f..d94eafe2 100644
--- a/data/cards/kraken/gigantic_hail.yml
+++ b/data/cards/kraken/gigantic_hail.yml
@@ -1,4 +1,8 @@
-name: Gigantic Hail
+name:
+ en: Gigantic Hail
+ en: Gigantischer Hagel
type: spell
buy: 3
-effect: Place three Ice Berg tokens on random empty tiles
+effect:
+ en: Place three Ice Berg tokens on random empty tiles
+ en: Plaziere drei Eisberg Token auf zufälligen freien Feldern
diff --git a/data/cards/kraken/ice_berg.yml b/data/cards/kraken/ice_berg.yml
index 02f9e53e..28fda4d2 100644
--- a/data/cards/kraken/ice_berg.yml
+++ b/data/cards/kraken/ice_berg.yml
@@ -1,4 +1,8 @@
-name: Ice Berg
+name:
+ en: Ice Berg
+ de: Eisberg
type: artifact
token: true
-effect: Solid 3
+effect:
+ en: Solid 3
+ de: Solide 3
diff --git a/data/cards/kraken/sailfish.yml b/data/cards/kraken/sailfish.yml
index 222546ee..478d272f 100644
--- a/data/cards/kraken/sailfish.yml
+++ b/data/cards/kraken/sailfish.yml
@@ -1,4 +1,6 @@
-name: Sailfish
+name:
+ en: Sailfish
+ de: Schwertfish
type: unit
ai: Aggressive
attack: 1
diff --git a/data/cards/kraken/sold_out.yml b/data/cards/kraken/sold_out.yml
index c76c1de8..0b01326a 100644
--- a/data/cards/kraken/sold_out.yml
+++ b/data/cards/kraken/sold_out.yml
@@ -1,4 +1,8 @@
-name: Sold Out
+name:
+ en: Sold Out!
+ de: Ausverkauft!
type: spell
buy: 10
-effect: Neutralize a random Store tile and exile all its cards
+effect:
+ en: Neutralize a random Store tile and exile all its cards
+ de: Neutralisiere ein zufälliges Store Feild und exiliere alle dessen Karten
diff --git a/data/cards/kraken/suprise.yml b/data/cards/kraken/suprise.yml
index 27ae5552..384759aa 100644
--- a/data/cards/kraken/suprise.yml
+++ b/data/cards/kraken/suprise.yml
@@ -1,4 +1,8 @@
-name: Suprise
+name:
+ en: Suprise!
+ de: Überraschung!
type: spell
buy: 1
-effect: Place the next Unit played this turn next to a random enemy Unit
+effect:
+ en: Place the next Unit played this turn next to a random enemy Unit
+ de: Spiele die nächste Unit diesen Zug neben einer zufälligen gegnerischen Unit
diff --git a/data/cards/kraken/tentacle_slap.yml b/data/cards/kraken/tentacle_slap.yml
index 73f78599..e241937f 100644
--- a/data/cards/kraken/tentacle_slap.yml
+++ b/data/cards/kraken/tentacle_slap.yml
@@ -1,4 +1,8 @@
-name: Tentacle Slap
+name:
+ en: Tentacle Slap
+ de: Tentakel Ohrfeige
type: spell
buy: 3
-effect: Each player discards their hand. Gain X. Where X is 5 minus the number of cards discarded that way. X can not be negative
+effect:
+ en: Each player discards their hand. Gain X. Where X is 5 minus the number of cards discarded that way. X can not be negative
+ de: Jeder Spieler wirft alle Karten auf seiner Hand ab. Erhalte X Ressource. Wobei X 5 weniger die Zahl der abgeworfenen Karten ist. X kann nicht negativ sein
diff --git a/data/cards/kraken/the_kraken.yml b/data/cards/kraken/the_kraken.yml
index ea747ad3..7502f1cb 100644
--- a/data/cards/kraken/the_kraken.yml
+++ b/data/cards/kraken/the_kraken.yml
@@ -1,4 +1,6 @@
-name: The Kraken
+name:
+ en: The Kraken
+ die: Die Krake
type: unit
health: 5
attack: 2 Range 1; 1 Range 2
diff --git a/data/cards/kraken/tides_change.yml b/data/cards/kraken/tides_change.yml
index 24c163b5..cd323d60 100644
--- a/data/cards/kraken/tides_change.yml
+++ b/data/cards/kraken/tides_change.yml
@@ -1,4 +1,8 @@
-name: Tides Change
+name:
+ en: Tides Change!
+ en: Gezeitenwechsel!
type: spell
buy: 5
-effect: Redistribute all store cards
+effect:
+ en: Redistribute all store cards
+ de: Verteile die noch verfügbaren Karten aller Stores neu
diff --git a/data/cards/kraken/unholy_cannonball.yml b/data/cards/kraken/unholy_cannonball.yml
index 1ddf10ca..30d8f630 100644
--- a/data/cards/kraken/unholy_cannonball.yml
+++ b/data/cards/kraken/unholy_cannonball.yml
@@ -1,6 +1,11 @@
-name: Unholy Cannonball
+name:
+ en: Unholy Cannonball
+ de: Unheilige Arschbombe
type: spell
buy: 5
-effect: If no enemy Units are in Range 2 of The Kraken gain 5 ressource and draw a card. Otherwise put a panik mark on all enemy Units in Range 2 of The Kraken
+effect:
+ en: If no enemy Units are in Range 2 of The Kraken gain 5 resource. Otherwise put a panik mark on all enemy Units in Range 2 of The Kraken
+ de: Falls keine gegnerische Unit in Range 2 der Krake ist erhalte 5 Ressource. Anderenfalls verursache Panik bei allen gegnerischen Units in Range 2
-latex_effect: If no enemy Units are in Range~2 of The Kraken gain 5~ressource and draw a card. \\ \vspace{0.3cm} Otherwise put a panik mark on all enemy Units in Range~2 of The Kraken
+latex_effect:
+ en: If no enemy Units are in Range~2 of The Kraken gain 5~resource. \\ \vspace{0.3cm} Otherwise put a panik mark on all enemy Units in Range~2 of The Kraken
diff --git a/data/cards/magic/action!.yml b/data/cards/magic/action!.yml
index 940e4553..c6c40132 100644
--- a/data/cards/magic/action!.yml
+++ b/data/cards/magic/action!.yml
@@ -1,5 +1,9 @@
-name: Action!
+name:
+ en: Action!
+ de: Handeln!
type: spell
buy: 5
play: 2
-effect: Move or attack with one unit
+effect:
+ en: Move or attack with target unit
+ de: Bewege oder Kämpfe mit einer Ziel-Unit
diff --git a/data/cards/magic/appear!.yml b/data/cards/magic/appear!.yml
index 4a23d982..d055093e 100644
--- a/data/cards/magic/appear!.yml
+++ b/data/cards/magic/appear!.yml
@@ -1,5 +1,9 @@
-name: Appear!
+name:
+ en: Appear!
+ de: Auftauchen!
type: spell
buy: 7
play: 3X
-effect: Play one unit costing X on any free tile
+effect:
+ en: Play one unit costing X on any free tile
+ de: Spiele eine Unit mit Kaufkosten X auf ein beliebiges Feld
diff --git a/data/cards/magic/attack!.yml b/data/cards/magic/attack!.yml
index 044bb1f9..dfb7aabd 100644
--- a/data/cards/magic/attack!.yml
+++ b/data/cards/magic/attack!.yml
@@ -1,5 +1,9 @@
-name: Attack!
+name:
+ en: Attack!
+ de: Angriff!
type: spell
buy: 5
play: 2
-effect: Distribute 2 times "+1 Attack this turn" on up to two units
+effect:
+ en: Distribute twice "+1 Attack this turn" on up to two target units
+ de: Verteile zweimal "+1 Angriff diesen Zug" auf bis zu zwei Ziel-Units
diff --git a/data/cards/magic/catalyst.yml b/data/cards/magic/catalyst.yml
index 7a038280..4f61664f 100644
--- a/data/cards/magic/catalyst.yml
+++ b/data/cards/magic/catalyst.yml
@@ -1,5 +1,9 @@
-name: catalyst
+name:
+ en: Catalyst
+ de: Katalysator
type: artifact
buy: 3
play: 5
-effect: Spells any player controlling the most units in range 1 playes cost one less resource
+effect:
+ en: Spells any player controlling the most units in range 1 playes cost one less resource
+ de: Zauber die ein Spieler mit den meisten Units in Range 1 spielt kosten eine Ressource weniger
diff --git a/data/cards/magic/clone!.yml b/data/cards/magic/clone!.yml
index f5da8f1f..46cce586 100644
--- a/data/cards/magic/clone!.yml
+++ b/data/cards/magic/clone!.yml
@@ -1,5 +1,9 @@
-name: Clone!
+name:
+ en: Clone!
+ de: Klone!
type: spell
buy: 7
play: 3
-effect: Copy the next card you play. You may choose new targets. If you copy a permanent place a token copy of the parmanent in range 1 of the original
+effect:
+ en: Copy the next card you play. You may choose new targets. If you copy a permanent place a token copy of the parmanent in range 1 of the original
+ de: Kopiere die nächste gespielte Karte. Du kannst neue Ziele wählen. Falls du eine Permament Karte kopierst erzeuge einen Token als Kopie dieser Karte in Range 1 des Orginals
diff --git a/data/cards/magic/defense!.yml b/data/cards/magic/defense!.yml
index 38fae437..c5485118 100644
--- a/data/cards/magic/defense!.yml
+++ b/data/cards/magic/defense!.yml
@@ -1,5 +1,9 @@
-name: Defense!
+name:
+ en: Defense!
+ de: Verteidigung!
type: spell
buy: 5
play: 3
-effect: Two units gain +1 Armor until end of turn
+effect:
+ en: Two units have +1 Armor this turn
+ de: Zwei Units haben +1 Rüstung diesen Zug
diff --git a/data/cards/magic/die!.yml b/data/cards/magic/die!.yml
index f8b13155..c1ccf3d5 100644
--- a/data/cards/magic/die!.yml
+++ b/data/cards/magic/die!.yml
@@ -1,5 +1,9 @@
-name: Die!
+name:
+ en: Die!
+ de: Stirb!
type: spell
buy: 10
play: 6
-effect: Destroy target Unit
+effect:
+ en: Destroy target Unit
+ de: Zerstöre eine Ziel-Unit
diff --git a/data/cards/magic/heal!.yml b/data/cards/magic/heal!.yml
index a0880c59..3eed0783 100644
--- a/data/cards/magic/heal!.yml
+++ b/data/cards/magic/heal!.yml
@@ -1,5 +1,9 @@
-name: Heal!
+name:
+ en: Heal!
+ de: Heilung!
type: spell
buy: 5
play: 2
-effect: Target unit gains 1 Health or remove all Poison marks from it
+effect:
+ en: Remove one damage or all poison marks from target unit
+ de: Entferne einen Schaden oder alle Gift Marken von einer Ziel-Unit
diff --git a/data/cards/magic/isolate!.yml b/data/cards/magic/isolate!.yml
index 6c969c2c..ebc36db7 100644
--- a/data/cards/magic/isolate!.yml
+++ b/data/cards/magic/isolate!.yml
@@ -1,5 +1,9 @@
-name: Isolate!
+name:
+ en: Isolate!
+ en: Isolieren!
type: spell
buy: 5
play: 2
-effect: Target unit can not receive or deal damage this turn
+effect:
+ en: Target unit has shroud and can not receive or deal damage this turn
+ en: Eine Ziel-Unit ist diesen Zug verhuellt und kann weder Schaden erleiden noch zufuegen
diff --git a/data/cards/magic/mine!.yml b/data/cards/magic/mine!.yml
index 17571785..d57f99e5 100644
--- a/data/cards/magic/mine!.yml
+++ b/data/cards/magic/mine!.yml
@@ -1,5 +1,9 @@
-name: Mine!
+name:
+ en: Mine!
+ en: Meins!
type: spell
buy: 5
play: 2
-effect: Steal 2 resource from opponent
+effect:
+ en: Steal 2 resource from opponent
+ de: Stehle 2 Ressource von einem Gegner
diff --git a/data/cards/magic/more!.yml b/data/cards/magic/more!.yml
index d2bcfbe8..47b8f370 100644
--- a/data/cards/magic/more!.yml
+++ b/data/cards/magic/more!.yml
@@ -1,5 +1,9 @@
-name: More!
+name:
+ en: More!
+ de: Mehr!
type: spell
buy: 5
play: 2
-effect: Draw two cards
+effect:
+ en: Draw two cards
+ de: Ziehe zwei Karten
diff --git a/data/cards/magic/no!.yml b/data/cards/magic/no!.yml
index f5485b70..f376d354 100644
--- a/data/cards/magic/no!.yml
+++ b/data/cards/magic/no!.yml
@@ -1,5 +1,9 @@
-name: No!
+name:
+ en: No!
+ de: Nein!
type: spell
buy: 5
play: 2
-effect: Counter target spell
+effect:
+ en: Counter one spell
+ en: Neutraliziere einen Zauberspruch
diff --git a/data/cards/magic/pierce!.yml b/data/cards/magic/pierce!.yml
index 8dfd4628..85646e7a 100644
--- a/data/cards/magic/pierce!.yml
+++ b/data/cards/magic/pierce!.yml
@@ -1,5 +1,9 @@
-name: Pierce!
+name:
+ en: Pierce!
+ de: Durchdringen!
type: spell
buy: 5
play: 1X
-effect: Ignore X Armor of target unit this turn
+effect:
+ en: Ignore X Armor of target unit this turn
+ de: Ignoriere X Rüstung von einer Ziel-Unit diesen Zug
diff --git a/data/cards/magic/ritual!.yml b/data/cards/magic/ritual!.yml
index e317faab..93a5bbda 100644
--- a/data/cards/magic/ritual!.yml
+++ b/data/cards/magic/ritual!.yml
@@ -1,5 +1,8 @@
-name: Ritual!
+name:
+ en: Ritual!
type: spell
buy: 7
play: 1
-effect: Gain 3 Ressource
+effect:
+ en: Gain 3 Resource
+ de: Erhalte 3 Ressource
diff --git a/data/cards/magic/rush!.yml b/data/cards/magic/rush!.yml
index 84439b30..a2d52aed 100644
--- a/data/cards/magic/rush!.yml
+++ b/data/cards/magic/rush!.yml
@@ -1,5 +1,9 @@
-name: Rush!
+name:
+ en: Rush!
+ de: Eile!
type: spell
buy: 5
play: 2
-effect: Distribute 2 times "+ 2 Movement this turn" on up to two units
+effect:
+ en: Distribute twice "+ 2 Movement this turn" on up to two units
+ en: Verteile zweimal "+ 2 Bewegung diesen Zug" auf bis zu zwei Units
diff --git a/data/cards/magic/select!.yml b/data/cards/magic/select!.yml
index 154f840a..99fcd193 100644
--- a/data/cards/magic/select!.yml
+++ b/data/cards/magic/select!.yml
@@ -1,5 +1,9 @@
-name: Select!
+name:
+ en: Select!
+ de: Selektieren!
type: spell
buy: 7
play: 1
-effect: Draw 1. You may exile a card from your hand
+effect:
+ en: Draw 1. You may exile a card from your hand
+ de: Ziehe eine Karte. Exiliere bis zu einer Karte von deiner Hand
diff --git a/data/cards/magic/shroud!.yml b/data/cards/magic/shroud!.yml
index 1a1309fa..fcc15942 100644
--- a/data/cards/magic/shroud!.yml
+++ b/data/cards/magic/shroud!.yml
@@ -1,5 +1,9 @@
-name: Shroud!
+name:
+ en: Shroud!
+ de: Verhuelle!
type: spell
buy: 5
play: 2
-effect: Target unit can not be targeted this turn
+effect:
+ en: Target unit has shroud this turn
+ de: Eine Ziel-Unit ist diesen Zug verhuellt
diff --git a/data/cards/magic/stumble!.yml b/data/cards/magic/stumble!.yml
index b384854a..6edee711 100644
--- a/data/cards/magic/stumble!.yml
+++ b/data/cards/magic/stumble!.yml
@@ -1,5 +1,9 @@
-name: Stumble!
+name:
+ en: Stumble!
+ de: Stolpern!
type: spell
buy: 5
play: 2
-effect: Target unit can not move or attack this turn
+effect:
+ en: Target unit can not move or attack this turn
+ de: Eine Ziel-Unit kann diesen Zug weder sich bewegen noch angreifen
diff --git a/data/cards/magic/switch!.yml b/data/cards/magic/switch!.yml
index a93f29f1..e86119ce 100644
--- a/data/cards/magic/switch!.yml
+++ b/data/cards/magic/switch!.yml
@@ -1,5 +1,9 @@
-name: Switch!
+name:
+ en: Switch!
+ de: Tausch!
type: spell
buy: 5
play: 2
-effect: Switch the positions of two permanents you control
+effect:
+ en: Switch the positions of two permanents you control
+ de: Tausche die Position zweier Permanents die du kontrollierst
diff --git a/data/cards/magic/transmute!.yml b/data/cards/magic/transmute!.yml
index 6686b091..dc17f704 100644
--- a/data/cards/magic/transmute!.yml
+++ b/data/cards/magic/transmute!.yml
@@ -1,5 +1,9 @@
-name: Transmute!
+name:
+ en: Transmute!
+ de: Umwandlung!
type: spell
buy: 5
play: 5
-effect: Put one card from your store into your hand. Exile this card
+effect:
+ en: Put one card from your store into your hand. Exile Transmute!
+ de: Nimm eine Karte aus deinem Store auf die Hand. Exiliere Umwandlung!
diff --git a/data/cards/misc/farmer.yml b/data/cards/misc/farmer.yml
index 18c0a372..4f35eb37 100644
--- a/data/cards/misc/farmer.yml
+++ b/data/cards/misc/farmer.yml
@@ -1,4 +1,6 @@
-name: Farmer
+name:
+ en: Farmer
+ de: Bauer
type: unit
attack: 1
health: 1
diff --git a/data/cards/misc/king.yml b/data/cards/misc/king.yml
index a4e7632e..e9f9d931 100644
--- a/data/cards/misc/king.yml
+++ b/data/cards/misc/king.yml
@@ -1,7 +1,14 @@
-name: King
+name:
+ en: King
+ de: König
token: true
type: unit
-effect: "5 Resource: +shroud until end of turn. \\ Protection from Die!"
+effect:
+ en: "5: + shroud this turn. Protection from Die!"
+ en: "5: + verhült diesen Zug. Schutz vor Stirb!"
+latex_effect:
+ en: "5: +~shroud this turn. \\ Protection from Die!"
+ en: "5: +~verhüllt diesen Zug. \\ Schutz from Stirb!"
upkeep: 0
attack: 1
health: 5
diff --git a/data/cards/misc/stick_of_victory.yml b/data/cards/misc/stick_of_victory.yml
index 629b4b42..15e92be3 100644
--- a/data/cards/misc/stick_of_victory.yml
+++ b/data/cards/misc/stick_of_victory.yml
@@ -1,5 +1,11 @@
-name: Stick of Victory
+name:
+ en: Stick of Victory
+ de: Stecken des Sieges
type: equipment
token: true
-durability: infinite
-effect: The controller of the equipped unit increases its victory count by 1 in their upkeep
+durability:
+ en: infinite
+ de: unendlich
+effect:
+ en: Whenever the equipped unit is activated its controller gains one victory point
+ de: Immer wenn die ausgerüstete Unit aktiviert wird erhält ihr Beherscher einen Siegespunkt \ No newline at end of file
diff --git a/data/cards/nautics/barge.yml b/data/cards/nautics/barge.yml
index 20e26015..e94ae033 100644
--- a/data/cards/nautics/barge.yml
+++ b/data/cards/nautics/barge.yml
@@ -1,7 +1,13 @@
-name: Barge
+name:
+ en: Barge
+ de: Barke
type: unit
health: 3
-movement: 3 swimming
+movement:
+ en: 3 swimming
+ de: 3 schwimmend
buy: 5
upkeep: 1
-effect: Crew 6
+effect:
+ en: Crew 6
+ de: Bemannen 6
diff --git a/data/cards/nautics/captain.yml b/data/cards/nautics/captain.yml
index fbab764f..93663365 100644
--- a/data/cards/nautics/captain.yml
+++ b/data/cards/nautics/captain.yml
@@ -1,8 +1,12 @@
-name: Captain
+name:
+ en: Captain
+ de: Kapitän
type: unit
health: 1
movement: 1
attack: 1
buy: 7
upkeep: 2
-effect: Other units in the same pile have no upkeep cost
+effect:
+ en: Other units in the same pile have no upkeep cost
+ de: Andere Units im selben Stapel haben keine Unterhalts-Kosten
diff --git a/data/cards/nautics/fish_trap.yml b/data/cards/nautics/fish_trap.yml
index 2db07920..0c6c676c 100644
--- a/data/cards/nautics/fish_trap.yml
+++ b/data/cards/nautics/fish_trap.yml
@@ -1,5 +1,11 @@
-name: Fish Trap
+name:
+ en: Fish Trap
+ de: Reuse
type: artifact
token: true
-effect: "Adjacent Fisher have \"full action: Gain 2 Resource\""
-latex_effect: "Adjacent Fisher have \\\\ \\enquote{~\\faRedo: Gain 2 Resource}"
+effect:
+ en: "Adjacent Fisher have \"full action: Gain 2 Resource\""
+ de: "Angrenzende Fischer haben \"Volle-Aktion: Erhalte 2 Ressource\""
+latex_effect:
+ en: "Adjacent Fisher have \\\\ \\enquote{~\\faRedo: Gain 2 Resource}"
+ de: "Angrenzende Fischer haben \\\\ \\enquote{~\\faRedo: Erhalte 2 Ressource}"
diff --git a/data/cards/nautics/fisher.yml b/data/cards/nautics/fisher.yml
index 9708fc67..7ea0a002 100644
--- a/data/cards/nautics/fisher.yml
+++ b/data/cards/nautics/fisher.yml
@@ -1,8 +1,16 @@
-name: Fisher
+name:
+ en: Fisher
+ de: Fischer
type: unit
health: 2
-movement: 2 swimming
+movement:
+ en: 2 swimming
+ de: 2 schwimmend
buy: 5
upkeep: 1
-effect: Crew 2
-full_action: Create fish trap token on adjacent water tile
+effect:
+ en: Crew 2
+ de: Bemannen 2
+full_action:
+ en: Create fish trap token on adjacent water tile
+ de: Plaziere einen Reuse Token auf einem angrenzenden Wasser Feld
diff --git a/data/cards/nautics/galley.yml b/data/cards/nautics/galley.yml
index 48979083..7d60ef36 100644
--- a/data/cards/nautics/galley.yml
+++ b/data/cards/nautics/galley.yml
@@ -1,8 +1,14 @@
-name: Galley
+name:
+ en: Galley
+ de: Galeere
type: unit
health: 4
-attack: 1 range 2
-movement: 2 swimming
+attack: 1 Range 2
+movement:
+ en: 2 swimming
+ de: 2 schwimmend
buy: 7
upkeep: 2
-effect: Crew 3
+effect:
+ en: Crew 3
+ de: Bemannen 3
diff --git a/data/cards/nautics/sailor.yml b/data/cards/nautics/sailor.yml
index 96c95b03..63dfc8ba 100644
--- a/data/cards/nautics/sailor.yml
+++ b/data/cards/nautics/sailor.yml
@@ -1,7 +1,11 @@
-name: Sailor
+name:
+ en: Sailor
+ de: Matrose
type: unit
health: 1
movement: 1
attack: 1
upkeep: 1
-effect: A crewed unit gets +1 movement while swimming
+effect:
+ en: A crewed unit gets +1 movement while swimming
+ de: Eine bemannte schwimmende Unit hat +1 Bewegung
diff --git a/latex/Makefile b/latex/Makefile
index 68ada1dd..cef69dcc 100644
--- a/latex/Makefile
+++ b/latex/Makefile
@@ -1,5 +1,3 @@
-.PHONY: all clean clean-all cards-tex cards-pdf cards-png
-
.DEFAULT_GOAL = all
PDFLATEX = lualatex
@@ -20,13 +18,16 @@ LATEX_ROOT := $(MAKEFILE_DIR)
GAME_ROOT := $(MAKEFILE_DIR)/../
DATA_ROOT := $(GAME_ROOT)/data
CARDS_YML_DIR := $(DATA_ROOT)/cards
-CARDS_TEX_DIR := $(LATEX_ROOT)/cards
-BUILDDIR := $(LATEX_ROOT)/build
+
+CARDS_TEX_DIR ?= $(LATEX_ROOT)/cards
+
+BUILDDIR ?= $(LATEX_ROOT)/build
ASSETS_PATH := $(GAME_ROOT)/assets
PDFLATEX_ENV := TEXINPUTS=".:$(ASSETS_PATH):"
GENERATE_CARD := $(GAME_ROOT)scripts/generate_card.py
+GENERATE_CARD_FLAGS ?=
SETS := $(shell find $(CARDS_YML_DIR) -mindepth 1 -type d -printf "%f\n")
SETS_SOURCEDIRS := $(foreach set, $(SETS), $(addprefix $(CARDS_YML_DIR)/, $(set)))
@@ -55,10 +56,10 @@ $(1)/%.pdf: %.tex $(COMMON_TEX_FILES) $(MAKEFILE_LIST)
endef
define generateTexRules
-$(1)/%.tex: %.yml
+$(1)/%.tex: %.yml $(GENERATE_CARD)
@echo building $$@
@if test \( ! \( -d $$(@D) \) \) ;then mkdir -p $$(@D);fi
- $(VERBOSE)$(GENERATE_CARD) --latex-root $(LATEX_ROOT) $$<
+ $(VERBOSE)$(GENERATE_CARD) $(GENERATE_CARD_FLAGS) $$< > $$@
endef
# Generate tex rules
@@ -67,7 +68,18 @@ $(foreach texdir, $(SETS_TEXDIRS), $(eval $(call generateTexRules, $(texdir))))
# Generate pdf rules
$(foreach pdfdir, $(SETS_BUILDDIRS), $(eval $(call generatePdfRules, $(pdfdir))))
-all: cards-tex cards-pdf cards-png
+.PHONY: all de en
+all: de en
+de:
+ @echo "building german cards"
+ $(MAKE) cards-all CARDS_TEX_DIR=$(CARDS_TEX_DIR)/de BUILDDIR=$(BUILDDIR)/de GENERATE_CARD_FLAGS="--language=de"
+
+en:
+ @echo "building englisch cards"
+ $(MAKE) cards-all CARDS_TEX_DIR=$(CARDS_TEX_DIR)/en BUILDDIR=$(BUILDDIR)/en GENERATE_CARD_FLAGS="--language=en"
+
+.PHONY: cards-all cards-tex cards-pdf cards-png
+cards-all: cards-tex cards-pdf cards-png
cards-tex: $(CARDS_TEX)
cards-pdf: $(CARDS_PDF)
cards-png: $(CARDS_PNG)
@@ -82,6 +94,8 @@ $(BUILDDIR)/cards.pdf: $(CARDS_PDF) $(MAKEFILE_LIST)
@if test \( ! \( -d $(@D) \) \) ;then mkdir -p $(@D);fi
$(VERBOSE)$(PDFTOPPM) $(PDFTOPPM_FLAGS) $< $*
+.PHONY: clean clean-all
+
clean:
rm -rf $(BUILDDIR)
diff --git a/latex/cards/de/base/advisor.tex b/latex/cards/de/base/advisor.tex
new file mode 100644
index 00000000..54b39e37
--- /dev/null
+++ b/latex/cards/de/base/advisor.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Berater}
+\cardbuycost{10}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo: Ziehe 1 Karte. Exiliere bis zu einer Karte von deiner Hand}
+\cardplaycost{2}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/archer.tex b/latex/cards/de/base/archer.tex
new file mode 100644
index 00000000..3637a38f
--- /dev/null
+++ b/latex/cards/de/base/archer.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Bogenschütze}
+\cardbuycost{5}
+\cardcontent{Leben: 2\\Bewegung: 2\\Angriff: 1 Range 2}
+\cardplaycost{1}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/cavalry.tex b/latex/cards/de/base/cavalry.tex
new file mode 100644
index 00000000..d3727c99
--- /dev/null
+++ b/latex/cards/de/base/cavalry.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Kavallerie}
+\cardbuycost{5}
+\cardcontent{Leben: 1\\Bewegung: 3\\Angriff: 2}
+\cardplaycost{2}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/cavalry_archer.tex b/latex/cards/de/base/cavalry_archer.tex
new file mode 100644
index 00000000..3b6ffad7
--- /dev/null
+++ b/latex/cards/de/base/cavalry_archer.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Berittener Bogenschütze}
+\cardbuycost{10}
+\cardcontent{Leben: 1\\Bewegung: 3\\Angriff: 1 Range 2}
+\cardplaycost{2}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/fighter.tex b/latex/cards/de/base/fighter.tex
new file mode 100644
index 00000000..b2800806
--- /dev/null
+++ b/latex/cards/de/base/fighter.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Kämpfer}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 2\\Bewegung: 2\\Angriff: 1}{Eine zusätzliche Anggrifs-Aktion}
+\cardplaycost{1}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/base/great_sword.tex b/latex/cards/de/base/great_sword.tex
index a791203e..bcc55b7d 100644
--- a/latex/cards/base/great_sword.tex
+++ b/latex/cards/de/base/great_sword.tex
@@ -3,9 +3,9 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeEquipment{Great Sword}
+\cardtypeEquipment{Großschwert}
\cardbuycost{10}
-\cardsplitcontent{Durability: 3}{Equipped unit gains +2 Melee Damage}
+\cardsplitcontent{Durability: 3}{Ausgerüstete Unit hat +2 Nahkampf}
\cardplaycost{4}
\cardmodule{base}
\cardborder
diff --git a/latex/cards/de/base/knight.tex b/latex/cards/de/base/knight.tex
new file mode 100644
index 00000000..44ed5697
--- /dev/null
+++ b/latex/cards/de/base/knight.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Ritter}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 2\\Bewegung: 2\\Angriff: 2}{+ 1 Rüstung}
+\cardplaycost{2}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/misinformation.tex b/latex/cards/de/base/misinformation.tex
new file mode 100644
index 00000000..84070c8b
--- /dev/null
+++ b/latex/cards/de/base/misinformation.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpellToken{Fehlinformation}
+\cardcontent{Exiliere diese Karte}
+\cardplaycost{5}
+\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/missionary.tex b/latex/cards/de/base/missionary.tex
new file mode 100644
index 00000000..ecf0c104
--- /dev/null
+++ b/latex/cards/de/base/missionary.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Missionar}
+\cardbuycost{10}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo: Lege zwei Glaubens-Marken auf eine Ziel-Unit. Du kontrollierst die Unit falls mehr Glaubens-Marken auf ihr liegen als ihre Kauf-Kosten}
+\cardplaycost{2}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/palisade.tex b/latex/cards/de/base/palisade.tex
new file mode 100644
index 00000000..b86b75ce
--- /dev/null
+++ b/latex/cards/de/base/palisade.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifact{Palisade}
+\cardbuycost{7}
+\cardcontent{Solide 6}
+\cardplaycost{3}
+\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/pikeman.tex b/latex/cards/de/base/pikeman.tex
new file mode 100644
index 00000000..b3fd8cd6
--- /dev/null
+++ b/latex/cards/de/base/pikeman.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Pikenier}
+\cardbuycost{5}
+\cardsplitcontent{Leben: 2\\Bewegung: 1\\Angriff: 1}{Angriffs-Range 2 gegen Units mit Bewegung >= 3}
+\cardplaycost{1}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/pioneer.tex b/latex/cards/de/base/pioneer.tex
new file mode 100644
index 00000000..ab2989ea
--- /dev/null
+++ b/latex/cards/de/base/pioneer.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Pionier}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 5\\Bewegung: 2}{\faRedo: Neutralisiere ein Feld oder zerstoere ein Artifact in Range 1}
+\cardplaycost{1}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/recruit.tex b/latex/cards/de/base/recruit.tex
new file mode 100644
index 00000000..b9d07b5c
--- /dev/null
+++ b/latex/cards/de/base/recruit.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnitToken{Rekrut}
+\cardcontent{Leben: 1\\Bewegung: 1\\Angriff: 1}
+\cardplaycost{0}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/recruiter.tex b/latex/cards/de/base/recruiter.tex
new file mode 100644
index 00000000..78b033bb
--- /dev/null
+++ b/latex/cards/de/base/recruiter.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Anwerber}
+\cardbuycost{10}
+\cardsplitcontent{Leben: 2\\Bewegung: 2\\Angriff: 1}{Units können in Range 1 ausgespielt werden\\ \vspace{0.2cm} \faRedo: Erzeuge einen Rekrut Token auf einem angrenzenden Feld}
+\cardplaycost{1}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/shield.tex b/latex/cards/de/base/shield.tex
new file mode 100644
index 00000000..f0b4d5c8
--- /dev/null
+++ b/latex/cards/de/base/shield.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Schild}
+\cardbuycost{5}
+\cardsplitcontent{Durability: 3}{Die ausgerüstete Unit hat +1 Leben}
+\cardplaycost{1}
+\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/sword.tex b/latex/cards/de/base/sword.tex
new file mode 100644
index 00000000..b024ba3c
--- /dev/null
+++ b/latex/cards/de/base/sword.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Schwert}
+\cardbuycost{5}
+\cardsplitcontent{Durability: 3}{Die ausgerüstete Unit hat +1 Nahkampf}
+\cardplaycost{2}
+\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/tax_collector.tex b/latex/cards/de/base/tax_collector.tex
new file mode 100644
index 00000000..69730c17
--- /dev/null
+++ b/latex/cards/de/base/tax_collector.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Steuer Eintreiber}
+\cardbuycost{5}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo: Erhalte 2 Ressource}
+\cardplaycost{1}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/tower_shield.tex b/latex/cards/de/base/tower_shield.tex
new file mode 100644
index 00000000..4ffa82c6
--- /dev/null
+++ b/latex/cards/de/base/tower_shield.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Turmschild}
+\cardbuycost{7}
+\cardsplitcontent{Durability: 3}{Die ausgerüstete Unit hat +2 Leben}
+\cardplaycost{2}
+\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/base/wormtongue.tex b/latex/cards/de/base/wormtongue.tex
new file mode 100644
index 00000000..1ae8ebb3
--- /dev/null
+++ b/latex/cards/de/base/wormtongue.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Schlangenzunge}
+\cardbuycost{10}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo, 3: Füge einen Fehlinformation Token zum Ablagestapel eines Gegners hinzu}
+\cardplaycost{2}\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/armor.tex b/latex/cards/de/equipments/armor.tex
new file mode 100644
index 00000000..6e554759
--- /dev/null
+++ b/latex/cards/de/equipments/armor.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Rüstung}
+\cardbuycost{7}
+\cardsplitcontent{Durability: 3}{Die ausgerüstete Unit hat + 1 Rüstung}
+\cardplaycost{2}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/banner.tex b/latex/cards/de/equipments/banner.tex
new file mode 100644
index 00000000..fe6c6791
--- /dev/null
+++ b/latex/cards/de/equipments/banner.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifact{Banner}
+\cardbuycost{2}
+\cardcontent{Units die du kontrollierst in Range 1 haben +1 Angriff und +1 Bewegung}
+\cardplaycost{7}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/cloak.tex b/latex/cards/de/equipments/cloak.tex
new file mode 100644
index 00000000..a015218e
--- /dev/null
+++ b/latex/cards/de/equipments/cloak.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Umhang}
+\cardbuycost{3}
+\cardsplitcontent{Durability: 2}{Die ausgerüstete Unit ist verschleiert (kann kein Ziel sein)}
+\cardplaycost{7}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/gear.tex b/latex/cards/de/equipments/gear.tex
new file mode 100644
index 00000000..b823cf92
--- /dev/null
+++ b/latex/cards/de/equipments/gear.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Ausrüsung}
+\cardbuycost{2}
+\cardsplitcontent{Durability: 3}{Die ausgerüstete Unit hatt +1 Bewegung}
+\cardplaycost{3}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/mace.tex b/latex/cards/de/equipments/mace.tex
new file mode 100644
index 00000000..cf667ec2
--- /dev/null
+++ b/latex/cards/de/equipments/mace.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Streitkolben}
+\cardbuycost{2}
+\cardsplitcontent{Durability: 3}{Die ausgerüstete Unit verursacht Paralyse wenn sie im Nahkampf Schaden zufügt}
+\cardplaycost{6}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/plate_armor.tex b/latex/cards/de/equipments/plate_armor.tex
new file mode 100644
index 00000000..48174aa9
--- /dev/null
+++ b/latex/cards/de/equipments/plate_armor.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Plattentüstung}
+\cardbuycost{8}
+\cardsplitcontent{Durability: 1}{Die ausgerüstete Unit hat +2 Rüstung und -2 Bewegung}
+\cardplaycost{3}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/poisoned_dagger.tex b/latex/cards/de/equipments/poisoned_dagger.tex
new file mode 100644
index 00000000..034b735b
--- /dev/null
+++ b/latex/cards/de/equipments/poisoned_dagger.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Giftiger Dolch}
+\cardbuycost{3}
+\cardsplitcontent{Durability: 2}{Die ausgerüstete Unit fügt Gift Marken statt Schaden im Nahkampf zu}
+\cardplaycost{7}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/reclaim!.tex b/latex/cards/de/equipments/reclaim!.tex
new file mode 100644
index 00000000..497fd17d
--- /dev/null
+++ b/latex/cards/de/equipments/reclaim!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Zurückverlangen!}
+\cardbuycost{5}
+\cardcontent{Teleportiere ein Ziel-Artifakt, dass dir gehört, mit Spielkosten X auf eins deiner Startfelder.}
+\cardplaycost{X}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/relic.tex b/latex/cards/de/equipments/relic.tex
new file mode 100644
index 00000000..98358c5c
--- /dev/null
+++ b/latex/cards/de/equipments/relic.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifact{Reliquie}
+\cardbuycost{3}
+\cardcontent{Zu Beginn deines Upkeeps erhalten alle Spieler mit den meisten Units in Range 1 eine Ressource.}
+\cardplaycost{7}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/shatter!.tex b/latex/cards/de/equipments/shatter!.tex
new file mode 100644
index 00000000..1301785d
--- /dev/null
+++ b/latex/cards/de/equipments/shatter!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Zertrümmern!}
+\cardbuycost{5}
+\cardcontent{Zerstöre ein Ziel-Artefakt mit Kaufkosten X}
+\cardplaycost{X}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/smith.tex b/latex/cards/de/equipments/smith.tex
new file mode 100644
index 00000000..6ddeeb4c
--- /dev/null
+++ b/latex/cards/de/equipments/smith.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Schmied}
+\cardbuycost{10}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo, X: Erzeuge einen Token in Range 1 als Kopie eines Artifakts mit Kaufkosten X in Range 1}
+\cardplaycost{2}\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/equipments/spear.tex b/latex/cards/de/equipments/spear.tex
new file mode 100644
index 00000000..d386648e
--- /dev/null
+++ b/latex/cards/de/equipments/spear.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Speer}
+\cardbuycost{2}
+\cardsplitcontent{Durability: 3}{Die ausgerüstete Unit hat +1 Angriff und Range 2 gegen Units mit Bewegung >= 3}
+\cardplaycost{7}
+\cardmodule{equipments}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/backup!.tex b/latex/cards/de/exp1/backup!.tex
new file mode 100644
index 00000000..96051142
--- /dev/null
+++ b/latex/cards/de/exp1/backup!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Unterstützung!}
+\cardbuycost{7}
+\cardcontent{Erzeuge zwei Rekrut Tokens in Range 1 einer verbündeten Unit}
+\cardplaycost{5}
+\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/exp1/berserker.tex b/latex/cards/de/exp1/berserker.tex
index 860832ba..d2a90bb7 100644
--- a/latex/cards/exp1/berserker.tex
+++ b/latex/cards/de/exp1/berserker.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Berserker}
\cardbuycost{7}
-\cardsplitcontent{Health: 2\\Movement: 2}{Discard one card: Berserker has +1 attack this turn}
+\cardsplitcontent{Leben: 2\\Bewegung: 2}{Wirf eine Karte ab: +1 Nahkampf diesen Zug}
\cardplaycost{1}\cardmodule{exp1}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/de/exp1/macabre_clown.tex b/latex/cards/de/exp1/macabre_clown.tex
new file mode 100644
index 00000000..481a756c
--- /dev/null
+++ b/latex/cards/de/exp1/macabre_clown.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Grausiger Clown}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo: Zerstöre Grausiger Clown: Lege eine Panik Marke auf alle Units in Range 1}
+\cardplaycost{1}\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/ramm.tex b/latex/cards/de/exp1/ramm.tex
new file mode 100644
index 00000000..dbe71dac
--- /dev/null
+++ b/latex/cards/de/exp1/ramm.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Ramme}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 3\\Bewegung: 1}{Bemannen 3\\ \vspace{0.2cm} \faRedo: Neutraliziere ein Feld oder zerstöre ein Artifakt in Range 1}
+\cardplaycost{1}\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/recycle!.tex b/latex/cards/de/exp1/recycle!.tex
new file mode 100644
index 00000000..b1f8e65c
--- /dev/null
+++ b/latex/cards/de/exp1/recycle!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Recycle!}
+\cardbuycost{5}
+\cardcontent{Nimm zwei Karten aus deinem Ablagestapel auf die Hand}
+\cardplaycost{2}
+\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/reformer.tex b/latex/cards/de/exp1/reformer.tex
new file mode 100644
index 00000000..7bfaf2f0
--- /dev/null
+++ b/latex/cards/de/exp1/reformer.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Reformator}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo: Immer wenn du diesen Zug Karten abwirfst ziehe so viele Karten}
+\cardplaycost{1}\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/renew!.tex b/latex/cards/de/exp1/renew!.tex
new file mode 100644
index 00000000..669dc6f6
--- /dev/null
+++ b/latex/cards/de/exp1/renew!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Erneuere!}
+\cardbuycost{5}
+\cardcontent{Mische deinen Ablagestapel in dein Deck}
+\cardplaycost{3}
+\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/stasis_orb.tex b/latex/cards/de/exp1/stasis_orb.tex
new file mode 100644
index 00000000..b8ed1124
--- /dev/null
+++ b/latex/cards/de/exp1/stasis_orb.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifact{Stasis Kugel}
+\cardbuycost{7}
+\cardcontent{Solide 1. Spieler können nicht mehr als zwei Karten pro Zug ziehen}
+\cardplaycost{5}
+\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/taunter.tex b/latex/cards/de/exp1/taunter.tex
new file mode 100644
index 00000000..c15b00d0
--- /dev/null
+++ b/latex/cards/de/exp1/taunter.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Provocateur}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 1\\Bewegung: 2}{\faRedo: Lege eine Wut Marke auf ein Ziel-Unit in Range 3}
+\cardplaycost{1}\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/unmark!.tex b/latex/cards/de/exp1/unmark!.tex
new file mode 100644
index 00000000..5aee704b
--- /dev/null
+++ b/latex/cards/de/exp1/unmark!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Markierung Aufheben!}
+\cardbuycost{7}
+\cardcontent{Entferne alle marker von einer Ziel-Unit. Füge ihr Schaden in Höhe der entfernten Marken zu.}
+\cardplaycost{3}
+\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/exp1/ward!.tex b/latex/cards/de/exp1/ward!.tex
new file mode 100644
index 00000000..7b87aa13
--- /dev/null
+++ b/latex/cards/de/exp1/ward!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Bewahre!}
+\cardbuycost{7}
+\cardcontent{Lege eine Schutz Marke auf eine Ziel-Unit}
+\cardplaycost{3}
+\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/angry_squid.tex b/latex/cards/de/kraken/angry_squid.tex
new file mode 100644
index 00000000..9d3d3832
--- /dev/null
+++ b/latex/cards/de/kraken/angry_squid.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Wütender Tintenfisch}
+\cardbuycost{5}
+\cardcontent{KI: Aggressive\\Leben: 1\\Bewegung: 2 swimming\\Angriff: 1 Range 2}
+\cardplaycost{1}\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/chachalot.tex b/latex/cards/de/kraken/chachalot.tex
new file mode 100644
index 00000000..f3d07fd0
--- /dev/null
+++ b/latex/cards/de/kraken/chachalot.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Pottwal}
+\cardbuycost{7}
+\cardsplitcontent{KI: Wandering 5\\Leben: 2\\Bewegung: 2 swimming\\Angriff: 2}{+ 1 Rüstung}
+\cardplaycost{2}\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/clownfish.tex b/latex/cards/de/kraken/clownfish.tex
new file mode 100644
index 00000000..4186ec36
--- /dev/null
+++ b/latex/cards/de/kraken/clownfish.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Clownfisch}
+\cardbuycost{7}
+\cardsplitcontent{KI: Shy\\Leben: 1\\Bewegung: 2 swimming}{\faRedo: Erhalte 4 Ressource}
+\cardplaycost{1}\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/deja_vu.tex b/latex/cards/de/kraken/deja_vu.tex
new file mode 100644
index 00000000..1ebd02bd
--- /dev/null
+++ b/latex/cards/de/kraken/deja_vu.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Deja Vu!}
+\cardbuycost{5}
+\cardcontent{Setze die Ressourcen aller Spieler auf ihren Startwert}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/devour_the_poor.tex b/latex/cards/de/kraken/devour_the_poor.tex
new file mode 100644
index 00000000..5cec2440
--- /dev/null
+++ b/latex/cards/de/kraken/devour_the_poor.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Verschlinge Die Armen!}
+\cardbuycost{7}
+\cardcontent{Zerstore alle gegnerischen Units mit Kaufkosten < 7}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/dolphin.tex b/latex/cards/de/kraken/dolphin.tex
new file mode 100644
index 00000000..b2812c10
--- /dev/null
+++ b/latex/cards/de/kraken/dolphin.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Dolphin}
+\cardbuycost{5}
+\cardsplitcontent{KI: Supportive\\Leben: 2\\Bewegung: 2}{Dolphin wird neben einer zufälligen verbündeten Unit gespielt\\ \vspace{0.2cm} Gib einer verbündeten Unit in Range 1 einen zufälligen Bonus bis zu deinem nächsten Zug. \\ \textit{\small (+1~Angriff, +1~Rüstung, +2~Bewegung, +1~Aktion, +2~Durchdringen, Alles~zusammen)}}
+\cardplaycost{1}\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/drowned_sailor.tex b/latex/cards/de/kraken/drowned_sailor.tex
new file mode 100644
index 00000000..a31e07b6
--- /dev/null
+++ b/latex/cards/de/kraken/drowned_sailor.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnitToken{Ertrunkener Matrose}
+\cardsplitcontent{Angriff: 1}{Eine bemannte Unit hat +1 Bewegung solange sie schwimmt. Zerstoere Ertrunkener Matrose falls er fallen gelassen wird}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/flying_dutchmen.tex b/latex/cards/de/kraken/flying_dutchmen.tex
new file mode 100644
index 00000000..997ec45d
--- /dev/null
+++ b/latex/cards/de/kraken/flying_dutchmen.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Fliegender Holländer}
+\cardbuycost{7}
+\cardsplitcontent{KI: Aggressive\\Leben: 3\\Bewegung: 1 swimming\\Angriff: 0}{Bemannen 6. Wenn eine gegnerische Unit zerstört wird erzeuge einen Ertrunkenen Matrosen Token auf dem Fliegenden Holländer. Solange der Fliegende Holländer nicht bemannt ist hat er eine Wandelnde 0 KI}
+\cardplaycost{2}\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/frost_pylon.tex b/latex/cards/de/kraken/frost_pylon.tex
new file mode 100644
index 00000000..967e86a6
--- /dev/null
+++ b/latex/cards/de/kraken/frost_pylon.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifact{Frost Pylon}
+\cardbuycost{5}
+\cardcontent{Generische Units in Range 1 können keine Aktionen durchführen außer \enquote{~\faRedo: lege eine Riss Marke auf Frost Pylon}. \\ \vspace{0.3cm} Zerstoere Frost Pylon wenn mindestens drei Riss Marken auf ihm liegen. Frost Pylon wird neben einer zufälligen gegnerischen Unit gespielt}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/kraken/gigantic_hail.tex b/latex/cards/de/kraken/gigantic_hail.tex
index 2d6f14d8..c4e57767 100644
--- a/latex/cards/kraken/gigantic_hail.tex
+++ b/latex/cards/de/kraken/gigantic_hail.tex
@@ -3,9 +3,9 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Gigantic Hail}
+\cardtypeSpell{Gigantischer Hagel}
\cardbuycost{3}
-\cardcontent{Place three Ice Berg tokens on random empty tiles}
+\cardcontent{Plaziere drei Eisberg Token auf zufälligen freien Feldern}
\cardmodule{kraken}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/de/kraken/ice_berg.tex b/latex/cards/de/kraken/ice_berg.tex
new file mode 100644
index 00000000..d8fef772
--- /dev/null
+++ b/latex/cards/de/kraken/ice_berg.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifactToken{Eisberg}
+\cardcontent{Solide 3}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/sailfish.tex b/latex/cards/de/kraken/sailfish.tex
new file mode 100644
index 00000000..35d62d17
--- /dev/null
+++ b/latex/cards/de/kraken/sailfish.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Schwertfish}
+\cardbuycost{5}
+\cardcontent{KI: Aggressive\\Leben: 1\\Bewegung: 3\\Angriff: 1}
+\cardplaycost{1}\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/sold_out.tex b/latex/cards/de/kraken/sold_out.tex
new file mode 100644
index 00000000..b68fae42
--- /dev/null
+++ b/latex/cards/de/kraken/sold_out.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Ausverkauft!}
+\cardbuycost{10}
+\cardcontent{Neutralisiere ein zufälliges Store Feild und exiliere alle dessen Karten}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/suprise.tex b/latex/cards/de/kraken/suprise.tex
new file mode 100644
index 00000000..c1fbc098
--- /dev/null
+++ b/latex/cards/de/kraken/suprise.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Überraschung!}
+\cardbuycost{1}
+\cardcontent{Spiele die nächste Unit diesen Zug neben einer zufälligen gegnerischen Unit}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/tentacle_slap.tex b/latex/cards/de/kraken/tentacle_slap.tex
new file mode 100644
index 00000000..60233f09
--- /dev/null
+++ b/latex/cards/de/kraken/tentacle_slap.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Tentakel Ohrfeige}
+\cardbuycost{3}
+\cardcontent{Jeder Spieler wirft alle Karten auf seiner Hand ab. Erhalte X Ressource. Wobei X 5 weniger die Zahl der abgeworfenen Karten ist. X kann nicht negativ sein}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/the_kraken.tex b/latex/cards/de/kraken/the_kraken.tex
new file mode 100644
index 00000000..aeb827e3
--- /dev/null
+++ b/latex/cards/de/kraken/the_kraken.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{The Kraken}
+\cardcontent{Leben: 5\\Angriff: 2 Range 1; 1 Range 2}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/tides_change.tex b/latex/cards/de/kraken/tides_change.tex
new file mode 100644
index 00000000..133708e1
--- /dev/null
+++ b/latex/cards/de/kraken/tides_change.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Gezeitenwechsel!}
+\cardbuycost{5}
+\cardcontent{Verteile die noch verfügbaren Karten aller Stores neu}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/kraken/unholy_cannonball.tex b/latex/cards/de/kraken/unholy_cannonball.tex
new file mode 100644
index 00000000..7a357da9
--- /dev/null
+++ b/latex/cards/de/kraken/unholy_cannonball.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Unheilige Arschbombe}
+\cardbuycost{5}
+\cardcontent{If no enemy Units are in Range~2 of The Kraken gain 5~resource. \\ \vspace{0.3cm} Otherwise put a panik mark on all enemy Units in Range~2 of The Kraken}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/action!.tex b/latex/cards/de/magic/action!.tex
new file mode 100644
index 00000000..fbb67f1a
--- /dev/null
+++ b/latex/cards/de/magic/action!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Handeln!}
+\cardbuycost{5}
+\cardcontent{Bewege oder Kämpfe mit einer Ziel-Unit}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/appear!.tex b/latex/cards/de/magic/appear!.tex
new file mode 100644
index 00000000..8b79ef5f
--- /dev/null
+++ b/latex/cards/de/magic/appear!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Auftauchen!}
+\cardbuycost{7}
+\cardcontent{Spiele eine Unit mit Kaufkosten X auf ein beliebiges Feld}
+\cardplaycost{3X}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/attack!.tex b/latex/cards/de/magic/attack!.tex
new file mode 100644
index 00000000..239fb44a
--- /dev/null
+++ b/latex/cards/de/magic/attack!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Angriff!}
+\cardbuycost{5}
+\cardcontent{Verteile zweimal "+1 Angriff diesen Zug" auf bis zu zwei Ziel-Units}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/catalyst.tex b/latex/cards/de/magic/catalyst.tex
new file mode 100644
index 00000000..12a5ff11
--- /dev/null
+++ b/latex/cards/de/magic/catalyst.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifact{Katalysator}
+\cardbuycost{3}
+\cardcontent{Zauber die ein Spieler mit den meisten Units in Range 1 spielt kosten eine Ressource weniger}
+\cardplaycost{5}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/clone!.tex b/latex/cards/de/magic/clone!.tex
new file mode 100644
index 00000000..df2fdf8b
--- /dev/null
+++ b/latex/cards/de/magic/clone!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Klone!}
+\cardbuycost{7}
+\cardcontent{Kopiere die nächste gespielte Karte. Du kannst neue Ziele wählen. Falls du eine Permament Karte kopierst erzeuge einen Token als Kopie dieser Karte in Range 1 des Orginals}
+\cardplaycost{3}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/defense!.tex b/latex/cards/de/magic/defense!.tex
new file mode 100644
index 00000000..3540da0a
--- /dev/null
+++ b/latex/cards/de/magic/defense!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Verteidigung!}
+\cardbuycost{5}
+\cardcontent{Zwei Units haben +1 Rüstung diesen Zug}
+\cardplaycost{3}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/die!.tex b/latex/cards/de/magic/die!.tex
new file mode 100644
index 00000000..7ffa5143
--- /dev/null
+++ b/latex/cards/de/magic/die!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Stirb!}
+\cardbuycost{10}
+\cardcontent{Zerstöre eine Ziel-Unit}
+\cardplaycost{6}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/magic/isolate!.tex b/latex/cards/de/magic/heal!.tex
index 88468866..4d5c72b9 100644
--- a/latex/cards/magic/isolate!.tex
+++ b/latex/cards/de/magic/heal!.tex
@@ -3,9 +3,9 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Isolate!}
+\cardtypeSpell{Heilung!}
\cardbuycost{5}
-\cardcontent{Target unit can not receive or deal damage this turn}
+\cardcontent{Entferne einen Schaden oder alle Gift Marken von einer Ziel-Unit}
\cardplaycost{2}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/de/magic/isolate!.tex b/latex/cards/de/magic/isolate!.tex
new file mode 100644
index 00000000..c631d175
--- /dev/null
+++ b/latex/cards/de/magic/isolate!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Isolieren!}
+\cardbuycost{5}
+\cardcontent{Eine Ziel-Unit ist diesen Zug verhuellt und kann weder Schaden erleiden noch zufuegen}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/mine!.tex b/latex/cards/de/magic/mine!.tex
new file mode 100644
index 00000000..5a623d03
--- /dev/null
+++ b/latex/cards/de/magic/mine!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Meins!}
+\cardbuycost{5}
+\cardcontent{Stehle 2 Ressource von einem Gegner}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/more!.tex b/latex/cards/de/magic/more!.tex
new file mode 100644
index 00000000..16062e09
--- /dev/null
+++ b/latex/cards/de/magic/more!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Mehr!}
+\cardbuycost{5}
+\cardcontent{Ziehe zwei Karten}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/no!.tex b/latex/cards/de/magic/no!.tex
new file mode 100644
index 00000000..8a45853a
--- /dev/null
+++ b/latex/cards/de/magic/no!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Nein!}
+\cardbuycost{5}
+\cardcontent{Neutraliziere einen Zauberspruch}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/pierce!.tex b/latex/cards/de/magic/pierce!.tex
new file mode 100644
index 00000000..8ce485cd
--- /dev/null
+++ b/latex/cards/de/magic/pierce!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Durchdringen!}
+\cardbuycost{5}
+\cardcontent{Ignoriere X Rüstung von einer Ziel-Unit diesen Zug}
+\cardplaycost{1X}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/ritual!.tex b/latex/cards/de/magic/ritual!.tex
new file mode 100644
index 00000000..683bd38a
--- /dev/null
+++ b/latex/cards/de/magic/ritual!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Ritual!}
+\cardbuycost{7}
+\cardcontent{Erhalte 3 Ressource}
+\cardplaycost{1}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/rush!.tex b/latex/cards/de/magic/rush!.tex
new file mode 100644
index 00000000..79243e89
--- /dev/null
+++ b/latex/cards/de/magic/rush!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Eile!}
+\cardbuycost{5}
+\cardcontent{Verteile zweimal "+ 2 Bewegung diesen Zug" auf bis zu zwei Units}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/select!.tex b/latex/cards/de/magic/select!.tex
new file mode 100644
index 00000000..165629b0
--- /dev/null
+++ b/latex/cards/de/magic/select!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Selektieren!}
+\cardbuycost{7}
+\cardcontent{Ziehe eine Karte. Exiliere bis zu einer Karte von deiner Hand}
+\cardplaycost{1}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/shroud!.tex b/latex/cards/de/magic/shroud!.tex
new file mode 100644
index 00000000..f48a4b4e
--- /dev/null
+++ b/latex/cards/de/magic/shroud!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Verhuelle!}
+\cardbuycost{5}
+\cardcontent{Eine Ziel-Unit ist diesen Zug verhuellt}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/stumble!.tex b/latex/cards/de/magic/stumble!.tex
new file mode 100644
index 00000000..d094f8b5
--- /dev/null
+++ b/latex/cards/de/magic/stumble!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Stolpern!}
+\cardbuycost{5}
+\cardcontent{Eine Ziel-Unit kann diesen Zug weder sich bewegen noch angreifen}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/switch!.tex b/latex/cards/de/magic/switch!.tex
new file mode 100644
index 00000000..0ec1cfa0
--- /dev/null
+++ b/latex/cards/de/magic/switch!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Tausch!}
+\cardbuycost{5}
+\cardcontent{Tausche die Position zweier Permanents die du kontrollierst}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/magic/transmute!.tex b/latex/cards/de/magic/transmute!.tex
new file mode 100644
index 00000000..79fcf331
--- /dev/null
+++ b/latex/cards/de/magic/transmute!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Umwandlung!}
+\cardbuycost{5}
+\cardcontent{Nimm eine Karte aus deinem Store auf die Hand. Exiliere Umwandlung!}
+\cardplaycost{5}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/misc/farmer.tex b/latex/cards/de/misc/farmer.tex
new file mode 100644
index 00000000..45a1ec2a
--- /dev/null
+++ b/latex/cards/de/misc/farmer.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Bauer}
+\cardcontent{Leben: 1\\Bewegung: 1\\Angriff: 1}
+\cardplaycost{1}\cardmodule{}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/misc/king.tex b/latex/cards/de/misc/king.tex
new file mode 100644
index 00000000..0df4c294
--- /dev/null
+++ b/latex/cards/de/misc/king.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnitToken{König}
+\cardsplitcontent{Leben: 5\\Bewegung: 1\\Angriff: 1}{5: +~verhüllt diesen Zug. \ Schutz from Stirb!}
+\cardplaycost{0}\cardmodule{}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/misc/stick_of_victory.tex b/latex/cards/de/misc/stick_of_victory.tex
new file mode 100644
index 00000000..13f1d7a4
--- /dev/null
+++ b/latex/cards/de/misc/stick_of_victory.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipmentToken{Stecken des Sieges}
+\cardsplitcontent{Durability: {'en': 'infinite', 'de': 'unendlich'}}{Immer wenn die ausgerüstete Unit aktiviert wird erhält ihr Beherscher einen Siegespunkt}
+\cardmodule{}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/nautics/barge.tex b/latex/cards/de/nautics/barge.tex
new file mode 100644
index 00000000..a32628eb
--- /dev/null
+++ b/latex/cards/de/nautics/barge.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Barke}
+\cardbuycost{5}
+\cardsplitcontent{Leben: 3\\Bewegung: 3 schwimmend}{Bemannen 6}
+\cardplaycost{1}\cardmodule{nautics}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/nautics/captain.tex b/latex/cards/de/nautics/captain.tex
new file mode 100644
index 00000000..8a3c5bf0
--- /dev/null
+++ b/latex/cards/de/nautics/captain.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Kapitän}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 1\\Bewegung: 1\\Angriff: 1}{Andere Units im selben Stapel haben keine Unterhalts-Kosten}
+\cardplaycost{2}\cardmodule{nautics}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/nautics/fish_trap.tex b/latex/cards/de/nautics/fish_trap.tex
new file mode 100644
index 00000000..49b87377
--- /dev/null
+++ b/latex/cards/de/nautics/fish_trap.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeArtifactToken{Reuse}
+\cardcontent{Angrenzende Fischer haben \\ \enquote{~\faRedo: Erhalte 2 Ressource}}
+\cardmodule{nautics}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/nautics/fisher.tex b/latex/cards/de/nautics/fisher.tex
new file mode 100644
index 00000000..3da62d6e
--- /dev/null
+++ b/latex/cards/de/nautics/fisher.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Fischer}
+\cardbuycost{5}
+\cardsplitcontent{Leben: 2\\Bewegung: 2 schwimmend}{Bemannen 2\\ \vspace{0.2cm} \faRedo: Plaziere einen Reuse Token auf einem angrenzenden Wasser Feld}
+\cardplaycost{1}\cardmodule{nautics}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/nautics/galley.tex b/latex/cards/de/nautics/galley.tex
new file mode 100644
index 00000000..b1ae4bbf
--- /dev/null
+++ b/latex/cards/de/nautics/galley.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Galeere}
+\cardbuycost{7}
+\cardsplitcontent{Leben: 4\\Bewegung: 2 schwimmend\\Angriff: 1 Range 2}{Bemannen 3}
+\cardplaycost{2}\cardmodule{nautics}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/de/nautics/sailor.tex b/latex/cards/de/nautics/sailor.tex
new file mode 100644
index 00000000..7434b309
--- /dev/null
+++ b/latex/cards/de/nautics/sailor.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Matrose}
+\cardsplitcontent{Leben: 1\\Bewegung: 1\\Angriff: 1}{Eine bemannte schwimmende Unit hat +1 Bewegung}
+\cardplaycost{1}\cardmodule{nautics}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/base/advisor.tex b/latex/cards/en/base/advisor.tex
index 73b40ed9..73b40ed9 100644
--- a/latex/cards/base/advisor.tex
+++ b/latex/cards/en/base/advisor.tex
diff --git a/latex/cards/base/archer.tex b/latex/cards/en/base/archer.tex
index a558454a..28b18aa9 100644
--- a/latex/cards/base/archer.tex
+++ b/latex/cards/en/base/archer.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeUnit{Archer}
+\cardtypeUnit{Bogenschütze}
\cardbuycost{5}
\cardcontent{Health: 2\\Movement: 2\\Attack: 1 Range 2}
\cardplaycost{1}\cardmodule{base}
diff --git a/latex/cards/base/cavalry.tex b/latex/cards/en/base/cavalry.tex
index ead57ad0..ead57ad0 100644
--- a/latex/cards/base/cavalry.tex
+++ b/latex/cards/en/base/cavalry.tex
diff --git a/latex/cards/base/cavalry_archer.tex b/latex/cards/en/base/cavalry_archer.tex
index 12dc9629..12dc9629 100644
--- a/latex/cards/base/cavalry_archer.tex
+++ b/latex/cards/en/base/cavalry_archer.tex
diff --git a/latex/cards/base/fighter.tex b/latex/cards/en/base/fighter.tex
index e92ce314..e92ce314 100644
--- a/latex/cards/base/fighter.tex
+++ b/latex/cards/en/base/fighter.tex
diff --git a/latex/cards/en/base/great_sword.tex b/latex/cards/en/base/great_sword.tex
new file mode 100644
index 00000000..afe741c6
--- /dev/null
+++ b/latex/cards/en/base/great_sword.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeEquipment{Greatsword}
+\cardbuycost{10}
+\cardsplitcontent{Durability: 3}{Equipped unit gains +2 Melee}
+\cardplaycost{4}
+\cardmodule{base}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/base/knight.tex b/latex/cards/en/base/knight.tex
index 8bce19de..8bce19de 100644
--- a/latex/cards/base/knight.tex
+++ b/latex/cards/en/base/knight.tex
diff --git a/latex/cards/base/misinformation.tex b/latex/cards/en/base/misinformation.tex
index 718b73ac..718b73ac 100644
--- a/latex/cards/base/misinformation.tex
+++ b/latex/cards/en/base/misinformation.tex
diff --git a/latex/cards/base/missionary.tex b/latex/cards/en/base/missionary.tex
index f15d5025..f15d5025 100644
--- a/latex/cards/base/missionary.tex
+++ b/latex/cards/en/base/missionary.tex
diff --git a/latex/cards/base/palisade.tex b/latex/cards/en/base/palisade.tex
index 2c6c9c35..2c6c9c35 100644
--- a/latex/cards/base/palisade.tex
+++ b/latex/cards/en/base/palisade.tex
diff --git a/latex/cards/base/pikeman.tex b/latex/cards/en/base/pikeman.tex
index bb17dc7a..f7ede253 100644
--- a/latex/cards/base/pikeman.tex
+++ b/latex/cards/en/base/pikeman.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Pikeman}
\cardbuycost{5}
-\cardsplitcontent{Health: 2\\Movement: 1\\Attack: 1}{Range 2 against Units with Movement >= 3}
+\cardsplitcontent{Health: 2\\Movement: 1\\Attack: 1}{Attack Range 2 against Units with Movement >= 3}
\cardplaycost{1}\cardmodule{base}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/base/pioneer.tex b/latex/cards/en/base/pioneer.tex
index 0964af43..5c607bcd 100644
--- a/latex/cards/base/pioneer.tex
+++ b/latex/cards/en/base/pioneer.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Pioneer}
\cardbuycost{7}
-\cardsplitcontent{Health: 5\\Movement: 2}{\faRedo: Neutralize adjacent tile or Artifact}
+\cardsplitcontent{Health: 5\\Movement: 2}{\faRedo: Neutralize one Tile or destroy Artifact in Range 1}
\cardplaycost{1}\cardmodule{base}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/base/recruit.tex b/latex/cards/en/base/recruit.tex
index 8b88a6c6..8b88a6c6 100644
--- a/latex/cards/base/recruit.tex
+++ b/latex/cards/en/base/recruit.tex
diff --git a/latex/cards/base/recruiter.tex b/latex/cards/en/base/recruiter.tex
index d5f53693..7dbcf62f 100644
--- a/latex/cards/base/recruiter.tex
+++ b/latex/cards/en/base/recruiter.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Recruiter}
\cardbuycost{10}
-\cardsplitcontent{Health: 2\\Movement: 2\\Attack: 1}{Allow Units to be played in Range 1\\ \vspace{0.2cm} \faRedo: Create Recruit token on adjacent tile}
+\cardsplitcontent{Health: 2\\Movement: 2\\Attack: 1}{Units can be played in Range 1\\ \vspace{0.2cm} \faRedo: Create Recruit token on adjacent tile}
\cardplaycost{1}\cardmodule{base}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/base/shield.tex b/latex/cards/en/base/shield.tex
index 3d51c1bc..3d51c1bc 100644
--- a/latex/cards/base/shield.tex
+++ b/latex/cards/en/base/shield.tex
diff --git a/latex/cards/base/sword.tex b/latex/cards/en/base/sword.tex
index f4b34e62..82583090 100644
--- a/latex/cards/base/sword.tex
+++ b/latex/cards/en/base/sword.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeEquipment{Sword}
\cardbuycost{5}
-\cardsplitcontent{Durability: 3}{Equipped unit gains +1 Melee Damage}
+\cardsplitcontent{Durability: 3}{Equipped Unit gains +1 Melee}
\cardplaycost{2}
\cardmodule{base}
\cardborder
diff --git a/latex/cards/base/tax_collector.tex b/latex/cards/en/base/tax_collector.tex
index 0989fecf..193bc4d2 100644
--- a/latex/cards/base/tax_collector.tex
+++ b/latex/cards/en/base/tax_collector.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Tax Collector}
\cardbuycost{5}
-\cardsplitcontent{Health: 1\\Movement: 2}{\faRedo: Get 2 additional Ressource}
+\cardsplitcontent{Health: 1\\Movement: 2}{\faRedo: Get 2 Resource}
\cardplaycost{1}\cardmodule{base}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/base/tower_shield.tex b/latex/cards/en/base/tower_shield.tex
index b1e1d401..b91a32dc 100644
--- a/latex/cards/base/tower_shield.tex
+++ b/latex/cards/en/base/tower_shield.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeEquipment{Tower Shield}
\cardbuycost{7}
-\cardsplitcontent{Durability: 3}{Equipped unit has +2 Health}
+\cardsplitcontent{Durability: 3}{Equipped Unit has +2 Health}
\cardplaycost{2}
\cardmodule{base}
\cardborder
diff --git a/latex/cards/base/wormtongue.tex b/latex/cards/en/base/wormtongue.tex
index 73a7ed36..73a7ed36 100644
--- a/latex/cards/base/wormtongue.tex
+++ b/latex/cards/en/base/wormtongue.tex
diff --git a/latex/cards/equipments/armor.tex b/latex/cards/en/equipments/armor.tex
index 0a32f9ca..bf5c1e4b 100644
--- a/latex/cards/equipments/armor.tex
+++ b/latex/cards/en/equipments/armor.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeEquipment{Armor}
\cardbuycost{7}
-\cardsplitcontent{Durability: 3}{Equipped unit gains + 1 Armor}
+\cardsplitcontent{Durability: 3}{Equipped unit has + 1 Armor}
\cardplaycost{2}
\cardmodule{equipments}
\cardborder
diff --git a/latex/cards/equipments/banner.tex b/latex/cards/en/equipments/banner.tex
index 8baa86a1..f8be1872 100644
--- a/latex/cards/equipments/banner.tex
+++ b/latex/cards/en/equipments/banner.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeArtifact{Banner}
\cardbuycost{2}
-\cardcontent{Units you control in range 1 gain +1 attack damage and +1 movement}
+\cardcontent{Units you control in range 1 gain +1 attack and +1 movement}
\cardplaycost{7}
\cardmodule{equipments}
\cardborder
diff --git a/latex/cards/equipments/cloak.tex b/latex/cards/en/equipments/cloak.tex
index 329b6e56..63678232 100644
--- a/latex/cards/equipments/cloak.tex
+++ b/latex/cards/en/equipments/cloak.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeEquipment{Cloak}
\cardbuycost{3}
-\cardsplitcontent{Durability: 2}{Equipped unit gains shroud (can't be targeted)}
+\cardsplitcontent{Durability: 2}{Equipped unit has shroud (can't be targeted)}
\cardplaycost{7}
\cardmodule{equipments}
\cardborder
diff --git a/latex/cards/equipments/gear.tex b/latex/cards/en/equipments/gear.tex
index be937384..b18a2f12 100644
--- a/latex/cards/equipments/gear.tex
+++ b/latex/cards/en/equipments/gear.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeEquipment{Gear}
\cardbuycost{2}
-\cardsplitcontent{Durability: 3}{Equipped unit gain +1 movement}
+\cardsplitcontent{Durability: 3}{Equipped unit has +1 movement}
\cardplaycost{3}
\cardmodule{equipments}
\cardborder
diff --git a/latex/cards/equipments/mace.tex b/latex/cards/en/equipments/mace.tex
index 41859143..41859143 100644
--- a/latex/cards/equipments/mace.tex
+++ b/latex/cards/en/equipments/mace.tex
diff --git a/latex/cards/equipments/plate_armor.tex b/latex/cards/en/equipments/plate_armor.tex
index 284c7592..284c7592 100644
--- a/latex/cards/equipments/plate_armor.tex
+++ b/latex/cards/en/equipments/plate_armor.tex
diff --git a/latex/cards/equipments/poisoned_dagger.tex b/latex/cards/en/equipments/poisoned_dagger.tex
index a3450e5e..a3450e5e 100644
--- a/latex/cards/equipments/poisoned_dagger.tex
+++ b/latex/cards/en/equipments/poisoned_dagger.tex
diff --git a/latex/cards/equipments/reclaim!.tex b/latex/cards/en/equipments/reclaim!.tex
index 3708183b..2d3c3899 100644
--- a/latex/cards/equipments/reclaim!.tex
+++ b/latex/cards/en/equipments/reclaim!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Reclaim!}
\cardbuycost{5}
-\cardcontent{Teleport target Artifact you own with Playcost X to a free spawn tile of yours.}
+\cardcontent{Teleport target Artifact you own with Playcost X to one of your spawn tiles.}
\cardplaycost{X}
\cardmodule{equipments}
\cardborder
diff --git a/latex/cards/equipments/relic.tex b/latex/cards/en/equipments/relic.tex
index 68f1342c..f4511081 100644
--- a/latex/cards/equipments/relic.tex
+++ b/latex/cards/en/equipments/relic.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeArtifact{Relic}
\cardbuycost{3}
-\cardcontent{In your upkeep the player controlling the most units in range 1 gains 1 resource. On ties all tied players gain 1 resource.}
+\cardcontent{In your upkeep all player controlling the most units in range 1 gain 1 resource.}
\cardplaycost{7}
\cardmodule{equipments}
\cardborder
diff --git a/latex/cards/equipments/shatter!.tex b/latex/cards/en/equipments/shatter!.tex
index 87a9de27..87a9de27 100644
--- a/latex/cards/equipments/shatter!.tex
+++ b/latex/cards/en/equipments/shatter!.tex
diff --git a/latex/cards/equipments/smith.tex b/latex/cards/en/equipments/smith.tex
index 85f4618f..85f4618f 100644
--- a/latex/cards/equipments/smith.tex
+++ b/latex/cards/en/equipments/smith.tex
diff --git a/latex/cards/equipments/spear.tex b/latex/cards/en/equipments/spear.tex
index ab2ad750..79401a21 100644
--- a/latex/cards/equipments/spear.tex
+++ b/latex/cards/en/equipments/spear.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeEquipment{Spear}
\cardbuycost{2}
-\cardsplitcontent{Durability: 3}{Equipped unit gains +1 Attack and Range 2 against unit with Movement >= 3}
+\cardsplitcontent{Durability: 3}{Equipped unit has +1 Attack and Range 2 against units with Movement >= 3}
\cardplaycost{7}
\cardmodule{equipments}
\cardborder
diff --git a/latex/cards/exp1/backup!.tex b/latex/cards/en/exp1/backup!.tex
index 5cc60ead..d22ada19 100644
--- a/latex/cards/exp1/backup!.tex
+++ b/latex/cards/en/exp1/backup!.tex
@@ -5,9 +5,9 @@
\begin{tikzpicture}
\cardtypeSpell{Backup!}
\cardbuycost{7}
-\cardcontent{Create two Recruit tokens next to an allied Unit}
+\cardcontent{Create two Recruit tokens in Range 1 of an allied Unit}
\cardplaycost{5}
-
+\cardmodule{exp1}
\cardborder
\end{tikzpicture}
\end{document}
diff --git a/latex/cards/en/exp1/berserker.tex b/latex/cards/en/exp1/berserker.tex
new file mode 100644
index 00000000..09defcec
--- /dev/null
+++ b/latex/cards/en/exp1/berserker.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeUnit{Berserker}
+\cardbuycost{7}
+\cardsplitcontent{Health: 2\\Movement: 2}{Discard one card: +1 melee this turn}
+\cardplaycost{1}\cardmodule{exp1}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/exp1/macabre_clown.tex b/latex/cards/en/exp1/macabre_clown.tex
index 3437c747..3437c747 100644
--- a/latex/cards/exp1/macabre_clown.tex
+++ b/latex/cards/en/exp1/macabre_clown.tex
diff --git a/latex/cards/exp1/ramm.tex b/latex/cards/en/exp1/ramm.tex
index 8ca801ad..9717609e 100644
--- a/latex/cards/exp1/ramm.tex
+++ b/latex/cards/en/exp1/ramm.tex
@@ -6,7 +6,7 @@
\cardtypeUnit{Ramm}
\cardbuycost{7}
\cardsplitcontent{Health: 3\\Movement: 1}{Crew 3\\ \vspace{0.2cm} \faRedo: Neutralize one tile or destroy one artifact in Range 1}
-\cardplaycost{1}
+\cardplaycost{1}\cardmodule{exp1}
\cardborder
\end{tikzpicture}
\end{document}
diff --git a/latex/cards/exp1/recycle!.tex b/latex/cards/en/exp1/recycle!.tex
index 28c82026..95caf83c 100644
--- a/latex/cards/exp1/recycle!.tex
+++ b/latex/cards/en/exp1/recycle!.tex
@@ -7,7 +7,7 @@
\cardbuycost{5}
\cardcontent{Return two cards from your discard pile to your hand}
\cardplaycost{2}
-
+\cardmodule{exp1}
\cardborder
\end{tikzpicture}
\end{document}
diff --git a/latex/cards/exp1/reformer.tex b/latex/cards/en/exp1/reformer.tex
index 08ba5632..9fcd9476 100644
--- a/latex/cards/exp1/reformer.tex
+++ b/latex/cards/en/exp1/reformer.tex
@@ -6,7 +6,7 @@
\cardtypeUnit{Reformer}
\cardbuycost{7}
\cardsplitcontent{Health: 1\\Movement: 2}{\faRedo: Whenever you discard cards this turn draw that many card}
-\cardplaycost{1}
+\cardplaycost{1}\cardmodule{exp1}
\cardborder
\end{tikzpicture}
\end{document}
diff --git a/latex/cards/exp1/renew!.tex b/latex/cards/en/exp1/renew!.tex
index a3533e5f..7e9d0ac0 100644
--- a/latex/cards/exp1/renew!.tex
+++ b/latex/cards/en/exp1/renew!.tex
@@ -7,7 +7,7 @@
\cardbuycost{5}
\cardcontent{Shuffle your discard pile into your deck}
\cardplaycost{3}
-
+\cardmodule{exp1}
\cardborder
\end{tikzpicture}
\end{document}
diff --git a/latex/cards/exp1/stasis_orb.tex b/latex/cards/en/exp1/stasis_orb.tex
index 7a60b89d..70b1004b 100644
--- a/latex/cards/exp1/stasis_orb.tex
+++ b/latex/cards/en/exp1/stasis_orb.tex
@@ -7,7 +7,7 @@
\cardbuycost{7}
\cardcontent{Solid 1. Players can not draw more than two cards each turn}
\cardplaycost{5}
-
+\cardmodule{exp1}
\cardborder
\end{tikzpicture}
\end{document}
diff --git a/latex/cards/exp1/taunter.tex b/latex/cards/en/exp1/taunter.tex
index 4bdc3368..4bdc3368 100644
--- a/latex/cards/exp1/taunter.tex
+++ b/latex/cards/en/exp1/taunter.tex
diff --git a/latex/cards/exp1/unmark!.tex b/latex/cards/en/exp1/unmark!.tex
index bdec89dc..bdec89dc 100644
--- a/latex/cards/exp1/unmark!.tex
+++ b/latex/cards/en/exp1/unmark!.tex
diff --git a/latex/cards/exp1/ward!.tex b/latex/cards/en/exp1/ward!.tex
index f23bfd6d..1686a176 100644
--- a/latex/cards/exp1/ward!.tex
+++ b/latex/cards/en/exp1/ward!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Ward!}
\cardbuycost{7}
-\cardcontent{Put a ward mark on target unit without a ward marker}
+\cardcontent{Put a ward mark on target unit}
\cardplaycost{3}
\cardmodule{exp1}
\cardborder
diff --git a/latex/cards/kraken/angry_squid.tex b/latex/cards/en/kraken/angry_squid.tex
index 4ce8c7bc..4ce8c7bc 100644
--- a/latex/cards/kraken/angry_squid.tex
+++ b/latex/cards/en/kraken/angry_squid.tex
diff --git a/latex/cards/kraken/chachalot.tex b/latex/cards/en/kraken/chachalot.tex
index a2484168..a2484168 100644
--- a/latex/cards/kraken/chachalot.tex
+++ b/latex/cards/en/kraken/chachalot.tex
diff --git a/latex/cards/kraken/clownfish.tex b/latex/cards/en/kraken/clownfish.tex
index ff238f56..3596d224 100644
--- a/latex/cards/kraken/clownfish.tex
+++ b/latex/cards/en/kraken/clownfish.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Clownfish}
\cardbuycost{7}
-\cardsplitcontent{AI: Shy\\Health: 1\\Movement: 2 swimming}{\faRedo: Get 4 additional Ressource}
+\cardsplitcontent{AI: Shy\\Health: 1\\Movement: 2 swimming}{\faRedo: Gain 4 resource}
\cardplaycost{1}\cardmodule{kraken}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/kraken/deja_vu.tex b/latex/cards/en/kraken/deja_vu.tex
index 918f04a2..46f26132 100644
--- a/latex/cards/kraken/deja_vu.tex
+++ b/latex/cards/en/kraken/deja_vu.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Deja Vu}
+\cardtypeSpell{Deja Vu!}
\cardbuycost{5}
\cardcontent{Reset all players Ressource to the starting amount}
\cardmodule{kraken}
diff --git a/latex/cards/kraken/devour_the_poor.tex b/latex/cards/en/kraken/devour_the_poor.tex
index 644c0ae9..0b23cd79 100644
--- a/latex/cards/kraken/devour_the_poor.tex
+++ b/latex/cards/en/kraken/devour_the_poor.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Devour The Poor}
+\cardtypeSpell{Devour The Poor!}
\cardbuycost{7}
\cardcontent{Destroy all enemy units with buy cost < 7}
\cardmodule{kraken}
diff --git a/latex/cards/kraken/dolphin.tex b/latex/cards/en/kraken/dolphin.tex
index e6fe157d..648d2fdb 100644
--- a/latex/cards/kraken/dolphin.tex
+++ b/latex/cards/en/kraken/dolphin.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Dolphin}
\cardbuycost{5}
-\cardsplitcontent{AI: Supportive\\Health: 2\\Movement: 2}{Dolphin can be played next to a random allied Unit\\ \vspace{0.2cm} Give random allied Unit in Range 1 a random buff this Turn. \\ \textit{\small (+1~Attack, +1~Armor, +2~Movement, +1~Action, +2~Pierce, All together)}}
+\cardsplitcontent{AI: Supportive\\Health: 2\\Movement: 2}{Dolphin is played next to a random allied Unit\\ \vspace{0.2cm} Give random allied Unit in Range 1 a random buff until your next turn. \\ \textit{\small (+1~Attack, +1~Armor, +2~Movement, +1~Action, +2~Pierce, All~together)}}
\cardplaycost{1}\cardmodule{kraken}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/kraken/drowned_sailor.tex b/latex/cards/en/kraken/drowned_sailor.tex
index cd2cc186..cd2cc186 100644
--- a/latex/cards/kraken/drowned_sailor.tex
+++ b/latex/cards/en/kraken/drowned_sailor.tex
diff --git a/latex/cards/kraken/flying_dutchmen.tex b/latex/cards/en/kraken/flying_dutchmen.tex
index f980b5fe..03cd2c95 100644
--- a/latex/cards/kraken/flying_dutchmen.tex
+++ b/latex/cards/en/kraken/flying_dutchmen.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Flying Dutchmen}
\cardbuycost{7}
-\cardsplitcontent{AI: Aggressive\\Health: 3\\Movement: 1 swimming}{Crew 6. Whenever a enemy unit dies create a Drowned Sailor token and place it on Flying Dutchmen. If Flying Dutchmen is not crewed it's Ai is Wandering}
+\cardsplitcontent{AI: Aggressive\\Health: 3\\Movement: 1 swimming\\Attack: 0}{Crew 6. Whenever a enemy unit dies create a Drowned Sailor token and place it on Flying Dutchmen. If Flying Dutchmen is not crewed it's Ai is Wandering 0}
\cardplaycost{2}\cardmodule{kraken}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/kraken/frost_pylon.tex b/latex/cards/en/kraken/frost_pylon.tex
index 1405bf84..1405bf84 100644
--- a/latex/cards/kraken/frost_pylon.tex
+++ b/latex/cards/en/kraken/frost_pylon.tex
diff --git a/latex/cards/en/kraken/gigantic_hail.tex b/latex/cards/en/kraken/gigantic_hail.tex
new file mode 100644
index 00000000..c4e57767
--- /dev/null
+++ b/latex/cards/en/kraken/gigantic_hail.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Gigantischer Hagel}
+\cardbuycost{3}
+\cardcontent{Plaziere drei Eisberg Token auf zufälligen freien Feldern}
+\cardmodule{kraken}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/kraken/ice_berg.tex b/latex/cards/en/kraken/ice_berg.tex
index b9aff050..b9aff050 100644
--- a/latex/cards/kraken/ice_berg.tex
+++ b/latex/cards/en/kraken/ice_berg.tex
diff --git a/latex/cards/kraken/sailfish.tex b/latex/cards/en/kraken/sailfish.tex
index 196ea6c6..196ea6c6 100644
--- a/latex/cards/kraken/sailfish.tex
+++ b/latex/cards/en/kraken/sailfish.tex
diff --git a/latex/cards/kraken/sold_out.tex b/latex/cards/en/kraken/sold_out.tex
index a46efb24..2d53eedc 100644
--- a/latex/cards/kraken/sold_out.tex
+++ b/latex/cards/en/kraken/sold_out.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Sold Out}
+\cardtypeSpell{Sold Out!}
\cardbuycost{10}
\cardcontent{Neutralize a random Store tile and exile all its cards}
\cardmodule{kraken}
diff --git a/latex/cards/kraken/suprise.tex b/latex/cards/en/kraken/suprise.tex
index 6c611e55..3c8140db 100644
--- a/latex/cards/kraken/suprise.tex
+++ b/latex/cards/en/kraken/suprise.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Suprise}
+\cardtypeSpell{Suprise!}
\cardbuycost{1}
\cardcontent{Place the next Unit played this turn next to a random enemy Unit}
\cardmodule{kraken}
diff --git a/latex/cards/kraken/tentacle_slap.tex b/latex/cards/en/kraken/tentacle_slap.tex
index f6f1e16f..f6f1e16f 100644
--- a/latex/cards/kraken/tentacle_slap.tex
+++ b/latex/cards/en/kraken/tentacle_slap.tex
diff --git a/latex/cards/kraken/the_kraken.tex b/latex/cards/en/kraken/the_kraken.tex
index 98401e19..98401e19 100644
--- a/latex/cards/kraken/the_kraken.tex
+++ b/latex/cards/en/kraken/the_kraken.tex
diff --git a/latex/cards/kraken/tides_change.tex b/latex/cards/en/kraken/tides_change.tex
index cc13bf74..7667793e 100644
--- a/latex/cards/kraken/tides_change.tex
+++ b/latex/cards/en/kraken/tides_change.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Tides Change}
+\cardtypeSpell{Gezeitenwechsel!}
\cardbuycost{5}
\cardcontent{Redistribute all store cards}
\cardmodule{kraken}
diff --git a/latex/cards/kraken/unholy_cannonball.tex b/latex/cards/en/kraken/unholy_cannonball.tex
index f89d561e..bb8f7782 100644
--- a/latex/cards/kraken/unholy_cannonball.tex
+++ b/latex/cards/en/kraken/unholy_cannonball.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Unholy Cannonball}
\cardbuycost{5}
-\cardcontent{If no enemy Units are in Range~2 of The Kraken gain 5~ressource and draw a card. \\ \vspace{0.3cm} Otherwise put a panik mark on all enemy Units in Range~2 of The Kraken}
+\cardcontent{If no enemy Units are in Range~2 of The Kraken gain 5~resource. \\ \vspace{0.3cm} Otherwise put a panik mark on all enemy Units in Range~2 of The Kraken}
\cardmodule{kraken}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/magic/action!.tex b/latex/cards/en/magic/action!.tex
index 53cc73c7..7e722c22 100644
--- a/latex/cards/magic/action!.tex
+++ b/latex/cards/en/magic/action!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Action!}
\cardbuycost{5}
-\cardcontent{Move or attack with one unit}
+\cardcontent{Move or attack with target unit}
\cardplaycost{2}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/magic/appear!.tex b/latex/cards/en/magic/appear!.tex
index 994d9ec4..994d9ec4 100644
--- a/latex/cards/magic/appear!.tex
+++ b/latex/cards/en/magic/appear!.tex
diff --git a/latex/cards/magic/attack!.tex b/latex/cards/en/magic/attack!.tex
index 20707bcc..2a06a9f1 100644
--- a/latex/cards/magic/attack!.tex
+++ b/latex/cards/en/magic/attack!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Attack!}
\cardbuycost{5}
-\cardcontent{Distribute 2 times "+1 Attack this turn" on up to two units}
+\cardcontent{Distribute twice "+1 Attack this turn" on up to two target units}
\cardplaycost{2}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/magic/catalyst.tex b/latex/cards/en/magic/catalyst.tex
index 36fb937e..ecaf740c 100644
--- a/latex/cards/magic/catalyst.tex
+++ b/latex/cards/en/magic/catalyst.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeArtifact{catalyst}
+\cardtypeArtifact{Catalyst}
\cardbuycost{3}
\cardcontent{Spells any player controlling the most units in range 1 playes cost one less resource}
\cardplaycost{5}
diff --git a/latex/cards/magic/clone!.tex b/latex/cards/en/magic/clone!.tex
index 139147b6..139147b6 100644
--- a/latex/cards/magic/clone!.tex
+++ b/latex/cards/en/magic/clone!.tex
diff --git a/latex/cards/magic/defense!.tex b/latex/cards/en/magic/defense!.tex
index c0619ca9..37f6e97e 100644
--- a/latex/cards/magic/defense!.tex
+++ b/latex/cards/en/magic/defense!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Defense!}
\cardbuycost{5}
-\cardcontent{Two units gain +1 Armor until end of turn}
+\cardcontent{Two units have +1 Armor this turn}
\cardplaycost{3}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/magic/die!.tex b/latex/cards/en/magic/die!.tex
index 8674a709..8674a709 100644
--- a/latex/cards/magic/die!.tex
+++ b/latex/cards/en/magic/die!.tex
diff --git a/latex/cards/magic/heal!.tex b/latex/cards/en/magic/heal!.tex
index 4c11d301..abf23d4f 100644
--- a/latex/cards/magic/heal!.tex
+++ b/latex/cards/en/magic/heal!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Heal!}
\cardbuycost{5}
-\cardcontent{Target unit gains 1 Health or remove all Poison marks from it}
+\cardcontent{Remove one damage or all poison marks from target unit}
\cardplaycost{2}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/en/magic/isolate!.tex b/latex/cards/en/magic/isolate!.tex
new file mode 100644
index 00000000..c631d175
--- /dev/null
+++ b/latex/cards/en/magic/isolate!.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+\input{common.tex}
+
+\begin{document}
+\begin{tikzpicture}
+\cardtypeSpell{Isolieren!}
+\cardbuycost{5}
+\cardcontent{Eine Ziel-Unit ist diesen Zug verhuellt und kann weder Schaden erleiden noch zufuegen}
+\cardplaycost{2}
+\cardmodule{magic}
+\cardborder
+\end{tikzpicture}
+\end{document}
diff --git a/latex/cards/magic/mine!.tex b/latex/cards/en/magic/mine!.tex
index e585603c..0974a968 100644
--- a/latex/cards/magic/mine!.tex
+++ b/latex/cards/en/magic/mine!.tex
@@ -3,7 +3,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeSpell{Mine!}
+\cardtypeSpell{Meins!}
\cardbuycost{5}
\cardcontent{Steal 2 resource from opponent}
\cardplaycost{2}
diff --git a/latex/cards/magic/more!.tex b/latex/cards/en/magic/more!.tex
index 1168aac6..1168aac6 100644
--- a/latex/cards/magic/more!.tex
+++ b/latex/cards/en/magic/more!.tex
diff --git a/latex/cards/magic/no!.tex b/latex/cards/en/magic/no!.tex
index 3719eab3..5e35097f 100644
--- a/latex/cards/magic/no!.tex
+++ b/latex/cards/en/magic/no!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{No!}
\cardbuycost{5}
-\cardcontent{Counter target spell}
+\cardcontent{Neutraliziere einen Zauberspruch}
\cardplaycost{2}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/magic/pierce!.tex b/latex/cards/en/magic/pierce!.tex
index 6d3a8f93..6d3a8f93 100644
--- a/latex/cards/magic/pierce!.tex
+++ b/latex/cards/en/magic/pierce!.tex
diff --git a/latex/cards/magic/ritual!.tex b/latex/cards/en/magic/ritual!.tex
index 217386fb..fcd74a92 100644
--- a/latex/cards/magic/ritual!.tex
+++ b/latex/cards/en/magic/ritual!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Ritual!}
\cardbuycost{7}
-\cardcontent{Gain 3 Ressource}
+\cardcontent{Gain 3 Resource}
\cardplaycost{1}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/magic/rush!.tex b/latex/cards/en/magic/rush!.tex
index b5eb53f3..0853d82a 100644
--- a/latex/cards/magic/rush!.tex
+++ b/latex/cards/en/magic/rush!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Rush!}
\cardbuycost{5}
-\cardcontent{Distribute 2 times "+ 2 Movement this turn" on up to two units}
+\cardcontent{Verteile zweimal "+ 2 Bewegung diesen Zug" auf bis zu zwei Units}
\cardplaycost{2}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/magic/select!.tex b/latex/cards/en/magic/select!.tex
index 37d8ffad..37d8ffad 100644
--- a/latex/cards/magic/select!.tex
+++ b/latex/cards/en/magic/select!.tex
diff --git a/latex/cards/magic/shroud!.tex b/latex/cards/en/magic/shroud!.tex
index e1e9eade..7208f13f 100644
--- a/latex/cards/magic/shroud!.tex
+++ b/latex/cards/en/magic/shroud!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Shroud!}
\cardbuycost{5}
-\cardcontent{Target unit can not be targeted this turn}
+\cardcontent{Target unit has shroud this turn}
\cardplaycost{2}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/magic/stumble!.tex b/latex/cards/en/magic/stumble!.tex
index 9a8766df..9a8766df 100644
--- a/latex/cards/magic/stumble!.tex
+++ b/latex/cards/en/magic/stumble!.tex
diff --git a/latex/cards/magic/switch!.tex b/latex/cards/en/magic/switch!.tex
index 491a5115..491a5115 100644
--- a/latex/cards/magic/switch!.tex
+++ b/latex/cards/en/magic/switch!.tex
diff --git a/latex/cards/magic/transmute!.tex b/latex/cards/en/magic/transmute!.tex
index b18d00c5..d38f0d6b 100644
--- a/latex/cards/magic/transmute!.tex
+++ b/latex/cards/en/magic/transmute!.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeSpell{Transmute!}
\cardbuycost{5}
-\cardcontent{Put one card from your store into your hand. Exile this card}
+\cardcontent{Put one card from your store into your hand. Exile Transmute!}
\cardplaycost{5}
\cardmodule{magic}
\cardborder
diff --git a/latex/cards/misc/farmer.tex b/latex/cards/en/misc/farmer.tex
index 7e9ac9c2..7e9ac9c2 100644
--- a/latex/cards/misc/farmer.tex
+++ b/latex/cards/en/misc/farmer.tex
diff --git a/latex/cards/misc/king.tex b/latex/cards/en/misc/king.tex
index 7e95025a..b0eac01d 100644
--- a/latex/cards/misc/king.tex
+++ b/latex/cards/en/misc/king.tex
@@ -4,7 +4,7 @@
\begin{document}
\begin{tikzpicture}
\cardtypeUnitToken{King}
-\cardsplitcontent{Health: 5\\Movement: 1\\Attack: 1}{5 Resource: +shroud until end of turn. \ Protection from Die!}
+\cardsplitcontent{Health: 5\\Movement: 1\\Attack: 1}{5: +~verhüllt diesen Zug. \ Schutz from Stirb!}
\cardplaycost{0}\cardmodule{}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/misc/stick_of_victory.tex b/latex/cards/en/misc/stick_of_victory.tex
index 5bd28a96..6f9baec4 100644
--- a/latex/cards/misc/stick_of_victory.tex
+++ b/latex/cards/en/misc/stick_of_victory.tex
@@ -4,7 +4,7 @@
\begin{document}
\begin{tikzpicture}
\cardtypeEquipmentToken{Stick of Victory}
-\cardsplitcontent{Durability: infinite}{The controller of the equipped unit increases its victory count by 1 in their upkeep}
+\cardsplitcontent{Durability: {'en': 'infinite', 'de': 'unendlich'}}{Whenever the equipped unit is activated its controller gains one victory point}
\cardmodule{}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/nautics/barge.tex b/latex/cards/en/nautics/barge.tex
index fd00b98a..fd00b98a 100644
--- a/latex/cards/nautics/barge.tex
+++ b/latex/cards/en/nautics/barge.tex
diff --git a/latex/cards/nautics/captain.tex b/latex/cards/en/nautics/captain.tex
index 802e7d99..802e7d99 100644
--- a/latex/cards/nautics/captain.tex
+++ b/latex/cards/en/nautics/captain.tex
diff --git a/latex/cards/nautics/fish_trap.tex b/latex/cards/en/nautics/fish_trap.tex
index 7e616a7a..7e616a7a 100644
--- a/latex/cards/nautics/fish_trap.tex
+++ b/latex/cards/en/nautics/fish_trap.tex
diff --git a/latex/cards/nautics/fisher.tex b/latex/cards/en/nautics/fisher.tex
index 01a389df..01a389df 100644
--- a/latex/cards/nautics/fisher.tex
+++ b/latex/cards/en/nautics/fisher.tex
diff --git a/latex/cards/nautics/galley.tex b/latex/cards/en/nautics/galley.tex
index ad136701..c4b59fed 100644
--- a/latex/cards/nautics/galley.tex
+++ b/latex/cards/en/nautics/galley.tex
@@ -5,7 +5,7 @@
\begin{tikzpicture}
\cardtypeUnit{Galley}
\cardbuycost{7}
-\cardsplitcontent{Health: 4\\Movement: 2 swimming\\Attack: 1 range 2}{Crew 3}
+\cardsplitcontent{Health: 4\\Movement: 2 swimming\\Attack: 1 Range 2}{Crew 3}
\cardplaycost{2}\cardmodule{nautics}
\cardborder
\end{tikzpicture}
diff --git a/latex/cards/nautics/sailor.tex b/latex/cards/en/nautics/sailor.tex
index dc83a664..dc83a664 100644
--- a/latex/cards/nautics/sailor.tex
+++ b/latex/cards/en/nautics/sailor.tex
diff --git a/scripts/generate_card.py b/scripts/generate_card.py
index aa0347da..0ecc5df5 100755
--- a/scripts/generate_card.py
+++ b/scripts/generate_card.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
import argparse
import pathlib
-import os
+from pathlib import Path
from typing import MutableMapping
import yaml
@@ -26,142 +26,183 @@ SET_SYMBOLS = {
'exp1': 'exp1'
}
-LATEX_ROOT = pathlib.Path(os.getcwd())
-ASSETS_DIR = LATEX_ROOT / '../assets'
-CARDS_DIR = LATEX_ROOT / 'cards'
+SCRIPT_PATH = Path(__file__).parent
+GAME_ROOT = SCRIPT_PATH.parent
+ASSETS_DIR = GAME_ROOT / 'assets'
+
+# all keys known by the rules
+KEYS = [
+ 'type', 'token', 'buy', 'upkeep', 'play', 'ai', 'health', 'movement',
+ 'attack', 'full_action', 'effect'
+]
+
+FORMATTED_KEYS = {
+ 'en': {
+ 'ai': 'AI',
+ 'full_action': 'Full Action'
+ },
+ 'de': {
+ 'ai': 'KI',
+ 'full_action': 'Volle-Aktion',
+ 'type': 'Typ',
+ 'buy': 'Kauf-Kosten',
+ 'upkeep': 'Unterhalts-Kosten',
+ 'play': 'Aktivierungs-Kosten',
+ 'health': 'Leben',
+ 'movement': 'Bewegung',
+ 'attack': 'Angriff',
+ 'effect': 'Effekt',
+ 'durability': 'Haltbarkeit',
+ }
+}
+
-def file_for_card(card_name: str, suffix = '.tex') -> pathlib.Path:
+def file_for_card(card_name: str, suffix='.tex') -> pathlib.Path:
"""Return the corresponding latex file name for a card"""
return pathlib.Path(f'{card_name.lower().replace(" ", "_")}{suffix}')
-def get_latex_field(card: MutableMapping, field: str) -> str:
+
+def get_field(card: MutableMapping, field: str, language='en') -> str:
+ """Return the internationalized field value from a card"""
+ value = card[field]
+ if isinstance(value, dict):
+ value = value.get(language, value['en'])
+ return value
+
+
+def get_formatted_key(key: str, language='en') -> str:
+ """Return the internationalized formatted version for key"""
+ return FORMATTED_KEYS[language].get(key, key.capitalize())
+
+
+def get_latex_field(card: MutableMapping,
+ field: str,
+ language='en') -> (str, bool):
"""Return the latex_ prefixed field from card or the field itself"""
latex_field = f'latex_{field}'
- if latex_field in card:
- return card[latex_field]
- else:
- return card[field]
+ value = card.get(latex_field, card[field])
-def generate_markdown(card: MutableMapping, indentation=3):
- """Output a markdown enumeration"""
+ # internationalize
+ if isinstance(value, dict):
+ value = value.get(language, value['en'])
+
+ return value, latex_field in card
- formatted_keys = {'ai': 'AI', 'full_action': 'Full Action'}
+
+def generate_markdown(card: MutableMapping, language='en', indentation=3):
+ """Output a markdown enumeration"""
print(f'{"#" * indentation} {card["name"]}')
yml_card_path = f'cards-data/{card["set"]}/{file_for_card(card["name"], ".yml")}'
built_card_path = f'cards/{card["set"]}/{file_for_card(card["name"], "")}'
- print(f'\n[pdf]({built_card_path}.pdf) [png]({built_card_path}.png) [yml]({yml_card_path})\n')
+ print(
+ f'\n[pdf]({built_card_path}.pdf) [png]({built_card_path}.png) [yml]({yml_card_path})\n'
+ )
- for key in ['type', 'token', 'buy', 'upkeep', 'play', 'ai', 'health', 'movement', 'attack', 'full_action', 'effect']:
+ for key in KEYS:
if key in card:
- formatted_key = formatted_keys.get(key, key.capitalize())
- print(f'* **{formatted_key}**: {card[key]}')
+ formatted_key = get_formatted_key(key, language)
+ value = get_field(card, key, language)
+ print(f'* **{formatted_key}**: {value}')
+
-def generate_latex(card: MutableMapping):
+def generate_latex(card: MutableMapping, language='en'):
"""Generate a standalone tikz picture with the card data"""
card_content = ""
- card_file = file_for_card(card['name'])
+ name = get_field(card, 'name', language)
+ card_file = file_for_card(name)
for ext in ['.jpg', '.png']:
- image_file = ASSETS_DIR / card_file.with_suffix(ext)
+ image_file = ASSETS_DIR / card_file.with_suffix(ext)
if image_file.exists():
card_content += f'\\cardbackground{{{image_file.name}}}\n'
break
- card_content += f'\cardtype{card["type"].capitalize()}{"Token" if "token" in card else ""}{{{card["name"]}}}\n'
+ card_content += f'\\cardtype{card["type"].capitalize()}{"Token" if "token" in card else ""}{{{name}}}\n'
if 'buy' in card:
- card_content += f'\cardbuycost{{{card["buy"]}}}\n'
+ card_content += f'\\cardbuycost{{{card["buy"]}}}\n'
if card['type'] == 'unit':
stats = []
abilities = []
- if 'ai' in card:
- stats.append(f'AI: {card["ai"]}')
-
- if 'health' in card:
- stats.append(f'Health: {card["health"]}')
-
- if 'movement' in card:
- stats.append(f'Movement: {card["movement"]}')
-
- attack = card.get('attack', None)
- if attack:
- # attack_sym = '\\faFistRaised'
- # if "Range" in attack:
- # attack_sym = '\\ding{246}'
- stats.append(f'Attack: {attack}')
+ for key in ['ai', 'health', 'movement', 'attack']:
+ if key in card:
+ formatted_key = get_formatted_key(key, language)
+ value = get_field(card, key, language)
+ stats.append(f'{formatted_key}: {value}')
if 'effect' in card:
- abilities.append(get_latex_field(card, 'effect'))
+ effect, _ = get_latex_field(card, 'effect', language)
+ abilities.append(effect)
if 'full_action' in card:
- if 'latex_full_action' in card:
- abilities.append(f'{card["latex_full_action"]}')
- else:
- abilities.append(f'\\faRedo: {card["full_action"]}')
+ full_action, is_latex = get_latex_field(card, 'full_action',
+ language)
+ if not is_latex:
+ full_action = f'\\faRedo: {full_action}'
+
+ abilities.append(full_action)
stats_str = '\\\\'.join(stats)
ability_block = '\\\\ \\vspace{0.2cm} '.join(abilities)
if stats and abilities:
- card_content += f'\cardsplitcontent{{{stats_str}}}{{{ability_block}}}'
+ card_content += f'\\cardsplitcontent{{{stats_str}}}{{{ability_block}}}'
elif stats:
- card_content += f'\cardcontent{{{stats_str}}}'
+ card_content += f'\\cardcontent{{{stats_str}}}'
card_content += '\n'
if 'upkeep' in card:
- card_content += f'\cardplaycost{{{card["upkeep"]}}}'
+ card_content += f'\\cardplaycost{{{card["upkeep"]}}}'
elif card['type'] in ['spell', 'artifact']:
- effect = get_latex_field(card, 'effect')
+ effect, _ = get_latex_field(card, 'effect', language)
assert effect is not None
- card_content += f'\cardcontent{{{effect}}}\n'
+ card_content += f'\\cardcontent{{{effect}}}\n'
elif card['type'] == 'equipment':
- stats = f'Durability: {card["durability"]}'
- effect = get_latex_field(card, 'effect')
- card_content += f'\cardsplitcontent{{{stats}}}{{{effect}}}\n'
+ formatted_durability = get_formatted_key('durability')
+ stats = f'{formatted_durability}: {card["durability"]}'
+ effect, _ = get_latex_field(card, 'effect', language)
+ card_content += f'\\cardsplitcontent{{{stats}}}{{{effect}}}\n'
else:
print(f'WARNING: unknown card type {card["type"]}!')
if 'play' in card:
- card_content += f'\cardplaycost{{{card["play"]}}}\n'
+ card_content += f'\\cardplaycost{{{card["play"]}}}\n'
if card['set'] in SET_SYMBOLS:
- card_content += f'\cardmodule{{{SET_SYMBOLS[card["set"]]}}}'
+ card_content += f'\\cardmodule{{{SET_SYMBOLS[card["set"]]}}}'
else:
print(f'WARNING unknown set: {card["set"]}')
- set_dir = CARDS_DIR / card['set']
- if not set_dir.exists():
- set_dir.mkdir(parents=True)
-
- with open(set_dir / card_file, 'w') as tex_file:
- print(CARD_TEMPLATE.format(card_content), file=tex_file)
+ print(CARD_TEMPLATE.format(card_content))
def main():
"""Generate one standalone tikz picture for each card in the input data"""
- parser = argparse.ArgumentParser(description='generate latex standalone cards')
- parser.add_argument('data', help='yaml file or directory containing yaml files defining the cards to generate')
- parser.add_argument('--latex-root', help='path to the latex root directory')
- parser.add_argument('--format', choices=['latex', 'markdown'], default='latex', help='output format')
+ parser = argparse.ArgumentParser(
+ description='generate latex standalone cards')
+ parser.add_argument(
+ 'data',
+ help=
+ 'yaml file or directory containing yaml files defining the cards to generate'
+ )
+ parser.add_argument('--format',
+ choices=['latex', 'markdown'],
+ default='latex',
+ help='output format')
+ parser.add_argument('--language',
+ choices=['en', 'de'],
+ default='en',
+ help='the language of the card text')
args = parser.parse_args()
- if args.latex_root:
- global LATEX_ROOT
- LATEX_ROOT = pathlib.Path(args.latex_root)
- global CARDS_DIR
- CARDS_DIR = LATEX_ROOT / 'cards'
- global ASSETS_DIR
- ASSETS_DIR = LATEX_ROOT / '../assets'
-
-
data_files = [args.data]
data_path = pathlib.Path(args.data)
if data_path.is_dir():
@@ -170,15 +211,15 @@ def main():
else:
card_set = data_path.parent.stem
- for f in data_files:
- with open(f, 'r') as yaml_file:
+ for data_file in data_files:
+ with open(data_file, 'r') as yaml_file:
card = yaml.full_load(yaml_file)
card['set'] = card_set
if args.format == 'latex':
- generate_latex(card)
+ generate_latex(card, language=args.language)
elif args.format == 'markdown':
- generate_markdown(card)
+ generate_markdown(card, language=args.language)
if __name__ == '__main__':