iditacards/scripts/generate_cards.sh

47 lines
1 KiB
Bash
Executable file

#!/bin/bash
PARENT_DIR="${1:-cards}"
mkdir -p "$PARENT_DIR"
sqlite3 -init cards.sql < scripts/list_cards.sql | \
while IFS="|" read -r name energy health risk flavour image typename effects deckname cardcount; do
case $cardcount in
1) rarity=legendary ;;
2) rarity=epic ;;
3) rarity=rare ;;
4) rarity=common ;;
*) rarity=starting ;;
esac
mkdir -p "$PARENT_DIR/$deckname"
fname="$PARENT_DIR/$deckname/${name// /_}.tex"
yes "${fname%.tex}.pdf" | head -n "$cardcount" >> "$PARENT_DIR/$deckname.list"
cat <<EOF >"$fname"
\\documentclass{iditacard}
\\cardtype{$typename}
\\rarity{$rarity}
\\deck{$deckname}
\\begin{document}
\\begin{card}
\\art{$image}
EOF
[ "$energy" -gt 0 ] || echo " \\energy{$energy}" >>"$fname"
[ "$health" -gt 0 ] || echo " \\health{$health}" >>"$fname"
[ "$risk" -gt 0 ] || echo " \\risk{$risk}" >>"$fname"
cat <<EOF >>"$fname"
\\name{$name}
\\text{$effects}
\\flava{$flavour}
\\type{$typename}
\\end{card}
\\end{document}
EOF
done