aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-04-03 20:27:05 -0300
committerFlorian Fischer <florian.fischer@muhq.space>2025-04-03 20:27:05 -0300
commit1301be4d20280ad52c7e40067129cc7284886240 (patch)
tree9b8a290b11541387ecf371b780057e3d84921161
parent2ee42003433b2faeda4ded1bc6557a6eaf3720ff (diff)
downloadmuhqs-game-boss.tar.gz
muhqs-game-boss.zip
introduce new boss typeboss
-rw-r--r--data/cards/kraken/the_kraken.yml2
-rw-r--r--data/cards/tyrant/the_tyrant.yml2
-rw-r--r--latex/cards/de/kraken/the_kraken.tex2
-rw-r--r--latex/cards/en/kraken/the_kraken.tex2
-rw-r--r--latex/cards/en/tyrant/the_tyrant.tex2
-rw-r--r--latex/colors.tex1
-rw-r--r--latex/tikzcards.tex2
-rw-r--r--rules/en/rules.md19
-rwxr-xr-xscripts/generate_card.py2
9 files changed, 22 insertions, 12 deletions
diff --git a/data/cards/kraken/the_kraken.yml b/data/cards/kraken/the_kraken.yml
index 7502f1cb..c5527757 100644
--- a/data/cards/kraken/the_kraken.yml
+++ b/data/cards/kraken/the_kraken.yml
@@ -1,6 +1,6 @@
name:
en: The Kraken
die: Die Krake
-type: unit
+type: boss
health: 5
attack: 2 Range 1; 1 Range 2
diff --git a/data/cards/tyrant/the_tyrant.yml b/data/cards/tyrant/the_tyrant.yml
index b3617a21..9a9253ec 100644
--- a/data/cards/tyrant/the_tyrant.yml
+++ b/data/cards/tyrant/the_tyrant.yml
@@ -1,7 +1,7 @@
name:
en: The Tyrant
de: Der Tyrann
-type: unit
+type: boss
ai:
en: Target-oriented intention mark
de: Ziel-orientiert Intensions Marke
diff --git a/latex/cards/de/kraken/the_kraken.tex b/latex/cards/de/kraken/the_kraken.tex
index c39bdc8e..aab392e4 100644
--- a/latex/cards/de/kraken/the_kraken.tex
+++ b/latex/cards/de/kraken/the_kraken.tex
@@ -4,7 +4,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeUnit{The Kraken}
+\cardtypeBoss{The Kraken}
\cardcontent{\textit{Leben: 5\\Angriff: 2 Range 1; 1 Range 2}}
\cardmodule{kraken}
\cardborder
diff --git a/latex/cards/en/kraken/the_kraken.tex b/latex/cards/en/kraken/the_kraken.tex
index 9e24c281..d629e07f 100644
--- a/latex/cards/en/kraken/the_kraken.tex
+++ b/latex/cards/en/kraken/the_kraken.tex
@@ -4,7 +4,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeUnit{The Kraken}
+\cardtypeBoss{The Kraken}
\cardcontent{\textit{Health: 5\\Attack: 2 Range 1; 1 Range 2}}
\cardmodule{kraken}
\cardborder
diff --git a/latex/cards/en/tyrant/the_tyrant.tex b/latex/cards/en/tyrant/the_tyrant.tex
index 86b9a9b5..df9ffa99 100644
--- a/latex/cards/en/tyrant/the_tyrant.tex
+++ b/latex/cards/en/tyrant/the_tyrant.tex
@@ -4,7 +4,7 @@
\begin{document}
\begin{tikzpicture}
-\cardtypeUnit{The Tyrant}
+\cardtypeBoss{The Tyrant}
\cardsplitcontent{AI: Target-oriented intention mark\\Health: 5 per player\\Movement: 3\\Attack: 2}{Shroud.\vspace{0.1cm} \\Permanents can be played on adjacent tiles.\vspace{0.1cm} \\}
\cardplaycost{0}
\cardmodule{tyrant}
diff --git a/latex/colors.tex b/latex/colors.tex
index c8add8d8..ff08ae4a 100644
--- a/latex/colors.tex
+++ b/latex/colors.tex
@@ -5,6 +5,7 @@
\definecolor{titlebg}{RGB}{30,30,30}
\definecolor{tokenbg}{RGB}{51,51,51}
+\definecolor{bossbg}{RGB}{0,100,200}
\definecolor{unitbg}{RGB}{0,100,200}
\definecolor{spellbg}{RGB}{80,180,0}
\definecolor{intentionbg}{RGB}{153,0,255}
diff --git a/latex/tikzcards.tex b/latex/tikzcards.tex
index 392f6f28..bc38b449 100644
--- a/latex/tikzcards.tex
+++ b/latex/tikzcards.tex
@@ -165,6 +165,8 @@
}
\newcommand{\cardtypeUnit}[1]{\cardtype{unitbg}{Unit}{\LARGE\sympawn}{#1}{#1}}
+\newcommand{\cardtypeBoss}[1]{\cardtype{bossbg}{Boss}{\LARGE\symking}{#1}{#1}}
+
\newcommand{\cardtypeSpellToken}[1]{
\cardtype{tokenbg}{Spell}{\Large\faBolt}{TOKEN}{{\Large TOKEN} \\ #1}
}
diff --git a/rules/en/rules.md b/rules/en/rules.md
index c48aae46..6fd3e3b1 100644
--- a/rules/en/rules.md
+++ b/rules/en/rules.md
@@ -203,12 +203,13 @@ While you control an untapped permanent or have a playable card in hand
* A set of cards they belong to
* A unique name
* A card type:
- * **[Spells](#spells)**
- * **[Units](#units)**
- * **[Artifacts](#artifacts)**
- * **[Equipments](#equipments)**
- * **[Potions](#potions)**
- * **[Itentions](#intentions)**
+ * **[Spell](#spells)**
+ * **[Unit](#units)**
+ * **[Boss](#boss)**
+ * **[Artifact](#artifacts)**
+ * **[Equipment](#equipments)**
+ * **[Potion](#potions)**
+ * **[Itention](#intentions)**
* All cards have during the game:
* An **owner**: The player from which's store the card originated
* A **controller**: The player currently controlling the card
@@ -381,6 +382,12 @@ Additional States a **unit** is in are represented by putting appropriate marker
* When a *warded* **unit** is dealt damage prevent that damage and remove that much **ward** marks from it
* Damage is always prevented completely independent of how many **ward** marks are on the *warded* **unit**
+# Boss
+
+* A **boss** is a unit
+* It can not be *destroyed* by effects that say so (e. g. Die!)
+* The **boss** type is used to differentiate special units in cooperative game modes
+
# Push [X]
* `X` can be neglected if it is 1
diff --git a/scripts/generate_card.py b/scripts/generate_card.py
index 6500a480..ce14d5a4 100755
--- a/scripts/generate_card.py
+++ b/scripts/generate_card.py
@@ -191,7 +191,7 @@ def generate_latex(card: MutableMapping, language='en'):
if 'buy' in card:
card_content += f'\\cardbuycost{{{card["buy"]}}}\n'
- if card['type'] == 'unit':
+ if card['type'] == 'unit' or card['type'] == 'boss':
unit_stats = []
abilities = []
for key in ['ai', 'health', 'movement', 'attack']: