From c7d05ac87cc95518d024ec1323213e0c3e260465 Mon Sep 17 00:00:00 2001 From: Malin Freeborn <malinfreeborn@posteo.net> Date: Fri, 9 Dec 2022 01:07:47 +0100 Subject: [PATCH] switch to submodule --- .gitmodules | 3 + config | 1 + config/.gitignore | 34 - config/LICENCE.md | 25 - config/Makefile | 14 - config/README.md | 54 -- config/bind.sty | 4 - config/docs.tex | 177 ----- config/layout.sty | 886 ------------------------- config/loot.sty | 80 --- config/main.tex | 25 - config/monsters.sty | 1547 ------------------------------------------- config/stats.sty | 615 ----------------- config/test.tex | 479 -------------- 14 files changed, 4 insertions(+), 3940 deletions(-) create mode 100644 .gitmodules create mode 160000 config delete mode 100644 config/.gitignore delete mode 100644 config/LICENCE.md delete mode 100644 config/Makefile delete mode 100644 config/README.md delete mode 100644 config/bind.sty delete mode 100644 config/docs.tex delete mode 100644 config/layout.sty delete mode 100644 config/loot.sty delete mode 100644 config/main.tex delete mode 100644 config/monsters.sty delete mode 100644 config/stats.sty delete mode 100644 config/test.tex diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..bfcb8359 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "config"] + path = config + url = https://gitlab.com/bindrpg/config.git diff --git a/config b/config new file mode 160000 index 00000000..04f909bc --- /dev/null +++ b/config @@ -0,0 +1 @@ +Subproject commit 04f909bc9bb64d78932c5d427f267fb6e580ce5d diff --git a/config/.gitignore b/config/.gitignore deleted file mode 100644 index 64ef7163..00000000 --- a/config/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -*.aux -*.bbl -*.blg -*.dvi -*.idx -*.ilg -*.ind -*.log -*.synctex.gz -*.toc -*.log -*.tmp -*pdf -*swp -.no.md -*.acn -*.acr -*.alg -*.glg -*.glo -*.gls -*.glsdefs -*.ist -*ist -*.maf -svg-inkscape -*.out -*.ptc -old -*.png -*.jpeg -*.tiff -*.xcf -*.xmpi diff --git a/config/LICENCE.md b/config/LICENCE.md deleted file mode 100644 index f18c4a67..00000000 --- a/config/LICENCE.md +++ /dev/null @@ -1,25 +0,0 @@ -The MIT License (MIT) -===================== - -Copyright © `2020` `Malin Freeborn` - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the “Software”), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/config/Makefile b/config/Makefile deleted file mode 100644 index e5949843..00000000 --- a/config/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -filename=docs -output: ${filename}.pdf -${filename}.pdf: ${filename}.tex bind.sty monsters.sty - pdflatex ${filename}.tex -docs.aux: - pdflatex docs.tex - pdflatex docs.tex -docs: docs.aux - pdflatex docs.tex -test: - pdflatex test.tex -all: docs test -clean: - rm -f *pdf *.aux *.toc *.acn *.acr *.log *.ptc *.out *.idx *.ist *.alg *.glo diff --git a/config/README.md b/config/README.md deleted file mode 100644 index de931539..00000000 --- a/config/README.md +++ /dev/null @@ -1,54 +0,0 @@ -These config files make the BIND RPG books look and act the way they do. - -# Usage - -To make a book, put this config folder into the same directory. - -> git subtree add -P config git@gitlab.com:bindrpg/config.git master - -Then copy main.tex into your main folder and make a symbolic link to the `.gitignore` file. - -> cp config/main.tex . - -> cp config/.gitignore . - -Edit 'main.tex', and input your tex files by writing `\include{my_file.tex}. - -## Creatures - -You can include pseudo-randomo creatures in your adventure by summoning the names from monsters. -. For example, to place a random elf in your game, just write `\elf`, and an elf will be magically summoned unto your adventure. - -``` -\elf -``` - -You can give the character a title and name by writing '\npc{symbol}{name}' as an optional argument. -For example: - -``` -\humanalchemist[\npc{\M}{Rincewind}] - -``` - -This would make a heading called **Rincewind** in bold with a male symbol, and provide pseudo-random alchemist-appropriate stats underneath. - -| Syntax | Symbol | -|:------:|:------:| -| \\M | Male | -| \\F | Female | -| \\T | Team | -| \\D | Undead | -| \\N | Nura | - -For a complete list of all the creatures and characters which can be used, see the 'monsters.tex' file. -For more details on the syntax, have a look at examples in *Adventures in Fenestra*, or read the git's wiki. - -# TeXnical Details - -This thing's handled as a subtree in the other documments, so changing it will change all BIND books. - -Personally, I keep it in a directory by the others. This allows you to do: - -> git subtree -P config pull ../config master - diff --git a/config/bind.sty b/config/bind.sty deleted file mode 100644 index c494329f..00000000 --- a/config/bind.sty +++ /dev/null @@ -1,4 +0,0 @@ -\RequirePackage{config/layout} -\RequirePackage{config/loot} -\RequirePackage{config/stats} -\RequirePackage{config/monsters} diff --git a/config/docs.tex b/config/docs.tex deleted file mode 100644 index 42b065ec..00000000 --- a/config/docs.tex +++ /dev/null @@ -1,177 +0,0 @@ -\documentclass[a4paper,openany]{book} -\usepackage{layout} -\usepackage{loot} -\usepackage{stats} -\usepackage{monsters} -\usepackage{lipsum} - -\date{\today} - -\begin{document} - -\chapter{How to Make Monsters} - -\section{Introduction} - -\begin{multicols}{2} - -\subsection{All about Dragons} - -\begin{boxtext} - -As you embark upon your first adventure, you summon your first monster with a simple backstroke. -You write down {\tt\textbackslash dragon}, and behold! - -\end{boxtext} - -\dragon - -Each time you conjure the dragon, it will look a little different. -The next one might look like this: - -\dragon - -If you find it hard to tell the difference between all the dragons, you can give them names in square brackets with the {\tt\textbackslash NPC command}, like this: - -{\tt\textbackslash dragon[\textbackslash npc\{\textbackslash M\}\{Bob the dragon\}] } - -Which then makes a male dragon called ``Bob'': - -\dragon[\npc{\M}{Bob the Dragon}] - -The first field can also indicate a female with an {\tt\textbackslash F} (\F), a team of people with a {\tt\textbackslash T} (\T), or undead with \textbackslash D (\D). - -With a little study, you can summon dozens of monsters, including {\tt\textbackslash humansoldier}, {\tt\textbackslash basilisk}, and {\tt \textbackslash ghoul}. - -\subsection{Individual NPCs} - -Individual characters can be created by using the {\tt\textbackslash npc} command then the \textbackslash person command, with its nine arguments: - -\begin{verbatim} - -\npc{\M}{Alice} - -\person{0}% STRENGTH -{1}% DEXTERITY -{-1}% SPEED -{{2}% INTELLIGENCE -{0}% WITS -{0}}% CHARISMA -{0}% DR -{1}% COMBAT -{Academics 1, Survival 1}% SKILLS -{\longsword, adventuring equipment}% EQUIPMENT -{} - -\end{verbatim} - -\npc{\M}{Alice} -\person{0}% STRENGTH -{1}% DEXTERITY -{-1}% SPEED -{{2}% INTELLIGENCE -{0}% WITS -{0}}% CHARISMA -{0}% DR -{1}% COMBAT -{Academics 1, Survival 1}% SKILLS -{\longsword, adventuring equipment}% EQUIPMENT -{} - -You can add things for these people to say with a {\tt\textbackslash begin\{speechtext\}} command: - -\begin{speechtext} - - ``Would you tell me, please, which way I ought to go from here?'' - - ``That depends a good deal on where you want to get to.'' - -\end{speechtext} - -\subsection{And now for something completely different} - -This is a magical item. - -\begin{verbatim} - -\magicitem{Noodle of Death}% NAME - {Extinguish}% SPELL - {Divinity (FSM)}% PATH - {Instant}% DURATION - {Pocket Spell}% TYPE - {2}% Potency - {5}% MP - -\end{verbatim} - -\magicitem{Noodle of Death}% NAME - {Extinguish}% SPELL - {Divinity (FSM)}% PATH - {Instant}% DURATION - {Pocket Spell}% TYPE - {2}% Potency - {5}% MP - -\subsection{Encounters} - -Make encounter tables like this: - -\begin{verbatim} - - \begin{encounters}{Wonderland} - - Fields & Gardens & Results \\\hline - - \li & Doormouse \\ - \li & Dodo \\ - \li \lii Unicorn \\ - \li \lii Red Queen \\ - & \lii Black Queen \\ - & \lii Green Queen \\ - -\end{verbatim} - -\begin{encounters}{Wonderland} - - Fields & Gardens & Results \\\hline - - \li & Doormouse \\ - \li & Dodo \\ - \li \lii Unicorn \\ - \li \lii Red Queen \\ - & \lii Black Queen \\ - & \lii Green Queen \\ - - -\end{encounters} - -And charts about roll successes like this: - -\begin{verbatim} - - - \begin{rollchart} - - Roll & Result \\\hline - - 12 & Success \\ - - 11 & Failure \\ - - \end{rollchart} - -\end{verbatim} - -\begin{rollchart} - - Roll & Result \\\hline - - 12 & Success \\ - - 11 & Failure \\ - -\end{rollchart} - -\end{multicols} - -\end{document} diff --git a/config/layout.sty b/config/layout.sty deleted file mode 100644 index 1a1eb185..00000000 --- a/config/layout.sty +++ /dev/null @@ -1,886 +0,0 @@ -\ProvidesPackage{config/layout} - -\RequirePackage[table]{xcolor} -\RequirePackage[acronym]{glossaries} -\setacronymstyle{short-long-desc} -\RequirePackage{glossary-mcols} -\RequirePackage{glossaries-extra} -\RequirePackage{gfsartemisia-euler} % fancy fonts -\RequirePackage[T1]{fontenc} % -\RequirePackage{stmaryrd} % For boxy Maths symbols -\RequirePackage{wasysym} % for circly Maths symbols -\RequirePackage{dingbat} % for curly section symbols -\RequirePackage{appendix} -\RequirePackage{geometry} % changes page borders - \geometry{margin=50pt} -\RequirePackage[ - scale=1, - angle=0, - opacity=1, - contents={} -]{background}% for fancy borders -\RequirePackage{svg} -\RequirePackage{alltt} - \svgsetup{width=\textwidth} -\RequirePackage{tabularx} -\RequirePackage{wrapfig} -\RequirePackage{float} -\RequirePackage{epigraph} % part quotes -\RequirePackage{microtype} % more precise word-placement -\RequirePackage{makeidx} -\RequirePackage[english]{babel} -\RequirePackage{multicol} - \raggedcolumns -\RequirePackage{graphicx} -\RequirePackage{etoolbox} -\RequirePackage{titlesec,titletoc} -\RequirePackage{needspace} -\RequirePackage{tikz} - \usetikzlibrary{calc,mindmap,trees}% calc for fancy borders - \usetikzlibrary{intersections}% for very fancy borders with intersecting lines - \usetikzlibrary{shapes.misc}% for very fancy \section -\RequirePackage{pifont} -\RequirePackage{colortbl} -\RequirePackage[poster]{tcolorbox} -\tcbuselibrary{breakable,raster} -\tcbuselibrary{skins} % used for wiggly-border boxes - -%%%%% Add fancy page chapter sides %%%%% -\pagestyle{plain}% needed for fancy borders -\newcounter{chapshift} -\addtocounter{chapshift}{-1} - -\newcounter{pageDarkness} -\setcounter{pageDarkness}{20} - -\newcommand\pageSideColor{% - black!\arabic{pageDarkness}% -} - -\newtoggle{sideTab} -\settoggle{sideTab}{true} - -\newcommand\ChapFrame{% - \AddEverypageHook{% - \iftoggle{sideTab}% - { - \ifodd\value{page} - \backgroundsetup{contents={% - \begin{tikzpicture}[overlay,remember picture] - \node[ - fill=\pageSideColor, - inner sep=5pt, - rectangle, - text width=1.2cm, - text height=4.33cm, - align=center, - anchor=north east - ] - at ($ (current page.north east) + (-0cm,-2*\thechapshift cm) $) - {\rotatebox{90}{\hspace*{.3cm}\parbox[c][1.5cm][t]{3.4cm}{% - \raggedright\textcolor{white}{\scshape\rightmark}}}}; - \end{tikzpicture}% - }% - } - \else - \backgroundsetup{contents={% - \begin{tikzpicture}[overlay,remember picture] - \node[ - fill=\pageSideColor, - inner sep=5pt, - rectangle, - text width=1.2cm, - text height=4.33cm, - align=center, - anchor=north west - ] - at ($ (current page.north west) + (-0cm,-2*\thechapshift cm) $) - {\rotatebox{90}{\hspace*{.3cm}\parbox[c][1.5cm][t]{3.4cm}{% - \raggedright\textcolor{white}{\scshape\leftmark}}}}; - \end{tikzpicture}% - }% - } - \fi - } - {}% - \BgMaterial - }% - \stepcounter{chapshift}% -} - -% redefinition of \chaptermark to contain only the title -\renewcommand\chaptermark[1]{\markboth{\thechapter.~#1}{}} - - -\RequirePackage{xr-hyper} -\RequirePackage[ -pdfstartpage=1, -hidelinks=true, -bookmarks=true]% -{hyperref} - -%%%%%%%%%% Allow for external referencing - -\newcommand*{\externalReferent}[1]{ - \newtoggle{#1} - \IfFileExists{../#1/main.aux}{ - \makeatletter - \@addtofilelist{../#1/main.tex} - \@addtofilelist{../#1/main.aux}% - \makeatother - \externaldocument{../#1/main}% - \settoggle{#1}{true} - }% - {\typeout{No file #1.} - \settoggle{#1}{false} - } -} - - -%%%%%%%%%% Section Headers %%%%%%%%%% - -%%% Allow quotes under part headers -\makeatletter -\let\old@endpart\@endpart -\renewcommand\@endpart[1][]{% -\begin{quote}#1\end{quote}% -\old@endpart} -\makeatother - -%%%%%%%%%% Give higher penalty to ~ -% The ~ character usually functions as a space with a high penalty for line breaks. -% This stops the line breaks altogether, so we can write 'Athletics 3', without a line-break between the Skill and the number. - -\DeclareRobustCommand{\nobreakspace}{% - \leavevmode\nobreak\ } -\catcode `\~=13 -\def~{\nobreakspace{}} - -%%%%% Make table of contents two column - -\makeatletter -\renewcommand\tableofcontents{% -\begin{multicols}{2} - - \@starttoc{toc}% -\end{multicols} -} -% and make repeating function -\newcommand{\Repeat}[1]{% - \expandafter\@Repeat\expandafter{\the\numexpr #1\relax}% -} - -\def\@Repeat#1{% - \ifnum#1>0 - \expandafter\@@Repeat\expandafter{\the\numexpr #1-1\expandafter\relax\expandafter}% - \else - \expandafter\@gobble - \fi -} -\def\@@Repeat#1#2{% - \@Repeat{#1}{#2}#2% -} -\makeatother - - -\newcommand{\chapnumfont}{ - \fontsize{50}{0} - \selectfont -} - -% change bullet points - -\renewcommand{\labelitemi}{\ding{250}} -\renewcommand{\labelitemii}{\ding{254}} - -%%%%%%%%%% Encounter Numbers - -\newcounter{encnum} -\setcounter{encnum}{1} -\newcommand{\encsymbol}{\ding{168}} -\newcommand{\encnum}{\ifnumcomp{\value{encnum}}{=}{1}{$A$}{\arabic{encnum}}\encsymbol\addtocounter{encnum}{1}} -\newcommand{\sqarea}{town} - -\newcommand{\headingtype}{CHAPTER} - -\newcommand{\pic}[1]{ - \needspace{4cm} - \noindent% - \IfFileExists{images/#1.svg}{% - \noindent\includesvg[width=\linewidth]{images/#1} - }{% - \includegraphics[width=\linewidth]{images/#1.jpg} - } - -} - -\newcommand{\sidepic}[3][5]{ - \needspace{4cm} - \begin{wrapfigure}{R}{.#1\linewidth} - \noindent% - \IfFileExists{images/#2.svg}{% - \includesvg[width=\linewidth]{images/#2} - }{ - \includegraphics[width=\linewidth]{images/#2.jpg} - } - #3 - \end{wrapfigure} -} - -\newcommand{\toppic}[2]{ - \begin{figure*}[t!] - \IfFileExists{images/#1.svg}{ - \includesvg[width=\textwidth]{images/#1} - }{ - \includegraphics[width=\textwidth]{images/#1.jpg} - } - #2 - \end{figure*} -} - -\newcommand{\toppicBorder}[2]{ - \begin{figure*}[t!] - \begin{tcolorbox}[before upper={\parindent0pt},colframe=black,colback=gray] - \IfFileExists{images/#1.svg}{ - \includesvg[width=\textwidth]{images/#1} - }{ - \includegraphics[width=\textwidth]{images/#1.jpg} - } - #2 - \end{tcolorbox} - \end{figure*} -} - -\newcommand{\bottompic}[2]{ - \begin{figure*}[b!] - \IfFileExists{images/#1.svg}{ - \includesvg[width=\textwidth]{images/#1} - }{ - \includegraphics[width=\textwidth]{images/#1.jpg} - } - #2 - \end{figure*} -} - -\newcommand{\bottompicBorder}[2]{ - \begin{figure*}[b!] - \begin{tcolorbox}[before upper={\parindent0pt},colframe=black,colback=gray] - \IfFileExists{images/#1.svg}{ - \includesvg[width=\textwidth]{images/#1} - }{ - \includegraphics[width=\textwidth]{images/#1.jpg} - } - #2 - \end{tcolorbox} - \end{figure*} -} - -% Define the 'ornamentedbox' environment - -% Wiggly Borders -\makeatletter -\tikzset{ - use path for main/.code={% - \tikz@addmode{% - \expandafter\pgfsyssoftpath@setcurrentpath\csname tikz@intersect@path@name@#1\endcsname - }% - }, - use path for actions/.code={% - \expandafter\def\expandafter\tikz@preactions\expandafter{\tikz@preactions\expandafter\let\expandafter\tikz@actions@path\csname tikz@intersect@path@name@#1\endcsname}% - }, - use path/.style={% - use path for main=#1, - use path for actions=#1, - } -} -\makeatother - -\colorlet{ornamentedFrameInner}{white} -\colorlet{ornamentedFrameOuter}{gray} - -\tikzset{ornamented frame inner/.style={color=ornamentedFrameInner, - line width=2pt}, - ornamented frame outer/.style={color=ornamentedFrameOuter, - line width=3pt}} - -\tcbsubskin{ornamented}{empty}{ - skin first=ornamented, skin last=ornamented, - title engine=standard, - colbacktitle=white, - frame code={ - % Account for the line widths in order not to draw beyond the bounding - % box---except for a few very small details for which this is intentional. - \coordinate (north west) at ([shift={(1.5pt,-1.5pt)}]frame.north west); - \coordinate (north east) at ([shift={(-1.5pt,-1.5pt)}]frame.north east); - \coordinate (south east) at ([shift={(-1.5pt,1.5pt)}]frame.south east); - \coordinate (south west) at ([shift={(1.5pt,1.5pt)}]frame.south west); - % - \foreach \xoffset/\point in {34pt/north west, -34pt/north east, - 34pt/south west, -34pt/south east} { - \fill[color=ornamentedFrameOuter] - ([xshift=\xoffset]\point) circle[radius=2.5pt]; - } - % - \path[name path=ornament 1] - ([yshift=-4pt]north west) - [rounded corners=0.5pt] -- ++(23pt,0) - [rounded corners=2pt] -- ++(3pt,-4pt) - -- ([shift={(-26pt,-8pt)}]north east) - [rounded corners=0.5pt] -- ++(3pt,4pt) - [rounded corners=4pt] -- ([yshift=-4pt]north east) - -- ([yshift=4pt]south east) - [rounded corners=0.5pt] -- ++(-23pt,0) - [rounded corners=2pt] -- ++(-3pt,4pt) - -- ([shift={(26pt,8pt)}]south west) - [rounded corners=0.5pt] -- ++(-3pt,-4pt) - [rounded corners=4pt] -- ([yshift=4pt]south west) - -- cycle; - % - \path[rounded corners=0.5pt, name path=ornament 2] - ([yshift=-20pt]north west) - -- ++(-4pt,3pt) - -- ++(0,4pt) - to[out=0, in=-90] ([shift={(8pt,0pt)}]north west) - -- ([shift={(34pt,0pt)}]north west) - -- ([shift={(-8pt,0pt)}]north east) - to[out=-90, in=180] ([shift={(4pt,-13pt)}]north east) - -- ++(0,-4pt) - -- ++(-4pt,-3pt) - -- ([yshift=20pt]south east) - -- ++(4pt,-3pt) - -- ++(0,-4pt) - to[out=180, in=90] ([shift={(-8pt,0pt)}]south east) - -- ([shift={(8pt,0pt)}]south west) - to[out=90, in=0] ([shift={(-4pt,13pt)}]south west) - -- ++(0,4pt) - -- ++(4pt,3pt) - -- cycle; - % - \draw[ornamented frame outer, use path=ornament 1]; - \draw[ornamented frame outer, use path=ornament 2]; - \draw[ornamented frame inner, use path=ornament 1]; - \draw[ornamented frame inner, use path=ornament 2]; - % - \foreach \xoffset/\point in {34pt/north west, -34pt/north east, - 34pt/south west, -34pt/south east} { - \fill[color=black] - ([xshift=\xoffset]\point) circle[radius=3pt]; - } - } -} - -% These parameters---especially those related to geometry---are better located -% here in a style than in the subskin definition (see the Subskins section of -% the tcolorbox manual). -\tcbset{ornamented/.style={skin=ornamented, toptitle=14.5pt, top=15pt, bottom=9.5pt, - coltitle=black} -} - -% Convenient style to use with a tcolorbox preceded by text (or anything), -% when one wants to prevent any page break before the tcolorbox. -\tcbset{skip and no break/.style={ - before={\par\nopagebreak\vspace{2ex}\noindent}} -} - -% Style suitable for an “on line” (in the middle of a paragraph) -% 'ornamentedbox'. -\tcbset{my on line/.style={ - capture=hbox, tcbox raise base, top=14pt, bottom=14pt, - before={\kern 5pt}, after={\kern 5pt}} -} - -%%%%% TColorBox Basic Setup %%%%% - -\tcbset{enhanced, -ornamented, -left=3pt, -right=3pt, -code={\rowcolors{2}{}{gray!10}}, -before upper={\parindent15pt}, -fonttitle=\bfseries,coltitle=black,attach boxed title to top center= -{yshift=-0.25mm-\tcboxedtitleheight/2,yshifttext=-2mm-\tcboxedtitleheight/2}, -boxed title style={boxrule=-0.5mm, -frame code={ \path[tcb fill frame] ([xshift=-4mm]frame.west) --- (frame.north west) -- (frame.north east) -- ([xshift=4mm]frame.east) --- (frame.south east) -- (frame.south west) -- cycle; }, -interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west) --- (interior.north west) -- (interior.north east) --- ([xshift=2mm]interior.east) -- (interior.south east) -- (interior.south west) --- cycle;} -} -} - - -\newtcolorbox{boxtext}[1][]{ornamented,colback=white,fonttitle=\scshape, #1} - -\newcommand{\sidebox}[2][23]{ - \iftoggle{verbose}{ - \begin{wrapfigure}{R}{.#1\textwidth} - #2 - \end{wrapfigure} - }{ - #2 - - } -} - -% Chapter Heading Color -\colorlet{chapnumcol}{black!100} - -%%%%% Section Formatting %%%%% - -\newcommand{\frontpage}[3]{ - \iftoggle{verbose}{ - \begin{titlepage} - \centering - \vspace{2cm} - {\scshape\Huge\bfseries #1\par} - \vspace{2cm} - \includegraphics[width=0.6\textwidth]{#3}\par\vspace{1cm} - {\Large #2\par} - \vspace{1.5cm} - {\large Last edited \today\par} - - \end{titlepage} - \cleardoublepage - }{} -} - -\titleformat{\chapter}[display] -{\bfseries} -{% - \ChapFrame - \ifnum\value{pageDarkness}<80 - \addtocounter{pageDarkness}{7} - \else - \colorlet{chapnumcol}{black!40} - \fi - \hspace*{-1.5em} -\begin{tikzpicture} - \node[minimum width=\linewidth+3em, text=white, fill=\pageSideColor, inner sep=1, outer sep=0, anchor=south] (rectinit) {\Huge \headingtype}; - \node[minimum width=.75\textwidth, text=white, inner sep=3, outer sep=0, anchor=south west, text width=.75\textwidth, align=right] at (rectinit.south west) (chapname) {}; - \node[minimum width=.25\textwidth, inner sep=-5, outer sep=0, anchor=south west, text width=.25\textwidth, align=left] at (chapname.south east) {\chapnumfont\textcolor{chapnumcol}{\Roman{chapter}}}; -\end{tikzpicture}} -{0pt} -{\Huge} - - -\newcommand\titlebar{% -\tikz[baseline,trim left=1em,trim right=3cm] { - \fill [\pageSideColor] (2.5cm,-1ex) rectangle (\linewidth+1.5em,2.5ex); - \node [ - fill=white, - text= \pageSideColor, - anchor= base east, - rounded rectangle, - minimum height=3.5ex] at (2.9cm,0) { - \textbf{\arabic{section}} - }; -}% -} -\titleformat{\section}{\large\needspace{10em}}{\titlebar}{0.1cm}{\textcolor{white}} -\renewcommand*{\thesection}{\arabic{section}} - -\titleformat{\subsection} -{\needspace{7em}\normalfont\large\bfseries}{\thesubsection}{1em}{} - -% -\titleformat{\subsubsection} -{\needspace{4em}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{} - -%%%%% Character Sheet Tracker - - \newcounter{track} - \setcounter{track}{18} - \newcommand{\tracker}{\center\noindent\arabic{track}\addtocounter{track}{-1}\vspace{.54cm} - - } - -%%%%% NPC Names - -\newcommand{\name}{} -\newcommand{\personality}{} -\newcommand{\mannerism}{} -\newcommand{\archetype}{} -\newcommand{\npcsymbol}{} -\newcommand{\npc}[2]{\settoggle{personality}{false}\renewcommand{\name}{#1 #2}\renewcommand{\npcsymbol}{#1}} -\newcommand{\NPC}[5]{\renewcommand{\name}{#1 #2} -\renewcommand{\npcsymbol}{#1} -\settoggle{personality}{true} -\renewcommand{\personality}{#3} -\renewcommand{\mannerism}{#4} -\renewcommand{\archetype}{#5} -} -\newcommand{\T}{\opposition\settoggle{team}{true}} % groups -\newcommand{\M}{\mars} % male -\newcommand{\F}{\venus} % female -\newcommand{\E}{\mercury} % blood casters -\newcommand{\A}{\taurus} % creature -\newcommand{\N}{\leftmoon} % nura -\newcommand{\D}{\fullmoon} % undead - -%%%%%%%%%%%%%%%%%%%% TOGGLES %%%%%%%%%%%%%%%%%%%% - -\newtoggle{verbose} -\settoggle{verbose}{true} -\newtoggle{personality} -\settoggle{personality}{false} - -% This toggle tells you if this is just one creature or a team. -\newtoggle{team} -\settoggle{team}{false} - -\iftoggle{verbose}{ - \setcounter{tocdepth}{1} - \setcounter{secnumdepth}{1} -} - -\newcounter{r4} -\setcounter{r4}{\day} -\addtocounter{r4}{1} - \whileboolexpr{ - test {\ifnumcomp{\value{r4}}{>}{4}} - } - {\addtocounter{r4}{-3}} - -\newcounter{r2} -\setcounter{r2}{\value{r4}} -\newcounter{r2b} - \setcounter{r2b}{\value{r2}} - \addtocounter{r2b}{-1} -\newcounter{r2c} -\setcounter{r2c}{2} -\newcounter{r3} -\setcounter{r3}{\month} - \divide\value{r3} by 4 -\newcounter{r3b} - \setcounter{r3b}{\value{r4}} - \addtocounter{r3b}{-1} -\newcounter{r3c} - \setcounter{r3c}{0} -\newcounter{r4b} - \setcounter{r4b}{\day} -\newcounter{r12} -\setcounter{r12}{\month} -\newcounter{enc} -\newcounter{list} -\newcounter{spelllevel} -\setcounter{spelllevel}{0} - -\newcounter{age} -\setcounter{age}{1} -\newcounter{gold} -\setcounter{gold}{\day} -\setcounter{enc}{0} - - -%%%%%%%%%%%%%%%%%%%% LAYOUT %%%%%%%%%%%%%%%%%%%% -\makeindex -\raggedbottom - -\newcommand{\currentsphere}{magic} - -\newcommand{\sphere}[1]{% - \setcounter{spelllevel}{0}% - \renewcommand{\currentsphere}{#1}% - \index{#1}% - \section{\currentsphere} -}% - -\newcommand{\spelllevel}{% - \needspace{10em} - \addtocounter{spelllevel}{1}% - \subsection{\currentsphere~ Level \arabic{spelllevel}}% -} - -\newcommand{\enhancement}[3]{% - \paragraph[(#1) #2: #3]{(#1) Enhancement -- #2:}% - \index{Enhancement!#2}% -} - -\newcommand{\magicitem}[7]{% - \vspace{2em}\needspace{4em}\noindent\textbf{#1}% - \index{Magical Item!#1} - - \noindent - \textit{Spells: #2, }% - \textit{Path: #3, }% - \textit{Duration: #4, }% - \textit{Type: #5, }% - \textit{Potency: +#6, }% - \textit{MP: #7}% - % Type can be 'Pocket Spell', 'Talisman', or 'Artefact'. - \needspace{2em}% -} - -\newcommand{\manalake}[8]{ - \subsection{#1 (Level #8)} - - \textit{Spells: #2, }\textit{Path: #3, }\textit{Duration: #4, }\textit{Type: #5, }\textit{Potence: #6, }\textit{#7 MP}% Type can be 'pocket spell', 'magical item', or 'artefact'. - \index{Mana Lakes!#1} - \vspace{.3em} -} - -\newcommand{\spell}[4]{ - \subsubsection[#1: #4]{#1} - - {\it Type: #2, Skill: #3} - - \noindent% -} - -% Toggles for knacks - -%%%%%%%%%%%%%%%%%%%% Environments %%%%%%%%%%%%%%%%%%%% - -\newenvironment{speechtext}{ - \begin{boxtext}\it -\begin{quotation}\noindent}% -{\end{quotation} -\end{boxtext}% -} - -\newenvironment{rolltable}% -{\vspace{.3cm}\begin{tabular}{|lp{.8\textwidth}} - - -Roll & Result \\ -\hline - -}% -{\end{tabular}} - - -\newenvironment{exampletext}{\needspace{2em}\vspace{.3cm} - -\rule{.9\linewidth}{0.2pt} - -\vspace{.3cm} - -\it}{\normalfont\vspace{2em}} - -\newtcolorbox{xpchart}[1]{tabularx={l|X},adjusted title=XP Rewards for #1, - bottom=10pt, - left=3pt, - right=3pt, - code={\rowcolors{3}{}{gray!10}} - } - -% this shows encounters, and the two counters below show the encounter number - -\newtcolorbox[use counter=enc, use counter=list]{encounters}[1]{ - ornamented, - adjusted title=Encounters in #1, - tabularx={XXp{.6\textwidth}}, - bottom=10pt, - left=3pt, - right=3pt, - code={\rowcolors{2}{}{gray!10}\setcounter{enc}{19}\setcounter{list}{18}}} - -\newcommand{\li}{\addtocounter{enc}{-1}\arabic{enc}&} -\newcommand{\lii}{\addtocounter{list}{-1}\arabic{list}&} - -\newtcolorbox{boxtable}[1][cX]{ - tabularx={#1}, - top=10pt, - bottom=10pt, - left=3pt, - right=3pt, - code={\rowcolors{2}{}{gray!10}\needspace{2em}} - } - -\newtcolorbox{nametable}[2][cX]{ - tabularx={#1}, - top=10pt, - adjusted title=#2, - bottom=10pt, - left=3pt, - right=3pt, - code={\rowcolors{2}{}{gray!10}\needspace{1em}} - } - -\newtcolorbox{rollchart}{ - tabularx={cX}, - top=10pt, - bottom=10pt, - left=3pt, - right=3pt, - code={\rowcolors{2}{}{gray!10}\needspace{2em}} - } - -\newtcolorbox{xpbox}[1]{ - tabularx={lX}, - bottom=10pt, - left=3pt, - right=3pt, - top=10pt, - code={\rowcolors{2}{}{gray!10}}, - equal height group=#1 - } - - -%%%%%%%%%%%%%%%%%%% COMMANDS %%%%%%%%%%%%%%%%%%%% - -\newcommand{\story}[2]{% - \subsubsection{#2} - Cost: #1\par\noindent -} - -\newcommand{\best}[2][\C]{ - \npc{#1}{#2} - \subsubsection{#2} - \index{Antagonists!#2} -} - -\newcounter{random} -\setcounter{random}{1} -\newcounter{increment} -\setcounter{increment}{1} - -\newcommand{\random}{ - \addtocounter{random}{\value{page}} - \multiply\value{random} by \value{chapter}\addtocounter{random}{\value{increment}} - \whileboolexpr{ - test {\ifnumcomp{\value{random}}{>}{100}} - } - {\addtocounter{random}{-100}} - \whileboolexpr{ - test {\ifnumcomp{\value{random}}{>}{10}} - } - {\addtocounter{random}{-10}} - \addtocounter{increment}{1} -} - -\newcommand{\randomtwo}{% - \ifnumcomp{\value{r2}}{>}{1}{\setcounter{r2}{1}}{\addtocounter{r2}{1}}% -\setcounter{enc}{\value{r2}}% -} - -\newcommand{\randomtwoB}{ - \ifodd\value{r3b}\setcounter{r2b}{1}\else\setcounter{r2b}{2}\fi% -} - -\newcommand{\randomtwoC}{ - \ifnum\value{r2c}>1% - \setcounter{r2c}{1}\else% - \addtocounter{r2c}{1}% - \fi% -} - -\newcommand{\randomthree}{% - \ifnumcomp{\value{r3}}{>}{2}{\setcounter{r3}{1}}{\addtocounter{r3}{1}}% - \setcounter{age}{\value{r3}}% - \ifnum\value{r3}<1\setcounter{r3}{2}\fi% -} - -\newcommand{\randomthreeB}{% - \ifnum\value{r3b}>2% - \setcounter{r3b}{1}% - \else% - \addtocounter{r3b}{1}% - \fi% - \ifnum\value{r3b}<1% - \setcounter{r3b}{3} - \fi% -} - -\newcommand{\randomthreeC}{ - \ifnum\value{r3c}>3% - \setcounter{r3c}{1}\else% - \addtocounter{r3c}{1}% - \fi% -} - -\newcommand{\randomfour}{% - \ifnumcomp{\value{r4}}{>}{3}{\setcounter{r4}{1}}{\addtocounter{r4}{1}}% - \ifnumcomp{\value{r4}}{<}{1}{\setcounter{r4}{1}}{} - \setcounter{track}{\value{r4}}% -} - -\newcommand{\randomfourB}{% - \ifnum\value{r4b}>3\setcounter{r4b}{1}% - \else% - \addtocounter{r4b}{1}% - \fi% -} - -\newcommand{\randomdozen}{% - \ifnum\value{r12}>12\setcounter{r12}{2}\fi% - \ifnum\value{r12}<4\setcounter{r12}{2}\fi% - \ifnum\value{age}>0\addtocounter{r12}{\value{age}}\else\ifnum\value{r4}>0\addtocounter{r12}{\value{r4}}\else\addtocounter{r12}{3}\fi\fi% -} - -\newcommand{\mapentry}[1]{ - \needspace{2em} - \addtocounter{list}{1} - \subsubsection[#1]{ - \arabic{list}: #1} - } - -%%%%% Side Quests - -% the first side quest gets a ticked box in the toc. -% the rest get an empty box, so the GM can tick it once it's ready. - -\newtoggle{firstsq} -\settoggle{firstsq}{true} - -\newcommand{\sqtoc}{\printcontents[\sqarea]{l}{2}{\section*{Summaries}\setcounter{tocdepth}{3}}} - -% Change the tocdepth from 2 to 3 in order to output a miniature table of contents on all side quests -\newcommand{\sqminitoc}{ - - \begin{figure*}[t] - - \begin{tcolorbox}[ornamented,adjusted title={Summary: \sqName}] - \vspace{-1em} - \printcontents[sq]{l}{2}{\setcounter{tocdepth}{3}} - - \end{tcolorbox} - - \end{figure*} -} - -\newcommand{\sqName}{} - -\newcommand{\sidequest}[1]{% - \renewcommand{\sqName}{#1} - \resumecontents[\sqarea] - \subsection{\sqName} - \stopcontents[\sqarea] - \settoggle{firstsq}{true} -} - -\newcommand{\sqpart}[3]{\resumecontents[#1]\subsubsection[\iftoggle{firstsq}{\CheckedBox}{\Square} #2 -- #3]{(#1) #2}\stopcontents[#1]\settoggle{firstsq}{false}} - -%%%%% Character Sheet Commands - -\newcommand{\trait}[1]{ -\vspace{.2cm} #1 \line(1,0){30} - - \begin{tabular}{p{0em}p{0em}p{0em}p{0em}p{0em}p{0em}p{0em}p{0em}p{0em}} - - \ding{108} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} \\ - \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} \\ - \end{tabular} - -} - -\newcommand{\shortline}{\line(1,0){22}} -\newcommand{\weeline}{\line(1,0){30} \hspace{.6cm}} -\newcommand{\vlongline}{\line(1,0){100}\hspace{0.8cm}} -\newcommand{\writeline}{\line(1,0){59}} -\newcommand{\fiveboxes}{\ding{111}\ding{111}\ding{111}\ding{111}\ding{111}} -\newcommand{\threeboxes}{\ding{111}\ding{111}\ding{111}} -\newcommand{\threecircles}{\ding{109}\ding{109}\ding{109}} -\newcommand{\tenboxes}{ \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} & \ding{111} \\} -\newcommand{\tencircles}{\ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} & \ding{109} \\} -\newcommand{\attributecircles}{\ding{175}\ding{174}\ding{173}\ding{172}{\Large\ding{109}}\ding{172}\ding{173}\ding{174}\ding{175}} -\newcommand{\Split}{ - \line(1,0){120} - - } -\newcommand{\skill}[1]{#1 & \ding{109} & \ding{109} & \ding{109} \\ -} - -\newcommand{\longline}{\line(1,0){320}\par\vspace{.2cm}} diff --git a/config/loot.sty b/config/loot.sty deleted file mode 100644 index df2b2c09..00000000 --- a/config/loot.sty +++ /dev/null @@ -1,80 +0,0 @@ -\ProvidesPackage{config/loot} - -%%%%%%%%%%%%%%%%%%%% LOOT %%%%%%%%%%%%%%%%%%%% - -\newcommand{\lootSmall}{% - \iftoggle{bestiarychapter}{% - \ifodd\value{r2}% - $3D6$\else$2D6$% - \fi cp}{ - \randomdozen\arabic{r12} cp}% -} - -\newcommand{\lootMedium}{% - \iftoggle{bestiarychapter}{% - \ifodd\value{r2}% - $3D6$% - \else% - $2D6$% - \fi~sp}{% - \addtocounter{gold}{\thepage}% - \divide\value{gold} by \value{r4}% - \ifnum\value{gold}<4% - \setcounter{gold}{7}% - \fi% - \arabic{gold}~sp}% -} - -\newcommand{\lootBig}{% -\iftoggle{bestiarychapter}{% - \ifodd\thepage $3D6-2$\else$2D6+4$\fi gp}{% - \randomdozen\addtocounter{r12}{8}\arabic{r12}gp% - }% -} - -\newcommand{\lootMagic}{% - \iftoggle{team}{Mana stone holding 2 MP}% - {\iftoggle{bestiarychapter}{}% - {\ifnumcomp{\value{r2}}{>}{1}% - {\ifodd\value{r3}% - \ifodd\value{r4}% - \ifodd\value{r3b}% - Sorcerer's Eye% - \else% - Deck of Cards\fi\else Wild Seeds\fi\else\ifodd\value{r2b}Bag of Holding% - \else% - Defensive Heart% - \fi% - \fi}% - {\ifodd\value{r3}% - \ifodd\value{r4}% - Portal Scroll% - \else% - Sleeping Dust% - \fi% - \else% - \ifodd\value{r2b}% - \ifnum\value{dr}>0% - Ring of Asphyxiation% - \else - Ghost Shield% - \fi% - \else% - Bag of Tricks% - \fi% - \fi}% -}}} - -\newcommand{\lootJewellery}{% -\iftoggle{bestiarychapter}{jewellery worth \ifodd\value{r2}$3D6$sp\else$1D6+2$gp\fi}% - {\ifnumcomp{\value{r2}}{>}{1}{\ifodd\value{r3}% - \ifodd\value{r4}% - golden necklace worth \arabic{r12}~sp\else% - golden ring worth \thechapter~sp\fi\else% - jewel encrusted dagger worth \thepage~sp\fi}% - {\ifodd\value{r3}% - \ifodd\value{r4}% - ornate silver earrings worth 1 gp\else - gem encrusted broach worth \thechapter gp\fi\else% - \randomthreeB saphire pendant worth \arabic{r3b}gp\fi}}} - diff --git a/config/main.tex b/config/main.tex deleted file mode 100644 index 0ab10adc..00000000 --- a/config/main.tex +++ /dev/null @@ -1,25 +0,0 @@ -\documentclass[a4paper,openany]{book} - -\usepackage{config/bind} - -\settoggle{verbose}{true} - -\begin{document} - -\pagenumbering{gobble} - -\frontpage{Book Title}% - {Subtitle}% - {images/image.jpg} - -\tableofcontents - -\frontmatter - -% include intro - -\mainmatter - - -\end{document} - diff --git a/config/monsters.sty b/config/monsters.sty deleted file mode 100644 index 9cf357c4..00000000 --- a/config/monsters.sty +++ /dev/null @@ -1,1547 +0,0 @@ -\ProvidesPackage{config/monsters} - -% _ -% _ __ ___ ___ _ __ ___| |_ ___ _ __ ___ -% | '_ ` _ \ / _ \| '_ \/ __| __/ _ \ '__/ __| -% | | | | | | (_) | | | \__ \ || __/ | \__ \ -% |_| |_| |_|\___/|_| |_|___/\__\___|_| |___/ -% - -% This is a list of monster-commands. You put in the command, like "\dragon", and a dragon will be conjured unto your pdf. -% If you're unhapy with your dragon, copy-paste the bit where it says \dragon{blah}{bla}, then change those numbers. - -\newcommand{\auroch}[1][\npc{\A\T}{\arabic{page} Aurochs}]{ - #1 -\animal{2}% STRENGTH -{-2}% DEXTERITY -{3}% SPEED -{1}% WITS -{2}% DR -{1}% AGGRESSION -{Athletics~1}% SKILLS -{Stampede}% ABILITIES -{\addtocounter{xpbonus}{-4}} -} - -\newcommand{\bear}[1][\npc{\A}{Bear}]{ - #1 - \randomtwo - \addtocounter{enc}{4} - \randomtwoB - \addtocounter{r2b}{-2} - \addtocounter{r2}{1} - \randomthreeB -\animal{\arabic{enc}}% STRENGTH -{\arabic{r2b}}% DEXTERITY -{\arabic{r2}}% SPEED -{0}% WITS -{2}% DR -{\arabic{r3b}}% AGGRESSION -{Athletics \arabic{r2}, Stealth~2, Survival~2, Vigilance~2}% SKILLS -{None}% ABILITIES -{} -} -% -\newcommand{\boar}[1][\npc{\A}{Boar}]{ - #1 - \randomtwoB - \randomtwo - \addtocounter{enc}{-3} - \randomthree - \animal{\arabic{r2b}}% STRENGTH -{\arabic{enc}}% DEXTERITY -{3}% SPEED -{\arabic{r2}}% WITS -{2}% DR -{2}% AGGRESSION -{Athletics~\arabic{r2}, Survival~1, Vigilance~\arabic{r3}}% SKILLS -{None}% ABILITIES -{} -} - -\newcommand{\chitincrawler}[1][\npc{\A}{Chitincrawler}]{ - #1 - \randomtwo - \addtocounter{enc}{3} - \addtocounter{r2}{2} - \randomtwoB - \addtocounter{r2b}{-1} - \randomthree - \randomthreeB - \randomfour -\animal{\arabic{enc}}% STRENGTH -{\arabic{r2b}}% DEXTERITY -{\arabic{r3b}}% SPEED -{\arabic{r4}}% WITS -{\arabic{r2}}% DR -{\ifodd\value{r3} 3\else 4\fi}% AGGRESSION -{Athletics~\arabic{r3b}, Survival~\arabic{r3}, \ifodd\value{r4} Vigilance~\arabic{r3b}\fi}% SKILLS -{\web}% ABILITIES -{} -} -% -\newcommand{\griffin}[1][\npc{\A}{\arabic{r3} Griffins}]{ - #1 - \randomtwo - \addtocounter{enc}{1} -\animal{\ifodd\value{page} 2\else \ifodd\value{chapter} 3\else 1\fi\fi}% STRENGTH -{-2}% DEXTERITY -{\ifodd\value{page} 2\else 1\fi}% SPEED -{2}% WITS -{0}% DEXTERITY -{2}% AGGRESSION -{Athletics~\arabic{enc}, Survival~\arabic{r2}\knacks{\charge}}% SKILLS -{Flight}% ABILITIES -{} -} - -\newcommand{\mouthdigger}[1][\npc{\A}{Mouthdigger}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomtwoB -\animal{2}% STRENGTH -{-1}% DEXTERITY -{\arabic{enc}}% SPEED -{0}% WITS -{2}% DR -{2}% AGGRESSION -{Stealth~\arabic{enc}, Tactics~\arabic{r2b}, \knacks{\firststrike , \adrenalinesurge , \perfectsneakattack}}% SKILLS -{None}% ABILITIES -{} -} -% -\newcommand{\wolf}[1][\npc{\A\T}{\randomdozen \arabic{r12} Wolves}]{ - #1 - \randomdozen - \addtocounter{enc}{2} -\animal{-1}% STRENGTH -{-1}% DEXTERITY -{\arabic{r2b}}% SPEED -{1}% WITS -{1}% DR -{\arabic{r2}}% AGGRESSION -{Athletics~2, Survival~\arabic{enc}, Tactics~2}% SKILLS -{\teeth, \quadraped}% ABILITIES -{} -} - -\newcommand{\woodspy}[1][\npc{\E}{Woodspy}]{ - #1 - \randomtwo - \randomtwoB - \randomtwoC - \addtocounter{enc}{2} - \randomthree - \randomfour -\person{\arabic{r4}}% STRENGTH -{\arabic{enc}}% DEXTERITY -{\arabic{r2c}}% SPEED -{{-4}% INTELLIGENCE -{\arabic{r2b}}% WITS -{-5}}% CHARISMA -{\ifodd\thepage 2\else 3\fi}% DR -{\arabic{r3}}% AGGRESSION -{Athletics~2, Stealth~\arabic{enc}, Survival~\arabic{r2b}, Tactics~\arabic{r3}}% SKILLS -{None}% ABILITIES -{} -} - -\newcommand{\basilisk}[1][\npc{\A}{Basilisk}]{ - #1 - \randomtwo - \randomtwoB - \randomtwoC - \addtocounter{r2b}{-1} - \randomthree - \addtocounter{age}{5} - \randomthreeB - \addtocounter{r3b}{1} - \animal{\arabic{age}}% STRENGTH - {-2}% DEXTERITY - {\arabic{r3}}% SPEED - {\arabic{r2b}}% WITS - {4}% DR - {\arabic{r3b}}% AGGRESSION - {Projectiles~\arabic{r2}, Athletics~\arabic{r2c}}% SKILLS - {Odour demands Strength check, TN 9. Acidic breath (1D6-2 Damage).}% ABILITIES - {\knacks{\unstoppable}} -} - -% -\newcommand{\dragon}[1][\npc{\E}{Dragon}]{ - #1 - \randomtwo - \randomtwoB - \randomtwoC - \addtocounter{r2c}{2} - \addtocounter{enc}{3} - \randomthree - \randomthreeB - \addtocounter{age}{5} - \randomfour - \ifodd\value{r4}\multiply\value{track} by -1\fi - \person{\arabic{age}}% STRENGTH - {\arabic{r4}}% DEXTERITY - {\arabic{enc}\addtocounter{age}{-4}}% SPEED - {{\arabic{age}}% INTELLIGENCE - {\arabic{enc}}% WITS - {\arabic{track}}}% CHARISMA - {4}%DR - {\arabic{age}}% COMBAT - {Aggression~\arabic{enc}, Projectiles~\arabic{r3b}, Academics~\arabic{r3}, Athletics~\arabic{r2b}, Deceit~\arabic{r2c}, Tactics~2, Vigilance~3 - \knacks{\ifodd\value{page}\combatcaster\else\backtothewall\fi, \ifnumcomp{\value{r3}}{>}{2}{\laststand}{\adrenalinesurge}} - \Path{Blood}{\ifodd\value{r4}\aldaron\else \enchantment\fi~\arabic{r4}, \invocation~\arabic{enc}, \ifodd\value{r2}\force~\arabic{r3b}\else \polymorph~\arabic{r3}\fi }}{% - \iftoggle{bestiarychapter}{$3D6\times 100$gp, sitting in a lair.}{% - {\setcounter{gold}{\thepage}\addtocounter{gold}{-50}\multiply\value{gold} by \value{list}\multiply\value{gold} by \thechapter \ifnumcomp{\value{gold}}{>}{0}{\arabic{gold}gp in lair in assorted change}{None}}}}% - {\ifodd\value{r2}% - \setcounter{gold}{\value{r3b}}\multiply\value{gold} by 3% - \addtocounter{gold}{\value{int}}% - \lockedmana{\value{r3b}}% - \setcounter{sp}{\value{gold}}% - \fi% - \gdef\armourtype{C}} - } - -\newcommand{\dwarventrader}[1][\npc{\M}{\arabic{r12} Dwarven Traders}]{ - #1 - \randomdozen - \randomtwoB - \randomthree\randomtwo\addtocounter{enc}{-1} - \person{\arabic{enc}}% STRENGTH - {1}% DEXTERITY - {-1}% SPEED - {{\arabic{r2}}% INTELLIGENCE - {0}% WITS - {0}}% CHARISMA - {0}% DR - {1}% COMBAT - {Crafts~\arabic{r2b}, Deceit~\arabic{r3}}% SKILLS - {\shortsword, \ifodd\thepage\lootMedium\else\lootBig, \lootJewellery\fi}% EQUIPMENT - {} - } -% -\newcommand{\dwarvensoldier}[1][\npc{\M\T}{\arabic{r12} Dwarven Soldiers}]{ - #1 - \randomdozen - \randomtwo - \person{\arabic{r2}}% STRENGTH - {\arabic{enc}}% DEXTERITY - {0}%Speed - {{0}% INTELLIGENCE - {0}% WITS - {-1}}% CHARISMA - {0}% DR - {2}% COMBAT - {Crafts~1, Tactics~1}% SKILLS - {\ifodd\value{r2}\woodaxe, \partialchain\else\shortsword, \partialplate\fi, \lootMedium}% EQUIPMENT - {\knacks{Chosen Enemy: Goblinoids}\ifodd\value{r2b}, \defender\fi}% SKILLS -} - -\newcommand{\dwarvenrunemaster}[1][\npc{\M}{Dwarven Runemaster}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomthree - \randomthreeB - \randomfour - \person{0}% STRENGTH - {1}% DEXTERITY - {0}% SPEED - {{\ifodd\value{page}2\else1\fi}% INTELLIGENCE - {\ifodd\value{chapter}1\else0\fi}% WITS - {0}}% CHARISMA - {0}% DR - {1}% COMBAT - {Academics~\arabic{enc}, Crafts~1, Tactics~2\Path{Runes}{\fate~\arabic{enc}, \force~\arabic{r3}, \conjuration~\arabic{r3b}}}% SKILLS - {\shortsword, \partialchain, \lootMedium}% EQUIPMENT - {} - } - - -\newcommand{\dryad}[1][\npc{\E}{Dryad}]{ - #1 - \randomtwo - \randomtwoB - \randomtwoC - \addtocounter{enc}{2} - \randomthree - \addtocounter{age}{1} - \randomthreeB - \randomfour - \addtocounter{r4}{-2} - \person{\arabic{enc}}% STRENGTH - {\arabic{r2}}% DEXTERITY - {1}% SPEED - {{\arabic{age}}% INTELLIGENCE - {2}% WITS - {\arabic{r4}}}% CHARISMA - {6}% DR - {\arabic{r3}}% COMBAT - {Academics~3, Athletics~\arabic{r3c}, \ifodd\value{r2}Crafts~2, Performance~\arabic{r3}, \else Empathy~\arabic{r2b}, Survival~3, Vigilance~\arabic{r3b}\fi \Path{Blood \& Song}{\polymorph~5, \aldaron~\arabic{enc}, \fate~\arabic{r3b}, \ifodd\value{r3} \enchantment~\arabic{r2b}\fi}}% SKILLS - {\ifodd\thepage\Dagger, \lootJewellery\else\spear\fi}% EQUIPMENT - {\lockedmana{5}\gdef\armourtype{C}} - } - -\newcommand{\elf}[1][\npc{\F}{Elf}]{ - #1 - \randomtwo - \randomtwoB - \randomthree - \randomthreeB - \randomfour - \randomdozen - \setcounter{gold}{1}\addtocounter{gold}{-\value{age}} - \person{\value{gold}}%STRENGTH - {\arabic{r2}}%DEXTERITY - {\arabic{r2b}}%SPEED - {{\arabic{age}}% INTELLIGENCE - {\arabic{r2}}% WITS - {\ifodd\value{r3}\arabic{r2}\else -1\fi}}% CHARISMA - {0}% DR - {\ifodd\value{list}1\else2\fi}% COMBAT - {\ifnumcomp{\value{r4}}{<}{2}{}{Projectiles~\arabic{age},} Academics~\arabic{age}, Athletics~1, \ifodd\value{r4} Crafts~\arabic{r3}\else Performance~\arabic{r2b}\fi, Stealth~\arabic{r2}, Survival~\arabic{r3b}, Vigilance~\arabic{age} - \Path{Blood \ifodd\thepage\else \& Song\fi}% - {\ifnumcomp{\value{r4}}{<}{3}% - {\aldaron~\arabic{r3}, }% - {\invocation~\arabic{r3b}, }% - \ifodd\value{r3}\else \fate~\arabic{r2}, \fi% - \ifodd\value{gold} \polymorph~\arabic{r2b}\else \enchantment~\arabic{r4}, \fi}% - \ifodd\value{r4} \else\knacks{% - \ifodd\value{r2}% - \laststand% - \else% - \firststrike\ifnumcomp{\value{age}}{<}{3}{, \bloodcaster}{}% - \fi}\fi - }% SKILLS - {\ifnumcomp{\value{r4}}{=}{2}{\Dagger, shortbow, }{\rapier, dagger, }% - \lootJewellery\ifnum\value{r12}>12% - , \lootMagic% - \fi}% EQUIPMENT - {} - } - -\newcommand{\elvenenchanter}[1][\npc{\M}{Elven Enchanter}]{ - #1 - \randomtwoB - \randomtwo - \randomthree - \addtocounter{enc}{1} - \addtocounter{r3}{1} - \multiply\value{age} by -1 - \person{\arabic{age}}% STRENGTH - {\arabic{r2b}}% DEXTERITY - {1}% SPEED - {{\arabic{r3}}% INTELLIGENCE - {\arabic{enc}\randomtwo}% WITS - {\arabic{enc}}}% CHARISMA - {0}% DR - {\ifodd\value{mp} 1\else 0\fi}% COMBAT - {Projectiles~\arabic{r2b}, Academics~3, Empathy~3, Deceit~\arabic{enc}, Performance~\arabic{r2}, \ifodd\value{r2}Stealth~\else Tactics~\fi \arabic{r2b}, Vigilance~2% - \Path{Blood}{\aldaron~\arabic{r3}, \enchantment~5, \fate~\arabic{r3}, \force~\arabic{r4}, \invocation~1, \polymorph~2}}% SKILLS - {\Dagger, \lootJewellery\ifodd\thepage, \randomtwo\lootJewellery\ifodd\value{r4}, \lootMagic\fi\fi}% EQUIPMENT - {} -} - -\newcommand{\gnome}[1][\npc{\M}{Wandering Gnome}]{ - #1 - \randomtwo - \addtocounter{enc}{-2} - \randomtwoB - \randomthreeB -\person{-2}% STRENGTH -{\arabic{r2}}% DEXTERITY -{\arabic{enc}}% SPEED -{{\arabic{age}}% INTELLIGENCE -{\arabic{r2}}% WITS -{\arabic{r2}}}% CHARISMA -{0}% DR -{0}% COMBAT -{Academics~\arabic{r3}, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Empathy~\arabic{r2b}, \ifodd\value{page} \else Larceny~1, Stealth~1 \fi -\ifodd\value{page} - \Path{Alchemy}{\illusion~\arabic{r2}} -\fi}% SKILLS -{\ifodd\value{r3}% - \Dagger, -\else% - \lootMedium% -\fi% -}% EQUIPMENT -{} -} - -\newcommand{\gnomishsoldier}[1][\npc{\M}{Gnomish Soldier}]{ - #1 - \randomtwo - \addtocounter{enc}{-2} - \randomtwoB - \randomtwoC - \addtocounter{r2b}{-1} - \randomthree - \randomthreeB -\person{\arabic{enc}}% STRENGTH -{\arabic{r2}}% DEXTERITY -{\arabic{r2b}}% SPEED -{{\arabic{age}}% INTELLIGENCE -{\arabic{r2}}% WITS -{\arabic{r2b}}}% CHARISMA -{0}% DR -{\arabic{r2}}% COMBAT -{\ifnum\value{enc}<0% - Projectiles \arabic{r2c}, -\fi% -Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\value{page} \else Larceny~\arabic{r2c}, \fi Stealth~\arabic{r2c} -}% SKILLS -{\ifnum\value{enc}=0% - \shortsword -\else% - Shortbow, \Dagger% -\fi% -\ifnum\value{r3c}=2% - , \partialelvish% -\fi% -, \lootMedium -}% EQUIPMENT -{} -} - -\newcommand{\gnomishillusionist}[1][\npc{\M}{Gnomish Illusionist}]{ - #1 - \randomtwo - \randomthree - \addtocounter{age}{1} - \randomthreeB - \addtocounter{r3b}{-3} - \randomfour - \person{\arabic{r3b}}% STRENGTH - {-2}% DEXTERITY - {1}% SPEED - {{\arabic{age}}% INTELLIGENCE - {2}% WITS - {\arabic{enc}}}% CHARISMA - {0}% DR - {0}% COMBAT - {\ifodd\value{r2}% - \else Projectiles \arabic{enc}, \fi% - Academics~3, \ifodd\value{chapter} Crafts~\arabic{enc}, \fi Deceit~\arabic{age}, Stealth~\arabic{enc} - \Path{Alchemy}{\conjuration~\arabic{age}, \ifodd\value{r2} \force~\arabic{enc}, \else \invocation~\arabic{enc}, \fi \illusion~\arabic{age}}}% SKILLS - {\lootBig, \ifodd\thepage\lootMagic\fi}% EQUIPMENT - {} -} - -\newcommand{\humanfarmer}[1][\npc{\M}{Farmer}]{ - #1 - \randomthree\addtocounter{age}{-2} - \randomtwo - \addtocounter{enc}{1} -\person{\arabic{enc}}% STRENGTH -{0}% DEXTERITY -{0}% SPEED -{{\arabic{age}}% INTELLIGENCE -{-1}% WITS -{\ifodd \value{page} -1\else1\fi}}% CHARISMA -{0}% DR -{\ifodd\value{r2} 0\else 1\fi}% AGGRESSION -{Beast Ken~\arabic{r2}, Crafts~\arabic{r2b}, \ifodd\value{r4} Empathy~1\fi}% SKILLS -{\Dagger, \lootSmall}% EQUIPMENT -{} -} - -\newcommand{\humanmaid}[1][\npc{\F}{Maid}]{ - #1 - \randomthree - \randomtwo -\person{1}% STRENGTH -{\ifodd \value{age} -1\else1\fi}% DEXTERITY -{0}% SPEED -{{\ifodd\value{age} 0\else 1\fi}% INTELLIGENCE -{-1}% WITS -{0}}% CHARISMA -{0}% DR -{\ifodd\value{r3} 0\else 1\fi}% AGGRESSION -{Empathy~1, \ifodd\thechapter Deceit~\arabic{r2}\fi}% SKILLS -{\ifodd\thepage \Dagger, \lootSmall\else None\fi}% EQUIPMENT -{} -} - -\newcommand{\humantrader}[1][\npc{\M}{\arabic{r12} Traders}]{ - #1 - \randomtwo - \randomtwoB - \randomthree - \addtocounter{age}{-2} - \addtocounter{enc}{-1} -\person{\arabic{age}}% STRENGTH -{0}% DEXTERITY -{0}% SPEED -{{\arabic{enc}}% INTELLIGENCE -{-1}% WITS -{\arabic{r2b}}}% CHARISMA -{0}% DR -{\arabic{enc}}% COMBAT -{Academics~\arabic{r2b}, \ifodd\value{r2}~Crafts 1, Empathy\else Deceit\fi~\arabic{r3}}% SKILLS -{\shortsword, \lootBig}% EQUIPMENT -{} -} - -\newcommand{\humandiplomat}[1][\npc{\M}{The Diplomat}]{ - #1 - \randomtwo - \addtocounter{enc}{-1} - \randomthree - \addtocounter{age}{-2} - \multiply\value{age} by -1 - \randomfour - \addtocounter{track}{-2} -\person{1}% STRENGTH -{\arabic{age}}% DEXTERITY -{0}% SPEED -{{\arabic{r2}}% INTELLIGENCE -{0}% WITS -{\arabic{track}}}% CHARISMA -{0}% DR -{\arabic{enc}}% COMBAT -{Academics~\arabic{r3}, Deceit~\arabic{r3}, \ifodd\value{gold} Empathy~\arabic{r3}, \fi Vigilance~\arabic{r2}}% SKILLS -{\Dagger, \lootSmall, \lootBig~ hidden nearby}% EQUIPMENT -{} -} - -\newcommand{\humanpriest}[1][\npc{\F}{Human Priest}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{r2b}{-1} - \randomthree - \addtocounter{age}{1} - \randomthreeB -\person{1}% STRENGTH -{0}% DEXTERITY -{0}% SPEED -{{\arabic{r3}}% INTELLIGENCE -{0}% WITS -{\ifodd\value{r3} 0\else 1\fi}}% CHARISMA -{0}% DR -{\arabic{r2b}}% COMBAT -{Academics~\arabic{r3}, Empathy~\arabic{r3b} -\ifodd\value{r3b}\Path{Devotion}{\fate~\arabic{age}, \ifodd\value{r4}\else \aldaron~\arabic{enc}\fi}\fi}% SKILLS -{\ifodd\value{r2b}\quarterstaff\else\Dagger, \lootMedium\fi}% EQUIPMENT -{} -} - -\newcommand{\humansoldier}[1][\npc{\M\F\T}{\arabic{r12} Soldiers}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomtwoB - \setcounter{gold}{\value{r2b}} - \addtocounter{gold}{-1} - \randomthree - \addtocounter{age}{-1} - \randomfour -\person{\arabic{enc}}% STRENGTH -{\arabic{age}}% DEXTERITY -{\arabic{gold}}% SPEED -{{0}% INTELLIGENCE -{-1}% WITS -{0}}% CHARISMA -{0}% DR -{\arabic{r2}}% COMBAT -{\ifodd\value{r3}Beast Ken\else Survival\fi~\arabic{r2}, Tactics~\arabic{r2b}% - \ifodd\value{r3}% - \knacks{\ifodd\value{r2b} - \adrenalinesurge, - \else - \stunningstrike, - \fi - \ifodd\value{r4} - \charge - \fi} - \fi}% SKILLS -{\ifodd\value{enc}% - {\greatsword}% -\else% - \ifodd\value{age}% - {\longsword}% - \else% - {\shortsword}% - \fi% -\fi, % -\ifnum\value{r3}=3% - \partialleather% -\else% - \partialchain% -\fi, % -\ifodd\value{r4} - \shield, -\fi - \ifnum\value{enc}=3\lootMedium\else\lootSmall\fi}% EQUIPMENT -{} -} - -\newcommand{\royalguard}[1][\npc{\M\F\T}{\arabic{r12} Guards}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomtwoB - \setcounter{gold}{\value{r2b}} - \addtocounter{gold}{-1} - \randomthree - \addtocounter{age}{-1} - \randomfour -\person{\arabic{enc}}% STRENGTH -{\arabic{age}}% DEXTERITY -{\arabic{gold}}% SPEED -{{0}% INTELLIGENCE -{-1}% WITS -{0}}% CHARISMA -{0}% DR -{2}% COMBAT -{\ifodd\value{r3}Craft \else Survival\fi~\arabic{r2}, Tactics~\arabic{r2b}% - \ifodd\value{r3}% - \knacks{\ifodd\value{r2b} - \adrenalinesurge, - \else - \disarm, - \fi - \ifodd\value{r4} - \charge - \fi} - \fi}% SKILLS -{\ifodd\value{enc}% - {\greatsword}% -\else% - \ifodd\value{age}% - {\longsword}% - \else% - {\spear}% - \fi% -\fi, % - \partialplate, % -\ifodd\value{r4} - \shield, -\fi - \ifnum\value{enc}=3\lootMedium\else\lootSmall\fi}% EQUIPMENT -{} -} - -\newcommand{\humanarcher}[1][\npc{\M\T}{\arabic{r12} Archers}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{enc}{-1} -\person{2}% STRENGTH -{\arabic{r2b}}% DEXTERITY -{0}% SPEED -{{0}% INTELLIGENCE -{-1}% WITS -{0}}% CHARISMA -{0}% DR -{\arabic{enc}}% COMBAT -{Projectiles \arabic{r2b}, Crafts~\arabic{r2b}, \ifodd\value{r4} Survival~\else Tactics \fi~\arabic{r2}% -\ifodd\value{r3}% -\else% - \knacks{\mightydraw} -\fi}% SKILLS -{\longbow, dagger\ifodd\value{r2}, \partialleather, \lootMedium\fi% -\iftoggle{team}{}% - {% - \iftoggle{team}{% - , \arabic{r12} Spider arrows}.% - }% -}% EQUIPMENT -{} -} - -\newcommand{\humanthief}[1][\npc{\M}{Thief}]{ - #1 - \randomtwo - \addtocounter{enc}{-1} - \multiply\value{enc} by -1 - \randomtwoB - \randomthree - \randomthreeB - \addtocounter{age}{-1} - \randomfour - \addtocounter{track}{-2} -\person{1}% STRENGTH -{\arabic{r2}}% DEXTERITY -{\arabic{age}}% SPEED -{{0}% INTELLIGENCE -{\arabic{r2b}}% WITS -{\arabic{track}}}% CHARISMA -{0}% DR -{\arabic{r2}}% COMBAT -{\ifodd\value{r4}Projectiles~\arabic{r2b}, \fi Athletics~\arabic{r2}, Deceit~\arabic{r2b}, Larceny~\arabic{r3}, \ifodd\value{r4}Stealth~\arabic{r2b}, \fi\ifodd\value{r3}Tactics~1\fi -\knacks{\ifodd\value{r3}\dodger\else \foxhop\fi, \ifodd\value{r4} \perfectsneakattack\fi}}% SKILLS -{\ifodd\value{gold}% - {\shortsword, dagger, } - \else\ifodd\value{r2b}% - {\rapier, dagger, }% - \else{\shortsword, }% - \fi\fi% - \ifnum\value{r4}=1% - \partialleather, % - \fi% -\lootSmall}% EQUIPMENT -{} -} - -\newcommand{\humanbard}[1][\npc{\F}{Bard}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomthree - \addtocounter{age}{-1} - \randomthreeB - \randomfour - \randomdozen -\person{1}% STRENGTH -{\arabic{r3b}}% DEXTERITY -{\arabic{r2b}}% SPEED -{{\arabic{age}}% INTELLIGENCE -{1}% WITS -{\arabic{r3}}}% CHARISMA -{0}% DR -{\arabic{age}}% COMBAT -{Academics~\ifodd\thepage\arabic{r2}\else\arabic{r3b}\fi, Empathy~\arabic{enc}, Deceit~\ifodd\thepage 2\else 1\fi, Performance~\ifodd\thechapter 2\else 1\fi% - -\iftoggle{team}{}% -{% - \ifnum\value{r3}>2 - \ifnum\value{r12}>6 - \Path{Song}{% - \ifodd\value{r3b}% - \enchantment% - \else% - \aldaron% - \fi~% - \arabic{r4}, % - \ifodd\value{r12}% - \fate \arabic{enc}% - \fi % - \ifodd\value{gold}% - \addtocounter{r2b}{1}% - \illusion \arabic{r2b}% - \fi} - \fi - \else - \fi -}% -}% SKILLS -{\ifodd\value{r3}\rapier% - \else% - \Dagger% -\fi% - , lute, \lootMedium\ifodd\thepage, \lootJewellery\fi}% EQUIPMENT -{} -} - -\newcommand{\humanalchemist}[1][\npc{\M}{The Alchemist}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomthree - \randomthreeB - \randomtwoB - \addtocounter{r2b}{-1} - \addtocounter{age}{-1} - \multiply\value{age} by -1 -\person{\arabic{age}}% STRENGTH -{0}% DEXTERITY -{0}% SPEED -{{\arabic{enc}}% INTELLIGENCE -{\arabic{r2b}}% WITS -{0}}% CHARISMA -{0}% DR -{\arabic{r2b}}% COMBAT -{Academics~\arabic{r3}, \ifodd\value{r3} Deceit~\arabic{r2}, Tactics~\arabic{enc}\else Empathy~\arabic{r2}, Vigilance~\arabic{enc}\fi -\Path{Alchemy}{\ifodd\value{r2b} \conjuration~\arabic{r3b}, \force\else \invocation \fi~\arabic{r4}, \ifodd\thepage \illusion~\arabic{r3}\fi -}}% SKILLS -{\lootMedium, \ifodd\thepage\lootMagic\else mana stone with 4 mp\fi}% EQUIPMENT -{\lockedmana{\value{r2}}} -} - -\newcommand{\gnollhunter}[1][\npc{\T}{\arabic{r12} Gnoll Hunters}]{ - #1 - \randomtwo\addtocounter{enc}{1} - \randomtwoB - \randomtwoC - \addtocounter{r2b}{-1} -\person{\arabic{enc}}% STRENGTH -{\arabic{r2b}}% DEXTERITY -{1}% SPEED -{{-1}% INTELLIGENCE -{\arabic{r2b}}% WITS -{-1}}% CHARISMA -{0}% DR -{\arabic{r2}}% COMBAT -{Aggression~2, Projectiles~\arabic{r2c}, Survival~3\knacks{\ifodd\value{enc}\adrenalinesurge\else\charge\fi}}% SKILLS -{\spear}% EQUIPMENT -{} -} - -\newcommand{\gnollshaman}[1][\npc{\F}{Gnoll Shaman}]{ - #1 - \addtocounter{age}{-2} - \randomtwo - \randomtwoB - \randomthree - \randomthreeB - \randomthreeC - \randomfour - \randomdozen -\person{\arabic{age}}% STRENGTH -{0}% DEXTERITY -{\arabic{r2}}% SPEED -{{\arabic{r2}}% INTELLIGENCE -{1}% WITS -{-2}}% CHARISMA -{0}% DR -{1}% COMBAT -{Aggression~2, Projectiles~\arabic{r2b}, Academics~\arabic{r2}, Beast Ken~\arabic{r2b}, \ifodd\value{r3b}\else Deceit~\arabic{r3b}, \fi Stealth~\arabic{r3}, -\ifnum\value{r4}>1% - {Survival~\arabic{enc}, Vigilance~\arabic{enc}}% - \fi% -\Path{Divinity (Qualm\"e)}{\ifodd\value{r2} \fate\else \aldaron\fi~\arabic{r3}, \ifodd\value{r3b}\else \enchantment~\arabic{r3}, \fi \necromancy~\arabic{r3c}}}% SKILLS -{\Dagger\ifodd\value{r3}\else, \lootMagic\fi}% EQUIPMENT -{} -} - -\newcommand{\nuracat}[1][\npc{\A\N}{Nura Cat}]{ - #1 - \randomtwo - \addtocounter{enc}{2} - \randomtwoB - \addtocounter{r2b}{2} - \randomthree - \animal{\arabic{r2}}% STRENGTH - {\arabic{r2b}}% DEXTERITY - {\arabic{enc}}% SPEED - {\arabic{r2}}% WITS - {0}% DR - {\arabic{enc}}% AGGRESSION - {Athletics~3, Stealth~\arabic{r2}, Sealth~\arabic{r3}, Survival~\arabic{r3}, Vigilance~3 - \knacks{\ifodd\value{r3}\charge\else\perfectsneakattack\fi}}% SKILLS - {\claws}{} - } - -\newcommand{\nuracrab}[1][\npc{\A\N}{\randomdozen\arabic{r12} Nura Crabs}]{ - #1 - \randomthree - \randomtwo - \randomtwoB - \addtocounter{enc}{5} -\animal{\arabic{age}}% STRENGTH -{-2}% DEXTERITY -{\arabic{r2b}}% SPEED -{\arabic{r3}}% WITS -{\arabic{enc}}% DR -{2}% AGGRESSION -{Survival~\arabic{r2}}% SKILLS -{}% ABILITIES -{} -} - -\newcommand{\nurahorse}[1][\npc{\A\N}{Nura Horse}]{ - #1 - \randomtwo - \randomtwoB -\animal{2}% STRENGTH -{\arabic{r2b}}% DEXTERITY -{2}% SPEED -{0}% WITS -{2}% DR -{2}% AGGRESSION -{Athletics~3, Survival~1 -\ifodd\value{r2}\knacks{\charge}\fi}% SKILLS -{\quadraped}% ABILITIES -{} -} - -\newcommand{\nuraslug}[1][\npc{\A\N\T}{\multiply\value{r12} by \value{r2b}\arabic{r12} Nura Slugs}]{ - #1 - \randomtwo - \addtocounter{enc}{-3} -\animal{\arabic{enc}}% STRENGTH -{-1}% DEXTERITY -{-4}% SPEED -{-3}% WITS -{\arabic{r2b}}% DR -{\arabic{r2}}% AGGRESSION -{Projectiles \arabic{r2}, Survival~1}% SKILLS -{Acid Spray}% ABILITIES -{\addtocounter{str}{1}} -} - -\newcommand{\nuraspider}[1][\npc{\A\N}{Nura Spider}]{ - #1 - \randomthree - \addtocounter{age}{2} - \randomtwo - \addtocounter{enc}{-\value{r3}} - \addtocounter{enc}{2} - \addtocounter{r2}{1} -\animal{\arabic{age}}% STRENGTH -{\arabic{enc}}% DEXTERITY -{\arabic{enc}}% SPEED -{2}% WITS -{\arabic{age}}% DR -{\arabic{r2}}% AGGRESSION -{Athletics~\arabic{r2}, Vigilance~\arabic{r2}}% SKILLS -{\web}% ABILITIES -{} -} - -\newcommand{\nurawoodspy}[1][\npc{\E\N}{Nura Woodspy}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{r2b}{2} - \randomthree - \addtocounter{enc}{2} - \addtocounter{age}{1} -\animal{\arabic{enc}}% STRENGTH -{\arabic{r3}}% DEXTERITY -{\arabic{r2b}}% SPEED -{\arabic{r2b}}% WITS -{3}% DR -{\arabic{enc}}% AGGRESSION -{Athletics~2, Survival~\arabic{r3}, Stealth~\arabic{r3}, Tactics~\arabic{r2}}% SKILLS -{None}% ABILITIES -{} -} - -\newcommand{\nurarat}[1][\npc{\A\N}{\arabic{r12} Nura Rats}]{ - #1 - \randomtwo - \addtocounter{enc}{-1} - \randomtwoB - \randomthree - \randomthreeB -\animal{\arabic{enc}}% STRENGTH -{0}% DEXTERITY -{\arabic{r2b}}% SPEED -{\arabic{r2}}% WITS -{1}% DR -{\arabic{r3}}% AGGRESSION -{Athletics~\arabic{r2b}, Survival~\arabic{r2}, Vigilance~\arabic{r2b}}% SKILLS -{\teeth, \quadraped}% ABILITIES -{} -} - -\newcommand{\nurawolf}[1][\npc{\A\N}{\arabic{r12} Nura Wolves}]{ - #1 - \randomtwo - \addtocounter{enc}{2} - \randomtwoB - \randomthree -\animal{\arabic{r2b}}% STRENGTH -{0}% DEXTERITY -{\arabic{enc}}% SPEED -{1}% WITS -{2}% DR -{3}% AGGRESSION -{Athletics~\arabic{r2b}, Survival~\arabic{r2}, Vigilance~\arabic{r3}}% SKILLS -{\teeth, \quadraped}% ABILITIES -{} -} - -%%%%%%%%%% NURA %%%%%%%%%% - -\newcommand{\goblin}[1][\npc{\N\T}{\arabic{r12} Goblins}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{r2b}{-2} - \addtocounter{enc}{1} - \randomdozen - \randomfourB -\person{\arabic{r2b}}% STRENGTH -{\arabic{r2}}% DEXTERITY -{\arabic{enc}}% SPEED -{{0}% INTELLIGENCE -{0}% WITS -{-4}}% CHARISMA -{0}% DR -{\arabic{r2}}% COMBAT -{Aggression~2, Projectiles~\arabic{r2}, Athletics~1, Deceit~1, Stealth~\arabic{r3}, \ifodd\value{r4}Tactics~\arabic{r2}\fi% -\ifodd\value{r3} \else\knacks{\perfectsneakattack}\fi% -}% SKILLS -{\ifodd\value{r2}% - \woodaxe% -\else% - \ifodd\value{r12}% - \javelin, dagger% - \else% - \Dagger% - \fi% -\fi% -\ifodd\value{r3b}% - \iftoggle{team}{}{% - , lock picking set% - }% -\fi% -.}% EQUIPMENT -{} -} - -\newcommand{\undeadgoblin}[1][\npc{\D\T}{\arabic{r12} Undead Hobgoblins}]{ - #1 - \randomtwo\addtocounter{enc}{-2} - \randomtwoB - \addtocounter{r2b}{-1} -\animal{\arabic{enc}}% STRENGTH -{-2}% DEXTERITY -{\arabic{r2b}}% SPEED -{-4}% WITS -{2}% DR -{2}% AGGRESSION -{}% SKILLS -{Undead}% ABILITIES -{} -} - -\newcommand{\deepgoblin}[1][\npc{\N\T}{\arabic{r12} Goblins}]{ - #1 - \randomtwo\addtocounter{enc}{-2} - \randomtwoB - \addtocounter{r2b}{2} -\person{\arabic{enc}}% STRENGTH -{\arabic{r2}}% DEXTERITY -{\arabic{r2b}}% SPEED -{{-1}% INTELLIGENCE -{-2}% WITS -{-4}}% CHARISMA -{0}% DR -{\arabic{r2}}% AGGRESSION -{\randomtwoB Projectiles~\arabic{r2}, Athletics~1, Deceit~1, Stealth~\arabic{r2b}, Tactics~1}% SKILLS -{\javelin, bag of rocks}% EQUIPMENT -{} -} - -\newcommand{\goblinnuramancer}[1][\npc{\F\N}{Goblin Nuramancer}]{ - #1 - \randomtwo - \randomtwoB - \randomthree - \addtocounter{age}{-1} - \randomthreeB - \randomfour - \randomfourB -\person{-2}% STRENGTH -{\arabic{r3}}% DEXTERITY -{1}% SPEED -{{\arabic{r2b}}% INTELLIGENCE -{0}% WITS -{-4}}% CHARISMA -{0}% DR -{\arabic{age}}% AGGRESSION -{Projectiles~\arabic{r2}, \ifodd\value{r3} Deceit\else Athletics\fi~\arabic{r3}, Medicine~\arabic{r2}, Stealth~1, Tactics~2 -\Path{Nura}{\invocation~\arabic{r3}, \necromancy~\arabic{r3b}, \saurecanta~\arabic{r4}}}% SKILLS -{\Dagger\ifodd\value{r4}, torch\fi% -\ifnum\value{r4b}=4% - , \lootMagic -\fi% -}% EQUIPMENT -{} -} - -\newcommand{\hobgoblin}[1][\npc{\T\N}{\arabic{r12} Hobgoblins}]{ - #1 - \randomtwo - \randomtwoB - \randomthree - \randomdozen -\person{\arabic{r2b}}% STRENGTH -{\arabic{r2}}% DEXTERITY -{\arabic{r3}}% SPEED -{{-3}% INTELLIGENCE -{0}% WITS -{-4}}% CHARISMA -{0}% DR -{2}% COMBAT -{Crafts 1, Tactics \arabic{r2}}% SKILLS -{\shortsword, \partialchain}% EQUIPMENT -{} -} - -\newcommand{\deephobgoblin}[1][\npc{\T\N}{\arabic{r12} Hobgoblins}]{ - #1 - \randomtwo - \randomtwoB - \randomthree - \randomdozen -\person{\arabic{r2}}% STRENGTH -{1}% DEXTERITY -{\arabic{r3}}% SPEED -{{-3}% INTELLIGENCE -{0}% WITS -{-4}}% CHARISMA -{0}% DR -{2}% AGGRESSION -{Tactics \arabic{r2b}}% SKILLS -{\ifodd\value{r3}\club\else\spear\fi}% EQUIPMENT -{} -} - -\newcommand{\undeadhobgoblin}[1][\npc{\D\T}{\arabic{r12} Undead Hobgoblins}]{ - #1 - \randomtwo -\animal{\arabic{r2}}% STRENGTH -{0}% DEXTERITY -{-1}% SPEED -{-3}% WITS -{2}% DR -{2}% AGGRESSION -{}% SKILLS -{Undead}% ABILITIES -{} -} - -\newcommand{\sentientundeadhobgoblin}[1][\npc{\D\T}{\arabic{r12} Sentient Undead Hobgoblins}]{ - #1 - \randomtwo - \randomtwoB -\person{\arabic{r2}}% STRENGTH -{-1}% DEXTERITY -{-2}% SPEED -{{\arabic{r2b}}% INTELLIGENCE -{0}% WITS -{-5}}% CHARISMA -{2}% DR -{\arabic{r2}}% COMBAT -{Aggression 2, Crafts 2, Tactics \arabic{r3}}% SKILLS -{None}% EQUIPMENT -{} -} - -\newcommand{\ogre}[1][\npc{\T\N}{\addtocounter{r4b}{1}\arabic{r4b} Ogres}]{ - #1 - \randomthree\addtocounter{age}{3} - \randomtwo\addtocounter{enc}{2} - \randomtwoB - \randomfourB -\person{\arabic{age}}% STRENGTH -{0}% DEXTERITY -{\arabic{enc}}% SPEED -{{-3}% INTELLIGENCE -{-1}% WITS -{-4}}% CHARISMA -{0}% DR -{\arabic{r2b}}% AGGRESSION -{Beast Ken \arabic{r2}, \ifodd\value{r2}Crafts\else Tactics\fi~\arabic{r2}}% SKILLS -{\ifodd\value{r2} - Nothing. -\else - \ifodd\value{r3} - \greatsword - \else - \greatclub - \fi -\fi -\ifnumcomp{\thechapter}{>}{8}{, \thepage~sp}{}}% EQUIPMENT -{} -} - -\newcommand{\deepogre}[1][\npc{\T\N}{\addtocounter{r4b}{1}\arabic{r4b} Ogres}]{ - #1 - \randomthree\addtocounter{age}{3} - \randomtwo\addtocounter{enc}{2} - \randomtwoB - \randomthreeC - \randomfourB -\person{\arabic{age}}% STRENGTH -{0}% DEXTERITY -{\arabic{enc}}% SPEED -{{-3}% INTELLIGENCE -{-1}% WITS -{-4}}% CHARISMA -{0}% DR -{\arabic{r2b}}% COMBAT -{\ifodd\value{r2c}% - Beast Ken -\else% - Vigilance -\fi\arabic{r2}}% SKILLS -{\ifodd\value{r3c} - Nothing. -\else - \greatclub -\fi -}% EQUIPMENT -{} -} - -\newcommand{\undeadogre}[1][\npc{\D\N}{Undead Ogre}]{ - #1 - \randomtwo - \addtocounter{enc}{4} - \animal{\arabic{enc}}% STRENGTH - {-2}% DEXTERITY - {0}% SPEED - {-4}% WITS - {2}% DR - {2}% AGGRESSION - {}% SKILLS - {Undead}% ABILITIES - {}% -} - -\newcommand{\ghoul}[1][\npc{\D\T}{\arabic{r12} Ghouls}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{enc}{-3} - \randomthreeB - \randomdozen -\animal{\arabic{r2b}}% STRENGTH -{-2}% DEXTERITY -{\arabic{enc}}% SPEED -{-2}% WITS -{2}% DR -{2}% AGGRESSION -{}% SKILLS -{Undead}% ABILITIES -{ -\ifnumcomp{\value{r3b}}{=}{1}% - {\textbf{Equipment:} & \lootSmall \\}% - {} -}% -} - -\newcommand{\ghast}[1][\npc{\D}{Ghast}]{ - #1 - \randomtwo\addtocounter{enc}{1} - \randomtwoB - \addtocounter{r2b}{-1} -\person{\arabic{enc}}% STRENGTH -{\arabic{r2b}}% DEXTERITY -{0}% SPEED -{{\arabic{enc}}% INTELLIGENCE -{0}% WITS -{-5}}% CHARISMA -{2}% DR -{2}% COMBAT -{Aggression~\arabic{enc}, \ifodd\thepage Beast~Ken\else Deceit\fi~\arabic{r3}, Survival~\arabic{r3b}, Tactics~\arabic{r2}, Vigilance~1}% SKILLS -{\ifodd\value{r2}% - \longsword% - \ifodd\value{r4}% - , \partialleather% - \fi% -\else% - \greatsword, dagger% - \ifodd\value{r4}% - , \partialchain% - \fi% -\fi% -\ifodd\thepage, \lootJewellery\fi}% EQUIPMENT -{} -} - -\newcommand{\necromancer}[1][\npc{\M}{The Necromancer}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomtwoB - \randomtwoC - \addtocounter{r2b}{-1} - \randomthree - \randomthreeB - \randomthreeC - \randomfour -\person{\arabic{r2}}% STRENGTH -{0}% DEXTERITY -{\arabic{r2b}}% SPEED -{{\arabic{enc}}% INTELLIGENCE -{\arabic{r2b}}% WITS -{-5}}% CHARISMA -{2}% DR -{\arabic{r2}}% COMBAT -{Aggression~2, Projectiles~\arabic{r2c}, Academics~\arabic{r3}, Deceit~1, Medicine~\arabic{r2c}, Vigilance~\arabic{r2} -\Path{Devotion (Qualm\"e)}{\ifodd\value{r4} \aldaron~\arabic{enc}, \fi \fate~\arabic{enc}, \ifodd\value{r2} \enchantment~\arabic{r3c}, \fi \necromancy~4}}% SKILLS -{\ifodd\thepage% - \Dagger% -\else% - \shortsword% - \ifodd\value{r3b}% - , \partialleather% - \fi% -\fi% -, \multiply\value{track} by 2% -mana stone holding \arabic{track} MP, \ifodd\thechapter\lootJewellery\fi}% EQUIPMENT -{\lockedmana{\value{r4}}} -} - -\newcommand{\demilich}[1][\npc{\D\E}{Demilich}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomtwoB - \randomthree - \addtocounter{age}{-2} - \randomthreeC - \randomfour -\person{\arabic{r2}}% STRENGTH -{\arabic{age}}% DEXTERITY -{-2}% SPEED -{{\arabic{enc}}% INTELLIGENCE -{\arabic{r2b}}% WITS -{-5}}% CHARISMA -{2}% DR -{\arabic{r2}}% AGGRESSION -{Aggression 2, Projectiles~\arabic{r2}, Academics~\arabic{r3}, Deceit~1, Medicine~\arabic{r3c}, Vigilance~\arabic{r2} -\Path{Devotion (Qualm\"e)}{\ifodd\value{r3}\aldaron~\arabic{enc}, \fi \fate~\arabic{enc}, \ifodd\value{r4} \enchantment~\arabic{r3}, \fi \necromancy~5}}% SKILLS -{\ifodd\thechapter% - \Dagger, % -\else - \longsword, % -\fi% - \ifodd\value{r4}% - \partialplate% - \else% - \completechain% - \fi% -\multiply\value{track} by 2% -, mana stone with \arabic{track} mana, \lootJewellery, \randomtwo\lootJewellery, \lootMagic}% EQUIPMENT -{\lockedmana{\value{r4}}} -} - -\newcommand{\lich}[1][\npc{\D}{Lich}]{ - #1 - \randomtwo - \addtocounter{enc}{-3} - \randomtwoB - \addtocounter{r2b}{2} - \randomthree - \addtocounter{age}{1} - \randomthreeB - \randomfour - \addtocounter{track}{-3} -\person{\arabic{r2}}% STRENGTH -{\arabic{track}}% DEXTERITY -{\arabic{enc}}% SPEED -{{\arabic{r2b}}% INTELLIGENCE -{\arabic{r3}}% WITS -{-5}}% CHARISMA -{2}% DR -{\arabic{r3b}}% COMBAT -{Aggression 2, \ifodd\thechapter Projectiles~\arabic{r3}, \fi Academics~3, \ifodd\value{gold}Crafts~\arabic{r3}, \fi Deceit~\arabic{r2b}, Medicine~\arabic{r2b}, Vigilance~\arabic{r3b} -\Path{Alchemy \& Devotion (Qualm\"e)}{\ifodd\value{page}\aldaron \else \conjuration \arabic{age}, \fate \fi~\arabic{r3}, \enchantment \arabic{r4}, \ifodd\thechapter \invocation \arabic{r2b}, \fi \necromancy 5}}% SKILLS -{\ifnum\value{r3b}>2% - \longsword% - \ifodd\value{r4}% - , \completechain% - \else% - , \partialplate% - \fi% -\else% - \Dagger% -\fi, \addtocounter{track}{3}\multiply\value{track} by 2% -mana stone with \arabic{track} mana, \lootJewellery, \randomtwo\lootJewellery, \lootMagic}% EQUIPMENT -{\lockedmana{\value{r4}}} -} - -\newcommand{\jelly}[1][\npc{\A}{\ifnum\value{r4}>3 Black\else \ifnum\value{r4}>2 Red \else \ifnum\value{r4}>1 Brown\else Transluscent\fi\fi\fi~ Ooze}]{ - #1 - \randomfour - \randomfour - \randomfour - \addtocounter{track}{2} - \setcounter{gold}{\value{r4}} - \multiply\value{gold} by -1 - \addtocounter{gold}{3} - \randomthree - \randomthreeB -\animal{\arabic{r4}}% STRENGTH -{\arabic{gold}}% DEXTERITY -{\arabic{gold}}% SPEED -{\arabic{r3}}% WITS -{\arabic{track}}% DR -{\arabic{r4}}% AGGRESSION -{\ifnum\value{gold}>0 Athletics \arabic{gold}, Stealth~\arabic{gold}\else Projectiles~\arabic{r3}\fi, \knacks{\ifnum\value{r4}>3\disarm, \fi \unstoppable}}% SKILLS -{Acidic damage, gelatinous (DR does not apply to fire-based attacks)}% ABILITIES -{} -} - -\newcommand{\umberhulk}[1][\npc{\A}{Umber Hulk}]{ - #1 - \randomtwo\addtocounter{enc}{3} - \randomthree - \randomtwoB - \addtocounter{r2b}{-1} -\animal{\arabic{enc}}% STRENGTH -{\arabic{r2b}}% DEXTERITY -{\arabic{r3}}% SPEED -{\arabic{r2}}% WITS -{\arabic{enc}}% DR -{2}% AGGRESSION -{Stealth~\arabic{r2}, Survival~\arabic{r3}, Vigilance~\arabic{r2b}}% SKILLS -{}% ABILITIES -{} -} - -\newcommand{\horse}[1][\npc{\A}{Horse}]{ - #1 - \randomtwo - \addtocounter{enc}{1} -\animal{\arabic{enc}}% STRENGTH -{0}% DEXTERITY -{\arabic{r2b}}% SPEED -{\arabic{r2}}% WITS -{1}% DR -{\ifodd\value{r2}1\fi}% AGGRESSION -{Athletics~2, Survival~1}% SKILLS -{\quadraped}% ABILITIES -{} -} - -\newcommand{\warhorse}[1][\npc{\A}{War Horse}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{enc}{2} - \addtocounter{r2b}{2} -\animal{\arabic{enc}}% STRENGTH -{0}% DEXTERITY -{\arabic{r2b}}% SPEED -{\arabic{r2}}% WITS -{1}% DR -{\ifodd\value{r2}1\else 2\fi}% AGGRESSION -{Athletics~2, Survival~1, Vigilance~1}% SKILLS -{\quadraped}% ABILITIES -{} -} - -\newcommand{\donkey}[1][\npc{\A}{Donkey}]{ - #1 - \randomtwo - \addtocounter{enc}{1} - \randomtwoB -\animal{\arabic{r2}}% STRENGTH -{-1}% DEXTERITY -{\arabic{r2b}}% SPEED -{1}% WITS -{1}% DR -{1}% AGGRESSION -{Athletics~2, Survival~1}% SKILLS -{\quadraped}% ABILITIES -{} -} - -\newcommand{\cat}[1][\npc{\A}{Cat}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{r2b}{2} -\animal{-5}% STRENGTH -{\arabic{enc}}% DEXTERITY -{\arabic{r2b}}% SPEED -{3}% WITS -{0}% DR -{\arabic{r2}}% AGGRESSION -{Survival~2, Vigilance~2}% SKILLS -{\quadraped}% ABILITIES -{}% -} - -\newcommand{\huntingdog}[1][\npc{\A\T}{\randomfour\addtocounter{track}{2}\arabic{track} Hunting Dogs}]{ - #1 - \randomtwo - \randomtwoB - \addtocounter{enc}{-2} -\animal{-2}% STRENGTH -{\arabic{enc}}% DEXTERITY -{\arabic{r2b}}% SPEED -{1}% WITS -{0}% DR -{\arabic{r2}}% AGGRESSION -{Survival~2, Vigilance~2}% SKILLS -{\teeth, \quadraped}% ABILITIES -{}% -} - -\newcommand{\rockman}[1][\npc{\E}{Rock Man}]{ - #1 - \randomtwo - \addtocounter{enc}{-1} - \randomthree - \addtocounter{age}{4} - \randomtwoB - \addtocounter{r2b}{-\value{age}} -\person{\arabic{age}}% STRENGTH -{\arabic{r2}}% DEXTERITY -{\arabic{r2b}}% SPEED -{{\arabic{r3b}}% INTELLIGENCE -{-4}% WITS -{\arabic{r3}}}% CHARISMA -{\arabic{age}}% DR -{\arabic{r2}}% AGGRESSION -{Academics~\arabic{r3}, Ether~Lore~\arabic{r2}, Stealth~3, Vigilance~\arabic{r2}}% SKILLS -{\ifnumcomp{\value{r12}}{=}{12}% - {Pet rock}% - {None} -\perfectArmour}% EQUIPMENT -{} -} - -\newcommand{\lavaman}[1][\npc{\E}{Lavaman}]{ - #1 - \randomtwo - \addtocounter{enc}{-1} - \randomthree - \addtocounter{age}{4} - \randomtwoB - \addtocounter{r2b}{-\value{age}} - \addtocounter{r2b}{3} -\person{\arabic{age}}% STRENGTH -{-1}% DEXTERITY -{\arabic{r2b}}% SPEED -{{-3}% INTELLIGENCE -{-5}% WITS -{\arabic{r2b}}}% CHARISMA -{\arabic{age}}% DR -{\arabic{r4}}% AGGRESSION -{Crafts~\arabic{r2}, Deceit~\arabic{r3}, Ether Lore~1, }% SKILLS -{\ifodd\value{r3}None\else\greatsword\fi}% EQUIPMENT -{\perfectArmour} -} - -\newcommand{\archmage}[1][\npc{\E}{Archmage}]{ - #1 - \randomtwo - \addtocounter{enc}{3} - \randomtwoB - \randomthree - \randomthreeB - \addtocounter{age}{1} - \randomfour -\person{-5}% STRENGTH -{-2}% DEXTERITY -{-3}% SPEED -{{\arabic{enc}}% INTELLIGENCE -{4}% WITS -{-5}}% CHARISMA -{0}% DR -{0}% AGGRESSION -{Projectiles~\arabic{r3}, Academics~3, Deceit~\arabic{r2}, Ether~Lore~\arabic{r2b}, Tactics~\arabic{r3b} -\Path{Divinity}{\addtocounter{age}{2} \force~\arabic{age}, \illusion~\arabic{r3}, \invocation~\arabic{r4}, \conjuration~\arabic{enc},}}% SKILLS -{None}% ABILITIES -{\setcounter{gold}{\value{age}}\multiply\value{gold} by 3\addtocounter{gold}{\value{int}}\setcounter{sp}{\value{gold}}% -\lockedmana{\value{age}}\addtocounter{xpbonus}{4}} -} - -\newcommand{\watcher}[1][\npc{\A}{Watcher}]{ - #1 - \randomthree - \addtocounter{age}{-3} -\animal{\arabic{age}}% STRENGTH -{-2}% DEXTERITY -{-2}% SPEED -{\arabic{r3}}% WITS -{3}% DR -{0}% AGGRESSION -{Stealth~3, Vigilance~2}% SKILLS -{Gas}% ABILITIES -{\addtocounter{xpbonus}{3}} -} - diff --git a/config/stats.sty b/config/stats.sty deleted file mode 100644 index 50344dba..00000000 --- a/config/stats.sty +++ /dev/null @@ -1,615 +0,0 @@ -\ProvidesPackage{config/stats} -%%%%%%%%%%%%%%%%%%%% Introduction - -\newtoggle{bestiarychapter} -\settoggle{bestiarychapter}{false} - -% _ _ -% ___| |_ __ _| |_ -% / __| __/ _` | __| -% \__ \ || (_| | |_ -% |___/\__\__,_|\__| -% -% -% _ _ _ -% | |__ | | ___ ___| | _____ -% | '_ \| |/ _ \ / __| |/ / __| -% | |_) | | (_) | (__| <\__ \ -% |_.__/|_|\___/ \___|_|\_\___/ -% -% -% This file makes stat blocks for monsters. -% -% The writer feeds in something like this: -% -% \npc{\M}{Patrick the Pyromanacer} -% -% \person{0}% STRENGTH -% {0}% DEXTERITY -% {0}% SPEED -% {{0}% INTELLIGENCE -% {0}% WITS -% {0}}% CHARISMA -% {0}% DR -% {0}% COMBAT -% {}% SKILLS -% {Nothing}% EQUIPMENT -% {} -% -% The \person command takes various stats, and -% inside that 'SKILLS' variable (variable no. 8), -% we can add additional things, like -% \knacks{\firststrike}, or -% \Path{Blood}{\invocation{2}}, which gives your -% wizzard 'invocation 2'. -% -% Most of the rest of the commands deal with -% properly calculating derived stats, like the TN -% to hit the creature. - - -\newtoggle{mind} -\newtoggle{examplecharacter} -\settoggle{examplecharacter}{false} -\newtoggle{debug}\settoggle{debug}{false} -\newcommand{\ent}[1]{\textbf{#1}} -\newcommand{\test}{} -\newcommand{\skills}{} -\newcommand{\equipment}{} -\newcommand{\mods}{} -\newcommand{\printknacks}{} -\newcommand{\weaponknackone}{} -\newcommand{\weaponknacktwo}{} - -% we calculate damage here because we can't display 1d6+6 damage - it has to turn into 2d6+2 damage. -\newcommand{\calculatedamage}[1]{% - \setcounter{damagebonus}{#1}% - \setcounter{numberofdice}{1}% - \whileboolexpr{test {\ifnumcomp{\value{damagebonus}}{>}{3}}}{% - \addtocounter{damagebonus}% - {-4}\addtocounter{numberofdice}{1}% - }% - {$\arabic{numberofdice}D6% - \ifnumcomp{\value{damagebonus}}{>}{0}% - {+\arabic{damagebonus}$}% - {% - \ifnumcomp{\value{damagebonus}}{<}{0}{% - \arabic{damagebonus}$}% - {$}% - }% - }% -} - - -%%%%%%%%%%%%%%%%%%%% Character Generation %%%%%%%%%%%%%%%%%%%% -% -% _ -% ___ ___ _ _ _ __ | |_ ___ _ __ ___ -% / __/ _ \| | | | '_ \| __/ _ \ '__/ __| -%| (_| (_) | |_| | | | | || __/ | \__ \ -% \___\___/ \__,_|_| |_|\__\___|_| |___/ -% -% -% Attributes: str, dex, spd, int, wts, cha -% secondary str, dex and spd -\newcounter{str} -\newcounter{dex} -\newcounter{spd} -\newcounter{int} -\newcounter{wts} -\newcounter{cha} -\newcounter{att} -\newcounter{dam} -\newcounter{dr} -\newcounter{knacks} -\newcounter{foxhop}% set to '1' if the character has fox hop -\setcounter{foxhop}{0} - - -\newcounter{strb} -\newcounter{dexb} -\newcounter{spdb} -\newcounter{attb} -\newcounter{damb} -% -% Extras: MP hp fp -% Derived: dicenumber, dicebonus, -\newcounter{mp} -\newcounter{mpb} -\newcounter{sp} -\newcounter{hp} -\newcounter{fp} -\newcounter{numberofdice} -\newcounter{damagebonus} -\newcounter{xp} -\newcounter{xpbonus} -\newcounter{attackXPtotal} -\newcounter{defenceXPtotal} - -% _ -% ___ ___ _ __ ___ _ __ ___ __ _ _ __ __| |___ -% / __/ _ \| '_ ` _ \| '_ ` _ \ / _` | '_ \ / _` / __| -% | (_| (_) | | | | | | | | | | | (_| | | | | (_| \__ \ -% \___\___/|_| |_| |_|_| |_| |_|\__,_|_| |_|\__,_|___/ -% - - - -% magic -\newcommand{\mana}[1]{\setcounter{mp}{#1}} -\newcommand{\aldaron}{\addtocounter{mp}{3}Aldaron} -\newcommand{\conjuration}{\addtocounter{mp}{3}Conjuration} -\newcommand{\enchantment}{\addtocounter{mp}{3}Enchantment} -\newcommand{\fate}{\addtocounter{mp}{3}Fate} -\newcommand{\force}{\addtocounter{mp}{3}Force} -\newcommand{\invocation}{\addtocounter{mp}{3}Invocation} -\newcommand{\illusion}{\addtocounter{mp}{3}Illusion} -\newcommand{\necromancy}{\addtocounter{mp}{3}Necromancy} -\newcommand{\polymorph}{\addtocounter{mp}{3}Polymorph} -\newcommand{\saurecanta}{\addtocounter{mp}{3}Saurecanta} -\newcommand{\lockedmana}[1]{\setcounter{mpb}{-#1}} -\newcommand{\armourtype}{N} - -\newcommand{\knacks}[1]{ \\ - \ent{Knacks:} & #1 -} - -%%%%%%%%%%%%%%%%%%%%% Knacks -% -\newcommand{\adrenalinesurge}{Adrenaline Surge\addtocounter{strb}{1}\addtocounter{knacks}{1}} -\newcommand{\disarm}{Disarm\addtocounter{knacks}{1}\addtocounter{xpbonus}{1}} -\newcommand{\guardian}{Guardian\addtocounter{knacks}{1}} -\newcommand{\furiousblows}{Furious Blows\addtocounter{knacks}{1}} -\newcommand{\firststrike}{First Strike\addtocounter{spd}{1}\addtocounter{spdb}{2}\addtocounter{knacks}{1}} -\newcommand{\specialist}[1]{Specialist (#1)\addtocounter{knacks}{1}} -\newcommand{\bloodcaster}{Blood Caster\addtocounter{knacks}{1}} -\newcommand{\combatcaster}{Combat Caster\addtocounter{knacks}{1}} -\newcommand{\backtothewall}{Back to the Wall\addtocounter{knacks}{1}} -\newcommand{\laststand}{Last Stand\addtocounter{knacks}{1}} -\newcommand{\perfectsneakattack}{Perfect Sneak Attack\addtocounter{knacks}{1}\addtocounter{strb}{\value{knacks}}\addtocounter{strb}{2}} -\newcommand{\precisestrike}{Precise Strike\addtocounter{knacks}{1}} -\newcommand{\quickshot}{Quick Shot\addtocounter{knacks}{1}} -\newcommand{\stunningstrike}{Stunning Strike\addtocounter{knacks}{1}\addtocounter{xpbonus}{1}} -\newcommand{\charge}{\addtocounter{knacks}{1}\setcounter{track}{\value{knacks}}\addtocounter{track}{1}\divide\value{track} by 2\addtocounter{attb}{\value{track}}\addtocounter{strb}{\value{track}}\addtocounter{spdb}{\value{track}}Extreme Charge} -\newcommand{\snapshot}{Snap Shot\addtocounter{knacks}{1}\addtocounter{strb}{2}} -\newcommand{\defender}{Defender\addtocounter{knacks}{1}\addtocounter{xpbonus}{1}} -\newcommand{\dodger}{Dodger\addtocounter{knacks}{1}} -\newcommand{\foxhop}{Fox Hop\addtocounter{knacks}{1}\setcounter{foxhop}{1}} -\newcommand{\mightydraw}{Mighty Draw\addtocounter{knacks}{1}} -\newcommand{\finishingblow}{Finishing Blow\addtocounter{knacks}{1}} -\newcommand{\unstoppable}{Unstoppable\addtocounter{hp}{2}\addtocounter{knacks}{1}} - -%%%%% Weapons - -\newcommand{\javelin}{Javelin\addtocounter{str}{1}\addtocounter{spd}{2}} -\newcommand{\Dagger}{Dagger\addtocounter{str}{1}} -\newcommand{\shortsword}{Shortsword\addtocounter{str}{1}\addtocounter{spd}{1}\addtocounter{dex}{2}} -\newcommand{\club}{Club\addtocounter{str}{2}\addtocounter{spd}{1}\addtocounter{dex}{1}} -\newcommand{\rapier}{Rapier\addtocounter{str}{1}\addtocounter{spd}{2}\addtocounter{dex}{1}} -\newcommand{\longsword}{Longsword\addtocounter{str}{1}\addtocounter{spd}{1}\addtocounter{dex}{3}} -\newcommand{\greatsword}{Greatsword\addtocounter{str}{2}\addtocounter{spd}{1}\addtocounter{dex}{2}} -\newcommand{\spear}{Spear\addtocounter{str}{1}\addtocounter{spd}{1}\addtocounter{dex}{2}\addtocounter{spdb}{2}} -\newcommand{\quarterstaff}{Quarterstaff\addtocounter{spd}{1}\addtocounter{dex}{2}\addtocounter{spdb}{2}} -\newcommand{\greataxe}{Greataxe\addtocounter{str}{3}\addtocounter{spd}{1}\addtocounter{dex}{1}} -\newcommand{\woodaxe}{Wood axe\addtocounter{str}{2}\addtocounter{dex}{1}} -\newcommand{\greatclub}{Greatclub\addtocounter{str}{4}\addtocounter{spd}{1}\addtocounter{dex}{1}} -\newcommand{\longbow}{Longbow} -\newcommand{\shield}{\addtocounter{dex}{1}shield} -\newcommand{\bucklar}{\addtocounter{dex}{1}bucklar shield} - -% ARMOUR - -%% For perfect armour, stick \perfectArmour in the additional notes category of a \person (#9). - -\newcommand{\perfectArmour}{\gdef\armourtype{(Perfect)}} - -\newcommand{\partialelvish}{partial leather armour% - \ifnumcomp{\value{dr}}{>}{2}% - {\addtocounter{dr}{1}}% - {\divide\value{dr} by 2 \addtocounter{dr}{2}}% -} - -\newcommand{\partialleather}{partial leather armour% - \ifnumcomp{\value{dr}}{>}{3}% - {\addtocounter{dr}{2}}% - {\divide\value{dr} by 2 \addtocounter{dr}{3}}% -} - -\newcommand{\completeleather}{full leather armour\gdef\armourtype{C}% - \ifnumcomp{\value{dr}}{>}{3}% - {\addtocounter{dr}{2}}% - {\divide\value{dr} by 2 \addtocounter{dr}{3}}% -} - -\newcommand{\partialchain}{partial chainmail% - \ifnumcomp{\value{dr}}{>}{4}% - {\addtocounter{dr}{2}}% - {\divide\value{dr} by 2 \addtocounter{dr}{4}}% -} - -\newcommand{\completechain}{complete chain armour\gdef\armourtype{C}% - \ifnumcomp{\value{dr}}{>}{4}% - {\addtocounter{dr}{2}}% - {\divide\value{dr} by 2 \addtocounter{dr}{4}}% -} - -\newcommand{\partialplate}{partial plate armour% - \ifnumcomp{\value{dr}}{>}{5}% - {\addtocounter{dr}{3}}% - {\divide\value{dr} by 2 \addtocounter{dr}{5}}% -} - -\newcommand{\completeplate}{complete plate armour\gdef\armourtype{C}% - \ifnumcomp{\value{dr}}{>}{5}% - {\addtocounter{dr}{3}}% - {\divide\value{dr} by 2 \addtocounter{dr}{5}}% -} - -% -% _ __ ___ _ __ ___ ___ _ __ -%| '_ \ / _ \ '__/ __|/ _ \| '_ \ -%| |_) | __/ | \__ \ (_) | | | | -%| .__/ \___|_| |___/\___/|_| |_| -%|_| -% -% -% _ _ -%% ___| |__ __ _ _ __ __ _ ___| |_ ___ _ __ -%% / __| '_ \ / _` | '__/ _` |/ __| __/ _ \ '__| -%%| (__| | | | (_| | | | (_| | (__| || __/ | -%% \___|_| |_|\__,_|_| \__,_|\___|\__\___|_| -%% -%% optional counters, such as mana, are cleaned -%% clear: weaponsknack1 and 2, -%% -% -\newcommand{\mind}[3]{ -\setcounter{int}{#1}\setcounter{wts}{#2}\setcounter{cha}{#3} -} -% - -%%%%%%%%%%% Person -% -\newcommand{\person}[9]{ - \settoggle{mind}{true} - \setcounter{str}{#1} - \setcounter{dex}{#2} - \setcounter{spd}{#3} - \mind#4 - \setcounter{dr}{#5} - \setcounter{att}{#6} - \renewcommand{\skills}{#7} - \renewcommand{\equipment}{#8} - \renewcommand{\mods}{#9} - - \clean - - \renewcommand{\armourtype}{P} - \gdef\armourtype{P} - - \begin{tcolorbox}[title={\name}, - before upper={\parindent0pt}, - halign=flush left, - left=10pt, - right=15pt, - watermark text=\npcsymbol] - - \iftoggle{personality}{ - - \textbf{Archetype:} \archetype - - \textbf{Personality:} \personality - - \textbf{Mannerism:} \mannerism - - \vspace{1em} - - \settoggle{personality}{false}}% - {} - \creaturestats - - \derivedstats - \end{tcolorbox} - \settoggle{debug}{false} - \settoggle{examplecharacter}{false} - -} - -\newcommand{\animal}[9]{ - \settoggle{mind}{false} - \setcounter{str}{#1} - \setcounter{dex}{#2} - \setcounter{spd}{#3} - \setcounter{wts}{#4} - \setcounter{dr}{#5} - \setcounter{att}{#6} - \renewcommand{\skills}{#7} - \renewcommand{\abilities}{#8} - \renewcommand{\mods}{#9} - - \clean - - \renewcommand{\armourtype}{C} - - \begin{tcolorbox}[title={\name}, - before upper={\parindent0pt}, - halign=flush left, - left=10pt, - right=15pt, - watermark text=\npcsymbol] - - \iftoggle{personality}{ - - \textbf{Personality:} \personality - - \textbf{Mannerism:} \mannerism - - \vspace{1em} - - \settoggle{personality}{false}}% - {} - \creaturestats - - \derivedstats - - \end{tcolorbox} - -} - -\newcommand{\clean}{ - \setcounter{fp}{5} - \setcounter{sp}{0} - \setcounter{knacks}{0} - \renewcommand{\armourtype}{N} - \renewcommand{\weaponknackone}{} - \renewcommand{\weaponknacktwo}{} - \setcounter{mp}{0} - \setcounter{mpb}{0} - \setcounter{xpbonus}{0} - \settoggle{team}{false} - -} - -%% _ _ _ _ _ -%% __ _| |_| |_ _ __(_) |__ _ _| |_ ___ ___ -%% / _` | __| __| '__| | '_ \| | | | __/ _ \/ __| -%%| (_| | |_| |_| | | | |_) | |_| | || __/\__ \ -%% \__,_|\__|\__|_| |_|_.__/ \__,_|\__\___||___/ -%% -%% Print the line, -%% print the attributes. -%% print the skills -%% print the knacks -%% print the equipment -% -\newcommand{\creaturestats}{ - \vspace{.1cm} - -% Reference versions (which always are non-verbose) don't -% have the space for full-sized stats. - -\iftoggle{verbose}{ - \begin{small}% -}{% - \begin{footnotesize} -} - -\setcounter{strb}{0} -\setcounter{spdb}{0} -\setcounter{dexb}{0} - -\begin{tabularx}{\textwidth}{lr|lr|lr} - -% the tcolorbox has coloured rows (xcolor package) -% but that doesn't work with creature stats, so we suppress it here -\hiderowcolors - - \iftoggle{verbose}{Strength}{STR} & \arabic{str} & \iftoggle{verbose}{Dexterity}{DEX} & \arabic{dex} & \iftoggle{verbose}{Speed}{SPD} & \arabic{spd} \\ -\iftoggle{mind}{ - \iftoggle{verbose}{Intelligence}{INT} & \arabic{int} & \iftoggle{verbose}{Wits}{WTS} & \arabic{wts} & \iftoggle{verbose}{Charisma}{CHA} & \arabic{cha} \\}{% - && \iftoggle{verbose}{Wits}{WTS} & \arabic{wts} \\ - } - \setcounter{hp}{\value{str}} -\end{tabularx} - -\hrule - \addtocounter{hp}{6} - - \iftoggle{examplecharacter}{}{ - \addtocounter{dex}{7} -} -\vspace{.1cm} -\raggedright -\noindent\begin{tabular}{p{.3\textwidth}>{\raggedright\arraybackslash}p{.65\textwidth}} - - \ent{Skills:} & \ifnumcomp{\value{att}}{=}{0}{\setcounter{att}{-1}}{\iftoggle{mind}{Combat \arabic{att}, }{Aggression \arabic{att}, }} \skills \\ - \iftoggle{mind}{\ent{Equipment:} & \equipment \\}{\ent{Abilities:} & \abilities \\} - - \addtocounter{strb}{\value{str}} - \addtocounter{dexb}{\value{dex}} - \addtocounter{spdb}{\value{spd}} - \setcounter{damb}{\value{dam}} - \setcounter{attb}{\value{att}} - - \mods - -\end{tabular} - - \weaponknackone - \weaponknacktwo - -\iftoggle{examplecharacter}{}{ - \addtocounter{att}{8} - \addtocounter{attb}{8} -} - -\vspace{.1cm} - -\iftoggle{verbose}{% - \end{small}% -}{% - \end{footnotesize}% -}% -} - -%% _ _ _ -%% __| | ___ _ __ ___| |_ __ _| |_ ___ -%% / _` |/ _ \ '__/ __| __/ _` | __/ __| -%%| (_| | __/ | \__ \ || (_| | |_\__ \ -%% \__,_|\___|_| |___/\__\__,_|\__|___/ -%% -%% -%% dice instead of Damage -%% print out att, spd, DAM, dex, dr (type), str -%% -% -\newcommand{\derivedstats}{ - \iftoggle{debug}{str is \arabic{str}, strb is \arabic{strb}.}{} - - \hrule - - \vspace{.1cm} - -\noindent Attack \arabic{att}\ifnumcomp{\value{att}}{=}{\value{attb}}{}{ (\arabic{attb})}, - Initiative \arabic{spd}\ifnumcomp{\value{spd}}{=}{\value{spdb}}{}{ (\arabic{spdb})}, - Damage \calculatedamage{\value{str}}\ifnumcomp{\value{str}}{=}{\value{strb}}{}{ (\calculatedamage{\value{strb}})}, - \iftoggle{examplecharacter}{\mbox{Defence \arabic{dex},} }{% - TN \arabic{dex}% - \ifnumcomp{\value{dr}}{>}{0}{ - \ifnum\pdfstrcmp{\armourtype}{P}=0% - \addtocounter{dexb}{3} (\arabic{dexb})% - \fi - \ifnum\pdfstrcmp{\armourtype}{C}=0% - \addtocounter{dexb}{5}~(\arabic{dexb})% - \fi% - }{}, - }% - \ifnumcomp{\value{dr}}{>}{0}{DR \arabic{dr}~\armourtype, }{}% - \ifnum\value{mp}>0% - \addtocounter{mp}{\value{wts}}% - \mbox{ - \ifnum\value{mpb}=0% - \arabic{mp}~MP% - \else% - \addtocounter{mpb}{\value{mp}}% - \arabic{mpb} / \arabic{mp} MP% - \fi - \iftoggle{bestiarychapter}% - {, }% - { \Repeat{\value{mp}}{\ding{111}}, }% - } - \fi - \mbox{\arabic{hp} HP \iftoggle{bestiarychapter}{}{% - \ \Repeat{\value{hp}}{\ding{111}}% - }% - }% - \ifnumcomp{\value{sp}}{>}{0}% - {, \mbox{% - \arabic{sp} SP % - \iftoggle{bestiarychapter}{}{\Repeat{\value{sp}}{\ding{111}}}% - }% - }% - {}% -\iftoggle{examplecharacter}{\addtocounter{fp}{\value{cha}}, \arabic{fp} FP}{} - - - - - \iftoggle{examplecharacter}{}{ - \calculateXP - } - } -% -% -%% __ ______ -%% \ \/ / _ \ -%% \ /| |_) | -%% / \| __/ -%% /_/\_\_| -%% -\newcommand{\calculateXP}{% -%% Sanitize: init+5, dam+5, - \addtocounter{spdb}{5} - \addtocounter{strb}{5} - \addtocounter{dex}{5} - \addtocounter{dr}{2} - - -% Sanitize: dex+5, dr+1, -% attackXPtotal= strb x spdb x damb -\vspace{.1cm} - -\hrule -\vspace{.1cm} - \setcounter{attackXPtotal}{\value{attb}} - - \multiply\value{attackXPtotal} by \value{spdb} - - - \multiply\value{attackXPtotal} by \value{strb} - - \iftoggle{debug}{Attack total: \arabic{attackXPtotal}}{} - -% defenceXPtotal= dex x dr x hp - \setcounter{defenceXPtotal}{\value{dex}} - \multiply\value{defenceXPtotal} by \value{dr} - \multiply\value{defenceXPtotal} by \value{hp} - -\iftoggle{debug}{Defence total: \arabic{defenceXPtotal}}{} - -% XP = attackXPtotal + defenceXPtotal - \setcounter{xp}{\value{attackXPtotal}} - \addtocounter{xp}{\value{defenceXPtotal}} - \addtocounter{xp}{-350} - \multiply\value{mp} by 100 - \addtocounter{xp}{\value{mp}} -\ifnumcomp{\value{xp}}{<}{120}{\ifnumcomp{\value{xp}}{>}{100}{$1/2$ XP}{$1/3$}}{% - \divide\value{xp} by 120% - \addtocounter{xp}{\value{xpbonus}}% -\arabic{xp} XP}% -% if {mind} print fate points. -% -\iftoggle{examplecharacter}{% -}{ - \iftoggle{mind}% - {\addtocounter{fp}{\value{cha}} \arabic{fp} FP % - \iftoggle{bestiarychapter}% - {}% - {\Repeat{\value{fp}}{\ding{111}}} -}{} - \vspace{.1cm} - \hrule -} - - \vspace{.1cm} - -} -% -%%%%%%%%%%%%%%%%%%%% Creature Abilities - -\newcommand{\abilities}[1]{ \\ - \ent{Abilities:} & #1 - } - -\newcommand{\claws}{ - Claws (+1 Damage) \addtocounter{str}{1} - } - -\newcommand{\quadraped}{% - Quadraped (double movement)% -} - -\newcommand{\teeth}{% - Teeth (+1 Damage after grapple)\addtocounter{str}{1}% -} - - \newcommand{\web}{ - \setcounter{track}{6}\addtocounter{track}{\value{str}} - Web (Strength + Athletics, TN \arabic{track} to break free as a movement action) - } - - -%%%%%%%%%%%%%%%%%%%%% Magic Path -\newcommand{\Path}[2]{ \\ - \raggedright \ent{Path of #1:} & #2 - } diff --git a/config/test.tex b/config/test.tex deleted file mode 100644 index 254962f7..00000000 --- a/config/test.tex +++ /dev/null @@ -1,479 +0,0 @@ -\documentclass[a4paper,openany]{book} -\usepackage{layout} -\usepackage{loot} -\usepackage{stats} -\usepackage{monsters} -\usepackage{lipsum} - -\date{\today} - -\begin{document} - -\chapter{Random Stuff} - -\section{Introduction} - -\begin{multicols}{2} - -\subsection{This Document} - -This is a test document, to make sure new code works before sticking it in a project. - -\npc{\M}{Random Guy} -\person{1}% STRENGTH -{1}% DEXTERITY -{1}% SPEED -{{-2}% INTELLIGENCE -{-1}% WITS -{0}}% CHARISMA -{0}% DR -{1}% COMBAT -{Academics 1, Survival 1 -\Path{Alchemy}{\illusion~3, \invocation~1} -}% SKILLS -{\Dagger, pieces of string}% EQUIPMENT -{} - -\begin{speechtext} - - ``Would you tell me, please, which way I ought to go from here?'' - - ``That depends a good deal on where you want to get to.'' - -\end{speechtext} - -\subsection{And now for something completely different} - -\magicitem{Noodle of Death}% NAME - {Extinguish}% SPELL - {Divinity (FSM)}% PATH - {Instant}% DURATION - {Pocket Spell}% TYPE - {2}% Potency - {5}% MP - -\subsection{Encounters} - -\begin{encounters}{Wonderland} - - Fields & Gardens & Results \\\hline - - \li & Doormouse \\ - \li & Dodo \\ - \li \lii Unicorn \\ - \li \lii Red Queen \\ - & \lii Black Queen \\ - & \lii Green Queen \\ - - -\end{encounters} - -\begin{rollchart} - -Roll & Result \\\hline - -12 & Success \\ - -11 & Failure \\ - -\end{rollchart} - -\subsection{Random Text} - -\lipsum[7] - -\begin{xpbox} - Attribute Level & Cost \\\hline - - Buy off negative & 5 \\ - - +1 & 10 \\ - - +2 & 20 \\ - - +3 & 30 \\ - - +4 & 50 \\ -\end{xpbox} - -\subsection{And further more\ldots} - -\lipsum[10] - -\begin{xpchart}{FSM} - - 1 & Boiling Pasta. \\ - - 3 & Being a pirate. \\ - - 5 & Perfecting Meatballs. \\ - -\end{xpchart} - - - -\end{multicols} - -\chapter{Stat Blocks} - -\section{Humanoids} - -\begin{multicols}{2} - -\subsection{Humans} - -\humanfarmer - -\humanmaid - -\humansoldier - -\royalguard - -\humansoldier - -\humandiplomat - -\humanbard - -\humanbard - -\humanthief - -\humanalchemist - -\necromancer - -\subsection{Dwarves} - -\dwarvensoldier - -\dwarventrader - -\dwarvenrunemaster - -\subsection{Elves} - -\elf - -\elf - -\elvenenchanter - -\subsection{Gnomes} - -\gnome - -\gnomishsoldier - -\gnomishsoldier - -\gnomishillusionist - -\subsection{Gnolls} - -\gnollhunter - -\gnollshaman - -\gnollshaman - -\end{multicols} - -\section{Forest Critters} - -\begin{multicols}{2} - -\bear - -\boar - -\chitincrawler - -\basilisk - -\end{multicols} - -\section{Undead} - -\begin{multicols}{2} - -\ghoul - -\ghast - -\demilich - -\lich - -\end{multicols} - -\chapter{Nura} - -\begin{multicols}{2} - -\subsection{Humanoids} - -\goblin[\npc{\N}{Random Goblin}] - -\goblin - -\goblin - -\goblinnuramancer - -\hobgoblin - -\ogre - -\deepogre - -\subsection{Animals} - -\nurarat - -\nurahorse - -\nuracrab - -\nuracat - -\nuraslug - -\nuraspider - -\nurawolf - -\end{multicols} - -\chapter{Outsiders} - -\section{Weird Ones} - -\begin{multicols}{2} - -\archmage - -\archmage - -\dragon - -\rockman - -\lavaman - -\end{multicols} - -\section{Same} - -\begin{multicols}{2} - -\rockman - -\archmage - -\dragon - -\archmage - -\lavaman - -\end{multicols} - -\chapter{Bestiary Chapters} - -\begin{multicols}{2} - -\settoggle{bestiarychapter}{true} - -When using a bestiary chapter, the stats appear as dice rolls, rather than fixed amounts. - -\subsection{Humans} - -\humanfarmer - -\humansoldier - -\humansoldier - -\humandiplomat - -\humanbard - -\humanthief - -\humanalchemist - -\humanalchemist - -\necromancer - -\subsection{Dwarves} - -\dwarvensoldier - -\dwarventrader - -\dwarvenrunemaster - -\subsection{Elves} - -\elf - -\elf - -\elvenenchanter - -\subsection{Gnomes} - -\gnome - -\gnomishillusionist - -\subsection{Gnolls} - -\gnollhunter - -\gnollshaman - -\gnollshaman - -\end{multicols} - -\section{Forest Critters} - -\begin{multicols}{2} - -\bear - -\boar - -\huntingdog - -\cat - -\chitincrawler - -\basilisk - -\end{multicols} - -\section{Underground} - -\begin{multicols}{2} - -\umberhulk - -\jelly - -\jelly - -\jelly - -\jelly - -\end{multicols} - -\section{Undead} - -\begin{multicols}{2} - -\ghoul - -\ghast - -\demilich - -\lich - -\end{multicols} - -\section{Nura} - -\begin{multicols}{2} - -\subsection{Animals} - -\nurahorse - -\nuracrab - -\nuracat - -\nuraslug - -\nuraspider - -\nurawolf - -\subsection{Humanoids} - -\goblin - -\goblinnuramancer - -\hobgoblin - -\ogre - -\end{multicols} - -\settoggle{bestiarychapter}{false} - -\chapter{Lots of Text} - -\begin{multicols}{2} - -\noindent -\lipsum - -\end{multicols} - -\newcommand{\tests}{ - -\chapter{Another Test} - -\section{Test Section} - -\begin{multicols}{2} - -\lipsum[3] - -\humanbard - -\lipsum[2] - -\subsection{Test subsection} - -\elf - -\lipsum[3] - -\elf - -\subsubsection{Test sub-sub-section} - -\lipsum[10] - -\subsubsection{Test sub-sub-section again} - - -\subsection{Test subsection} - -\lipsum[2] - -\elf - -\lipsum[10] - -\section{Last Section} - -\lipsum[3] - -\end{multicols} - -} - -\Repeat{4}{\tests} - -\end{document} -- GitLab