From 5fc352517d82a11fa619a349af9985ae5dffbacf Mon Sep 17 00:00:00 2001
From: Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org>
Date: Tue, 13 Aug 2019 19:10:55 +0200
Subject: ...

---
 Makefile                             | 65 ++++++++++++++++++++++++++++++++++++
 headers/math.tex                     |  5 +++
 headers/tikz.tex                     | 11 ++++++
 main.tex                             | 17 ++++++++++
 src/game_design.tex                  |  4 +++
 src/game_design/attributes.tex       | 14 ++++++++
 src/game_design/damage_types.tex     | 18 ++++++++++
 src/game_design/magical_elements.tex | 30 +++++++++++++++++
 src/implementation.tex               |  0
 9 files changed, 164 insertions(+)
 create mode 100644 Makefile
 create mode 100644 headers/math.tex
 create mode 100644 headers/tikz.tex
 create mode 100644 main.tex
 create mode 100644 src/game_design.tex
 create mode 100644 src/game_design/attributes.tex
 create mode 100644 src/game_design/damage_types.tex
 create mode 100644 src/game_design/magical_elements.tex
 create mode 100644 src/implementation.tex

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a48ac73
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,65 @@
+################################################################################
+## Document Parameters #########################################################
+################################################################################
+# Name of the main file, without the .tex extension.
+DOCUMENT_FILENAME ?= main
+
+################################################################################
+## Binaries ####################################################################
+################################################################################
+PDFLATEX ?= pdflatex
+
+################################################################################
+## Deducing Main Target ########################################################
+################################################################################
+ifeq ($(strip $(PDFVIEWER)),)
+main_target: compile
+
+else
+main_target: view
+
+endif
+
+################################################################################
+## Basic Makefile Shenanigans ##################################################
+################################################################################
+COMMA =,
+
+################################################################################
+## Localising Relevant Files ###################################################
+################################################################################
+TEX_FILES = $(shell find ${CURDIR} -iname \*.tex)
+
+################################################################################
+## Making the Actual PDF #######################################################
+################################################################################
+$(DOCUMENT_FILENAME).pdf: $(TEX_FILES) Makefile
+	$(PDFLATEX) $(DOCUMENT_FILENAME).tex
+	$(PDFLATEX) $(DOCUMENT_FILENAME).tex
+	grep -i "\\(Reference\\|Citation\\).*undefined" \
+		$(DOCUMENT_FILENAME).log || true
+
+################################################################################
+## Secondary Targets ###########################################################
+################################################################################
+view: compile
+	$(PDFVIEWER) $(DOCUMENT_FILENAME).pdf
+
+compile: $(DOCUMENT_FILENAME).pdf
+	$(MAKE) clean_mess
+
+edit:
+	$(EDITOR) $(TEX_FILES)
+
+clean:
+	rm -f \
+		$(filter-out $(DOCUMENT_FILENAME).tex,$(wildcard $(DOCUMENT_FILENAME).*))
+
+################################################################################
+clean_mess:
+	rm -f \
+		$(filter-out $(DOCUMENT_FILENAME).tex, \
+			$(filter-out $(DOCUMENT_FILENAME).pdf, \
+				$(wildcard $(DOCUMENT_FILENAME)\.*) \
+			) \
+		)
diff --git a/headers/math.tex b/headers/math.tex
new file mode 100644
index 0000000..2be116e
--- /dev/null
+++ b/headers/math.tex
@@ -0,0 +1,5 @@
+\usepackage{amsmath}
+\usepackage{amssymb}
+
+%\newtheorem{definition}{Definition}
+%\newtheorem{example}{Example}
diff --git a/headers/tikz.tex b/headers/tikz.tex
new file mode 100644
index 0000000..d921034
--- /dev/null
+++ b/headers/tikz.tex
@@ -0,0 +1,11 @@
+\usepackage{tikz}
+
+\usetikzlibrary{arrows}
+\usetikzlibrary{automata}
+\usetikzlibrary{backgrounds}
+\usetikzlibrary{calc}
+\usetikzlibrary{decorations.pathreplacing}
+\usetikzlibrary{matrix}
+\usetikzlibrary{patterns}
+\usetikzlibrary{positioning}
+\usetikzlibrary{shapes,shapes.arrows,shapes.callouts,shapes.symbols}
diff --git a/main.tex b/main.tex
new file mode 100644
index 0000000..af55d88
--- /dev/null
+++ b/main.tex
@@ -0,0 +1,17 @@
+\documentclass[a4paper]{scrartcl}
+\usepackage[english]{babel}
+\usepackage{microtype}
+
+\input{headers/tikz}
+\input{headers/math}
+
+\title{Tacticians Online}
+\subtitle{Design Document}
+
+\begin{document}
+\maketitle
+
+\input{src/game_design}
+\input{src/implementation}
+
+\end{document}
diff --git a/src/game_design.tex b/src/game_design.tex
new file mode 100644
index 0000000..ed614d5
--- /dev/null
+++ b/src/game_design.tex
@@ -0,0 +1,4 @@
+\section{Game Design}
+\input{src/game_design/attributes}
+\input{src/game_design/damage_types}
+\input{src/game_design/magical_elements}
diff --git a/src/game_design/attributes.tex b/src/game_design/attributes.tex
new file mode 100644
index 0000000..ad193de
--- /dev/null
+++ b/src/game_design/attributes.tex
@@ -0,0 +1,14 @@
+\subsection{Attributes}
+\label{character-attributes}
+\begin{description}
+\item[Accuracy] \ldots
+\item[Critical Hit Chance]
+   Likeliness for each attack to be a critical hit (see~\ref{critical-hit}).
+   From 0 to 100\%.
+\item[Damage Modifier] \ldots
+\item[Dodge Chance] \ldots
+\item[Double Hit Chance] \ldots
+\item[Health Points] \ldots
+\item[Movement Points] \ldots
+\item[Parry Chance] \ldots
+\end{description}
diff --git a/src/game_design/damage_types.tex b/src/game_design/damage_types.tex
new file mode 100644
index 0000000..fedbb26
--- /dev/null
+++ b/src/game_design/damage_types.tex
@@ -0,0 +1,18 @@
+\subsection{Damage Types}
+\label{damage-types}
+There are \textbf{3} damage types: \textit{slashing}, \textit{bludgeoning}, and
+\textit{piercing}. Additionally, the term \textit{base} damage is used when
+describing damage applied to all three at the same time. Each damage type is
+independent, in the sense that an attack of type \textit{A} will only be
+affected by the defense of type \textit{A} (and \textit{base} defense). This
+encourages players to diversify both their attack and defense types so that they
+are able to exploit weaknesses in their opponents' defenses all while trying to
+avoid their adversaries doing the same. By limiting the types of damage types to
+3, there should be enough depth for players to create interesting team
+compositions without the complexity that might lead them to just not bother
+taking it into consideration in their planning. It's very much like the
+\textit{rock–paper–scissors} or Fire Emblem's \textit{Weapon Triangle}, except
+that you are not limited to a single type, and that the type(s) you use for
+attack do not have to match the one(s) you use for defense.
+
+Magical elements (Subsection~\ref{magical-elements}) are not damage types.
diff --git a/src/game_design/magical_elements.tex b/src/game_design/magical_elements.tex
new file mode 100644
index 0000000..c2b6f86
--- /dev/null
+++ b/src/game_design/magical_elements.tex
@@ -0,0 +1,30 @@
+\subsection{Magical Elements}
+\label{magical-elements}
+\begin{figure}
+\begin{center}
+\begin{tikzpicture}[auto,>=stealth']
+   \tikzstyle{primary} = [draw,rectangle];
+   \tikzstyle{secondary} = [draw,diamond];
+   \node[primary] (WIND) {Wind};
+   \node[secondary,below right of = WIND] (SNOW) {Snow};
+   \node[primary,below right of = SNOW] (WATER) {Water};
+   \node[secondary,below left of = WATER] (PLANT) {Plant};
+   \node[primary,below left of = PLANT] (EARTH) {Earth};
+   \node[secondary,above left of = EARTH] (METAL) {Metal};
+   \node[primary,above left of = METAL] (FIRE) {Fire};
+   \node[secondary,above right of = FIRE] (LIGHTNING) {Lightning};
+
+   \draw (WIND) -- (LIGHTNING);
+   \draw (WIND) -- (SNOW);
+   \draw (WATER) -- (SNOW);
+   \draw (WATER) -- (PLANT);
+   \draw (EARTH) -- (PLANT);
+   \draw (EARTH) -- (METAL);
+   \draw (FIRE) -- (METAL);
+   \draw (FIRE) -- (LIGHTNING);
+\end{tikzpicture}
+\end{center}
+\caption{Magical Elements Wheel}
+\label{magical-elements-wheel}
+\end{figure}
+
diff --git a/src/implementation.tex b/src/implementation.tex
new file mode 100644
index 0000000..e69de29
-- 
cgit v0.12-29-g3973

