From 0692ccd33afc4fdd80550e9979b824c1c25e973b Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 28 Feb 2021 17:01:38 +0100 Subject: rework how cards are defined and generated Card definitions are now stored in data/cards/ in a subdirectory for each set as YAML files. YAML is still human readable but stricter and better to handle in code than ini. The latex filesystem layout resembles the card definition layout and is created by the Makefile from the YAML card definitions and must not be regenerated each time by hand. --- data/cards/base/advisor.yml | 7 +++++++ data/cards/base/archer.yml | 7 +++++++ data/cards/base/cavalry.yml | 7 +++++++ data/cards/base/cavalry_archer.yml | 7 +++++++ data/cards/base/fighter.yml | 8 ++++++++ data/cards/base/great_sword.yml | 6 ++++++ data/cards/base/knight.yml | 8 ++++++++ data/cards/base/misinformation.yml | 5 +++++ data/cards/base/missionary.yml | 7 +++++++ data/cards/base/palisade.yml | 5 +++++ data/cards/base/pikeman.yml | 8 ++++++++ data/cards/base/pioneer.yml | 7 +++++++ data/cards/base/recruit.yml | 7 +++++++ data/cards/base/recruiter.yml | 9 +++++++++ data/cards/base/shield.yml | 6 ++++++ data/cards/base/sword.yml | 6 ++++++ data/cards/base/tax_collector.yml | 7 +++++++ data/cards/base/tower_shield.yml | 6 ++++++ data/cards/base/wormtongue.yml | 10 ++++++++++ 19 files changed, 133 insertions(+) create mode 100644 data/cards/base/advisor.yml create mode 100644 data/cards/base/archer.yml create mode 100644 data/cards/base/cavalry.yml create mode 100644 data/cards/base/cavalry_archer.yml create mode 100644 data/cards/base/fighter.yml create mode 100644 data/cards/base/great_sword.yml create mode 100644 data/cards/base/knight.yml create mode 100644 data/cards/base/misinformation.yml create mode 100644 data/cards/base/missionary.yml create mode 100644 data/cards/base/palisade.yml create mode 100644 data/cards/base/pikeman.yml create mode 100644 data/cards/base/pioneer.yml create mode 100644 data/cards/base/recruit.yml create mode 100644 data/cards/base/recruiter.yml create mode 100644 data/cards/base/shield.yml create mode 100644 data/cards/base/sword.yml create mode 100644 data/cards/base/tax_collector.yml create mode 100644 data/cards/base/tower_shield.yml create mode 100644 data/cards/base/wormtongue.yml (limited to 'data/cards/base') diff --git a/data/cards/base/advisor.yml b/data/cards/base/advisor.yml new file mode 100644 index 00000000..b22f6781 --- /dev/null +++ b/data/cards/base/advisor.yml @@ -0,0 +1,7 @@ +type: unit +name: Advisor +health: 1 +movement: 2 +buy: 10 +upkeep: 2 +full_action: Draw 1 card. You may exile 1 card from your hand diff --git a/data/cards/base/archer.yml b/data/cards/base/archer.yml new file mode 100644 index 00000000..eb7553c5 --- /dev/null +++ b/data/cards/base/archer.yml @@ -0,0 +1,7 @@ +type: unit +name: Archer +attack: 1 Range 2 +health: 2 +movement: 2 +buy: 5 +upkeep: 1 diff --git a/data/cards/base/cavalry.yml b/data/cards/base/cavalry.yml new file mode 100644 index 00000000..574026e3 --- /dev/null +++ b/data/cards/base/cavalry.yml @@ -0,0 +1,7 @@ +type: unit +name: Cavalry +attack: 2 +health: 1 +movement: 3 +buy: 5 +upkeep: 2 diff --git a/data/cards/base/cavalry_archer.yml b/data/cards/base/cavalry_archer.yml new file mode 100644 index 00000000..f5da0265 --- /dev/null +++ b/data/cards/base/cavalry_archer.yml @@ -0,0 +1,7 @@ +type: unit +name: Cavalry Archer +attack: 1 Range 2 +health: 1 +movement: 3 +buy: 10 +upkeep: 2 diff --git a/data/cards/base/fighter.yml b/data/cards/base/fighter.yml new file mode 100644 index 00000000..113f69ff --- /dev/null +++ b/data/cards/base/fighter.yml @@ -0,0 +1,8 @@ +type: unit +name: Fighter +attack: 1 +health: 2 +movement: 2 +buy: 7 +upkeep: 1 +effect: One additional attack action diff --git a/data/cards/base/great_sword.yml b/data/cards/base/great_sword.yml new file mode 100644 index 00000000..40542ed2 --- /dev/null +++ b/data/cards/base/great_sword.yml @@ -0,0 +1,6 @@ +type: equipment +name: Great Sword +buy: 10 +play: 4 +durability: 3 +effect: Equipped unit gains +2 Melee Damage diff --git a/data/cards/base/knight.yml b/data/cards/base/knight.yml new file mode 100644 index 00000000..f8d7bdd1 --- /dev/null +++ b/data/cards/base/knight.yml @@ -0,0 +1,8 @@ +type: unit +name: Knight +attack: 2 +health: 2 +movement: 2 +buy: 7 +upkeep: 2 +effect: + 1 Armor diff --git a/data/cards/base/misinformation.yml b/data/cards/base/misinformation.yml new file mode 100644 index 00000000..08e22fe3 --- /dev/null +++ b/data/cards/base/misinformation.yml @@ -0,0 +1,5 @@ +type: spell +name: Misinformation +token: true +effect: Exile this card +play: 5 diff --git a/data/cards/base/missionary.yml b/data/cards/base/missionary.yml new file mode 100644 index 00000000..77fbb694 --- /dev/null +++ b/data/cards/base/missionary.yml @@ -0,0 +1,7 @@ +type: unit +name: Missionary +health: 1 +movement: 2 +buy: 10 +upkeep: 2 +full_action: Put two faith counters on target Unit. If there are more faith counters than the units buying cost you control target unit diff --git a/data/cards/base/palisade.yml b/data/cards/base/palisade.yml new file mode 100644 index 00000000..de0d8c2c --- /dev/null +++ b/data/cards/base/palisade.yml @@ -0,0 +1,5 @@ +type: artifact +name: Palisade +buy: 7 +play: 3 +effect: Solid 6 diff --git a/data/cards/base/pikeman.yml b/data/cards/base/pikeman.yml new file mode 100644 index 00000000..766a8ff4 --- /dev/null +++ b/data/cards/base/pikeman.yml @@ -0,0 +1,8 @@ +type: unit +name: Pikeman +attack: 1 +health: 2 +movement: 1 +buy: 5 +upkeep: 1 +effect: Range 2 against Units with Movement >= 3 diff --git a/data/cards/base/pioneer.yml b/data/cards/base/pioneer.yml new file mode 100644 index 00000000..3e1315a1 --- /dev/null +++ b/data/cards/base/pioneer.yml @@ -0,0 +1,7 @@ +type: unit +name: Pioneer +health: 5 +movement: 2 +buy: 7 +upkeep: 1 +full_action: Neutralize adjacent tile or Artifact diff --git a/data/cards/base/recruit.yml b/data/cards/base/recruit.yml new file mode 100644 index 00000000..99ab85fa --- /dev/null +++ b/data/cards/base/recruit.yml @@ -0,0 +1,7 @@ +type: unit +name: Recruit +token: true +attack: 1 +health: 1 +movement: 1 +upkeep: 0 diff --git a/data/cards/base/recruiter.yml b/data/cards/base/recruiter.yml new file mode 100644 index 00000000..3dc62fbb --- /dev/null +++ b/data/cards/base/recruiter.yml @@ -0,0 +1,9 @@ +type: unit +name: Recruiter +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 diff --git a/data/cards/base/shield.yml b/data/cards/base/shield.yml new file mode 100644 index 00000000..3ca09d6b --- /dev/null +++ b/data/cards/base/shield.yml @@ -0,0 +1,6 @@ +type: equipment +name: Shield +buy: 5 +play: 1 +durability: 3 +effect: Equipped unit gains +1 Health diff --git a/data/cards/base/sword.yml b/data/cards/base/sword.yml new file mode 100644 index 00000000..b5875ec7 --- /dev/null +++ b/data/cards/base/sword.yml @@ -0,0 +1,6 @@ +type: equipment +name: Sword +buy: 5 +play: 2 +durability: 3 +effect: Equipped unit gains +1 Melee Damage diff --git a/data/cards/base/tax_collector.yml b/data/cards/base/tax_collector.yml new file mode 100644 index 00000000..47e46c27 --- /dev/null +++ b/data/cards/base/tax_collector.yml @@ -0,0 +1,7 @@ +type: unit +name: Tax Collector +health: 1 +movement: 2 +buy: 5 +upkeep: 1 +full_action: Get 2 additional Ressource diff --git a/data/cards/base/tower_shield.yml b/data/cards/base/tower_shield.yml new file mode 100644 index 00000000..d5d31ffa --- /dev/null +++ b/data/cards/base/tower_shield.yml @@ -0,0 +1,6 @@ +type: equipment +name: Tower Shield +buy: 7 +play: 2 +durability: 3 +effect: Equipped unit has +2 Health diff --git a/data/cards/base/wormtongue.yml b/data/cards/base/wormtongue.yml new file mode 100644 index 00000000..73207ec5 --- /dev/null +++ b/data/cards/base/wormtongue.yml @@ -0,0 +1,10 @@ +type: unit +name: Wormtongue +health: 1 +movement: 2 +buy: 10 +upkeep: 2 +full_action: + cost: 3 + effect: Add a Misinformation token to an opponents pile +latex_full_action: "\\faRedo, 3: Add a Misinformation token to an opponents pile" -- cgit v1.2.3