diff --git a/config/.gitignore b/config/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..6d1b2c767426d92884db5abc1ea4720f3548095c --- /dev/null +++ b/config/.gitignore @@ -0,0 +1,35 @@ +*.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 +*.jpg +*.jpeg +*.tiff +*.xcf +*.xmpi diff --git a/config/LICENCE.md b/config/LICENCE.md new file mode 100644 index 0000000000000000000000000000000000000000..f18c4a67fd953e9f3d425b35325026fe6d481b68 --- /dev/null +++ b/config/LICENCE.md @@ -0,0 +1,25 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..2926c4d624c515ddbf6b5bb02207a2cbb5f6b69a --- /dev/null +++ b/config/Makefile @@ -0,0 +1,12 @@ +filename=example +output: ${filename}.pdf + pdflatex ${filename}.tex +${filename}.pdf: + pdflatex ${filename}.tex +new: + if [ ! -d .git ] && [ -e ../.git ] + then + cp -n main.tex .gitignore .. + fi +clean: + rm -r *.{aux,toc,acn,acr,log,ptc,out,idx,ist,alg,glo} 2>/dev/null diff --git a/config/README.md b/config/README.md new file mode 100644 index 0000000000000000000000000000000000000000..961a5b66dfe179f2be4c6629f43ac3a2cfe7d8ef --- /dev/null +++ b/config/README.md @@ -0,0 +1,53 @@ +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 . + +> ln -s 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.tex. For example, to place a random elf in your game, just write `\elf`, and an elf will be magically summoned unto your adventure. You can give the character a title and name by writing '\npc{symbol}{name}'. For example: + +``` + +\npc{\M}{Rincewind} + +\humanalchemist + +``` + +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 | +| \\G | Group | +| \\U | 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 + +The configs also have one branch per repo, so when writing Adventures in Fenestra ('aif'), you can do a push to just that branch: + +> git subtree -P config push ../config aif + diff --git a/config/bind.sty b/config/bind.sty new file mode 100644 index 0000000000000000000000000000000000000000..10e6525cfccfced77cf5716aa0025b509c025b05 --- /dev/null +++ b/config/bind.sty @@ -0,0 +1,482 @@ +\ProvidesPackage{bind} +\RequirePackage{glossaries} +\RequirePackage{glossary-mcols} +\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{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{mindmap,trees} +\RequirePackage{pifont} +\RequirePackage{colortbl} +\RequirePackage[poster]{tcolorbox} +\tcbuselibrary{breakable,raster} + +\tcbset{enhanced, drop shadow east, +colframe=gray,colbacktitle=black!5!white, +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;} +} +} + +\RequirePackage{xr-hyper} +\RequirePackage[ +pdfstartpage=2, +hidelinks=true, +bookmarks=true]% +{hyperref} + +%%%%%%%%%% Allow for external referencing + +\newcommand*{\externalReferent}[1]{ + \newtoggle{#1} + \IfFileExists{../#1/main.tex}{ + \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 + +%%%%% 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{40}{0} + \selectfont +} + +% change bullet points + +\renewcommand{\labelitemi}{\ding{250}} +\renewcommand{\labelitemii}{\ding{254}} + +%%%%%%%%%% Encounter Numbers + +\newcounter{encnum} +\newcommand{\lescounter}{\addtocounter{enc}{-1}} +\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{\sidepic}[2][5]{ + \needspace{2cm}\begin{wrapfigure}{R}{.#1\linewidth} +\noindent\includesvg[width=\linewidth]{images/#2} +\end{wrapfigure} +} + +\newcommand{\sidejpg}[3][5]{ + \iftoggle{verbose}{ + \begin{wrapfigure}{O}{.#1\linewidth} + \noindent\includegraphics[width=\linewidth]{images/#2} + #3 + \end{wrapfigure} +} +} + +\colorlet{chapnumcol}{black!55} + +\newcommand{\FancyFont}{} +\newcommand{\fancyfont}{} + +\titleformat{\chapter}[display] +{\bfseries} +{\begin{tikzpicture} + \node[minimum width=\textwidth, text=black!25, fill=black!25, inner sep=1, outer sep=0, anchor=south] (rectinit) {\huge CHAPTER}; + \node[minimum width=.8\textwidth, text=white, inner sep=1, outer sep=0, anchor=south west, text width=.8\textwidth, align=right] at (rectinit.south west) (chapname) {\FancyFont\headingtype~~}; + \node[minimum width=.2\textwidth, inner sep=0, outer sep=0, anchor=south west, text width=.2\textwidth, align=left] at (chapname.south east) {\chapnumfont\textcolor{chapnumcol}{\Roman{chapter}}}; +\end{tikzpicture}} +{0pt} +{\Huge\FancyFont} + +\titleformat{\section}[frame] +{\needspace{20em}\normalfont} +{\filright +\footnotesize +\enspace \fancyfont SECTION \thesection\enspace} +{8pt} +{\Large\bfseries\filcenter\fancyfont} + +\titleformat{\subsection}{\needspace{10em}\center\large\bfseries}{}{1em}{}[\rule{.9\linewidth}{.2pt}] +% +\titleformat{\subsubsection} +{\needspace{3em}\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}{false}} % 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 + +\newcommand{\monster}[1]{\needspace{4em}\vspace{.38cm} \ding{70} #1 \ding{70}\vspace{.18cm}} + +%%%%%%%%%%%%%%%%%%%% 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{r2} +\setcounter{r2}{1} +\newcounter{r2b} +\setcounter{r2}{2} +\newcounter{r2c} +\setcounter{r2c}{2} +\newcounter{r3} +\setcounter{r3}{\month} +\divide\value{r3} by 4 +\newcounter{r3b} +\setcounter{r3b}{2} +\newcounter{r3c} +\setcounter{r3c}{3} +\newcounter{r4} +\setcounter{r4}{\day} +\newcounter{r4b} +\setcounter{r4b}{\day} +\addtocounter{r4b}{1} +\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}{\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{Potence: #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{boxtext}{}{} + +\newenvironment{speechtext}{\begin{quotation}\noindent}{\end{quotation}} + +\tcolorboxenvironment{boxtext}{arc=0mm, before upper={\parindent15pt}} +\tcolorboxenvironment{speechtext}{} + +\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|p{.8\textwidth}},arc=0mm,adjusted title=XP Rewards for #1} + +\newtcolorbox[use counter=enc, use counter=list]{encounters}[1]{adjusted title=Encounters in #1,arc=1mm,tabularx={XXp{.6\textwidth}},code={\setcounter{enc}{19}\setcounter{list}{18}}} + +\newtcolorbox{rollchart}{tabularx={p{.3\linewidth}X},arc=1mm} + +\newtcolorbox{xpbox}[1]{tabularx={lc},arc=1mm,equal height group=#1} + + +%%%%%%%%%%%%%%%%%%% COMMANDS %%%%%%%%%%%%%%%%%%%% + +\newcommand{\story}[2]{\needspace{2em}\vspace{.3cm}\noindent\textbf{#2\ldots}\par\noindent 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}{ + \ifnumcomp{\value{r3b}}{>}{2}{\setcounter{r3b}{1}}{\addtocounter{r3b}{1}} +} + +\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{\arabic{list}: #1}} +\newcommand{\li}{\addtocounter{enc}{-1}\arabic{enc}&} +\newcommand{\lii}{\addtocounter{list}{-1}\arabic{list}&} + +%%%%% 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}[adjusted title={Summary: \sqName}] + + \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{\sskill}[1]{#1 & \ding{109} & \ding{109} & \ding{109}\\ +& \ding{111} & \ding{111} & \ding{111} \\ +} + + +\newcommand{\longline}{\line(1,0){340}\par\vspace{.2cm}} + diff --git a/config/example.tex b/config/example.tex new file mode 100644 index 0000000000000000000000000000000000000000..1f1ceb173a1a38f5168928e6ab72d09ade4d5a7d --- /dev/null +++ b/config/example.tex @@ -0,0 +1,341 @@ +\documentclass[a4paper,openany]{book} +\usepackage{bind} +\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 {\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 human fighter}, {\tt\textbackslash basilisk}, and {\tt \textbackslash ghoul}. + +\subsection{Random Text} + +\lipsum[7] + +\subsection{And further more\ldots} + +\lipsum[10] + +\end{multicols} + +\chapter{Humanoids} + +\begin{multicols}{2} + +\subsection{Humans} + +\humanfarmer + +\humanmaid + +\humansoldier + +\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} + +\chapter{Forest Critters} + +\begin{multicols}{2} + +\bear + +\boar + +\chitincrawler + +\basilisk + +\end{multicols} + +\chapter{Undead} + +\begin{multicols}{2} + +\ghoul + +\ghast + +\demilich + +\lich + +\end{multicols} + +\chapter{Nura} + +\begin{multicols}{2} + +\subsection{Humanoids} + +\goblin + +\goblin + +\goblinnuramancer + +\hobgoblin + +\ogre + +\deepogre + +\subsection{Animals} + +\nurarat + +\nurahorse + +\nuracrab + +\nuracat + +\nuraslug + +\nuraspider + +\nurawolf + +\end{multicols} + +\chapter{Outsiders} + +\begin{multicols}{2} + +\archmage + +\archmage + +\dragon + +\rockman + +\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 + +\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} + +\end{document} diff --git a/config/latexmkrc b/config/latexmkrc new file mode 100644 index 0000000000000000000000000000000000000000..755cb5d1b1fc64645a6b0f6ea7fb1beae0eba21a --- /dev/null +++ b/config/latexmkrc @@ -0,0 +1,8 @@ +add_cus_dep( 'tex', 'aux', 0, 'makeexternaldocument' ); + +sub makeexternaldocument { + if (!($root_filename eq $_[0])) + { + system( "latexmk -cd -pdf \"$_[0]\"" ); + } +} diff --git a/config/main.tex b/config/main.tex new file mode 100644 index 0000000000000000000000000000000000000000..1fbd35a18da5f57cfa66aef4d90b9239c1336a00 --- /dev/null +++ b/config/main.tex @@ -0,0 +1,18 @@ +\documentclass[a4paper,openany]{book} + +\usepackage{config/bind} +\usepackage{config/monsters} + +\settoggle{verbose}{true} + +\begin{document} + +%\pagenumbering{roman} + +\tableofcontents + +\pagebreak + + +\end{document} + diff --git a/config/monsters.sty b/config/monsters.sty new file mode 100644 index 0000000000000000000000000000000000000000..8df28d7c5b84e1cb938369db4baf80c68a6f0410 --- /dev/null +++ b/config/monsters.sty @@ -0,0 +1,2025 @@ +\ProvidesPackage{monsters} +%%%%%%%%%%%%%%%%%%%% Introduction +% 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. + +%%%%%%%%%%%%%%%%%%%% LOOT %%%%%%%%%%%%%%%%%%%% +\newtoggle{bestiarychapter} +\settoggle{bestiarychapter}{false} + +\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{bestiarychapter}{}% + {\iftoggle{team}{}{\ifnumcomp{\value{r2}}{>}{1}{% + \ifodd\value{r3}% + \ifodd\value{r4}% + \ifodd\value{r3b}% + Townmaster's Hat\else% + Deck of Cards% + \fi% + \else% + Wild Seeds\fi% + \else% + \ifodd\value{r2b}% + Bag of Holding% + \else% + Taming Flute% + \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}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% _ +% _ __ ___ ___ _ __ ___| |_ ___ _ __ +%| '_ ` _ \ / _ \| '_ \/ __| __/ _ \ '__| +%| | | | | | (_) | | | \__ \ || __/ | +%|_| |_| |_|\___/|_| |_|___/\__\___|_| +% +% _ _ +% ___| |_ __ _| |_ ___ +%/ __| __/ _` | __/ __| +%\__ \ || (_| | |_\__ \ +%|___/\__\__,_|\__|___/ +% + +\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}{} + +\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} + +% _ +% ___ ___ _ __ ___ _ __ ___ __ _ _ __ __| |___ +% / __/ _ \| '_ ` _ \| '_ ` _ \ / _` | '_ \ / _` / __| +% | (_| (_) | | | | | | | | | | | (_| | | | | (_| \__ \ +% \___\___/|_| |_| |_|_| |_| |_|\__,_|_| |_|\__,_|___/ +% + + + +% Commands: weapons +% dice +\newcommand{\mana}[1]{\setcounter{mp}{#1}} +\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{\Defender}{Defender\addtocounter{knacks}{1}\addtocounter{xpbonus}{1}} +\newcommand{\furiousblows}{Furious Blows\addtocounter{knacks}{1}} +\newcommand{\firststrike}{First Strike\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}}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}{\value{knacks}\addtocounter{spdb}{1}}} +\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{spd}{0}\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 + +\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},left=2mm,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},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} + +\setcounter{strb}{0} +\setcounter{spdb}{0} +\setcounter{dexb}{0} + +\iftoggle{mind}{ +\begin{tabularx}{\textwidth}{lrlrlr} + Strength & \arabic{str} & Dexterity & \arabic{dex} & Speed & \arabic{spd} \\ + Intelligence & \arabic{int} & Wits & \arabic{wts} & Charisma & \arabic{cha} \\}{% +\begin{tabularx}{\textwidth}{lrlrlr} + Strength & \arabic{str} & Dexterity & \arabic{dex} & Speed & \arabic{spd} \\ + Wits & \arabic{wts} \\ + } + \setcounter{hp}{\value{str}} +\end{tabularx} +\hrule + \addtocounter{hp}{6} + + \iftoggle{examplecharacter}{}{ + \addtocounter{dex}{7} +} +\vspace{.1cm} +\noindent\begin{tabular}{p{.3\textwidth}p{.6\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} + +} + +%% _ _ _ +%% __| | ___ _ __ ___| |_ __ _| |_ ___ +%% / _` |/ _ \ '__/ __| __/ _` | __/ __| +%%| (_| | __/ | \__ \ || (_| | |_\__ \ +%% \__,_|\___|_| |___/\__\__,_|\__|___/ +%% +%% +%% 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}{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,}{} \ifnumcomp{\value{mp}}{>}{0}{\addtocounter{mp}{\value{int}}\ifnumcomp{\value{mpb}}{=}{0}{\arabic{mp} MP}{\addtocounter{mpb}{\value{mp}}\arabic{mpb} / \arabic{mp} MP}% + \iftoggle{bestiarychapter}{, }{% + \ \Repeat{\value{mp}}{\ding{111}}, % + }% + }{}\arabic{hp} HP \iftoggle{bestiarychapter}{}{% + \ \Repeat{\value{hp}}{\ding{111}}% + \ifnumcomp{\value{sp}}{>}{0}{, \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 + } +%% _ +%% ___ _ __ ___ __ _| |_ _ _ _ __ ___ ___ +%% / __| '__/ _ \/ _` | __| | | | '__/ _ \/ __| +%% | (__| | | __/ (_| | |_| |_| | | | __/\__ \ +%% \___|_| \___|\__,_|\__|\__,_|_| \___||___/ +%% + + +\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} + \randomthreeB +\animal{\arabic{enc}}% STRENGTH +{\arabic{r2b}}% DEXTERITY +{\arabic{r2b}}% 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}}% STRENGTH +{None}% ABILITIES +{} +} + +\newcommand{\chitincrawler}[1][\npc{\A}{Chitincrawler}]{ + #1 + \randomtwo + \addtocounter{enc}{3} + \randomtwoB + \addtocounter{r2b}{-1} + \randomthree + \randomthreeB + \randomfour +\animal{\arabic{enc}}% STRENGTH +{\arabic{r2b}}% DEXTERITY +{\arabic{r3b}}% SPEED +{\arabic{r4}}% WITS +{\arabic{enc}}% 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 + \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{enc}, 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% + \ifnum\value{age}>7\mana{8}\else\mana{6}\fi\gdef\armourtype{C}} + } + +\newcommand{\dwarventrader}[1][\npc{\M}{\arabic{r12} Dwarven Traders}]{ + #1 + \randomdozen + \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 + {\mana{4}} + } + + +\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 + {\mana{6}\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 + {\mana{\value{age}}\addtocounter{mp}{\value{age}}} + } + +\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}, Forces \arabic{r4}, Invocation 1, Polymorph 2}}% SKILLS + {\Dagger, \lootJewellery\ifodd\thepage, \randomtwo\lootJewellery\ifodd\value{r4}, \lootMagic\fi\fi}% EQUIPMENT + {\mana{6}} +} + +\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 +{\mana{2}} +} + +\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 + {\mana{6}} +} + +\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 + \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}}% AGGRESSION +{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 +{\ifodd\value{r3b}\mana{2}\fi} +} + +\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{\humanarcher}[1][\npc{\M}{\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}% 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{r2}}% 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% + +\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 +{\ifnum\value{r12}>9\mana{2}\fi} +} + +\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 +{\mana{6}\lockedmana{\value{r2}}} +} + +\newcommand{\gnollhunter}[1][\npc{\M\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 +{\mana{4}} +} + +\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{\M\N}{\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% +\ifnum\value{r4b}=4% + , 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 +\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}% EQUIPMENT +{\mana{4}} +} + +\newcommand{\hobgoblin}[1][\npc{\T\M\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} + \randomdozen +\animal{\arabic{r2b}}% STRENGTH +{-2}% DEXTERITY +{\arabic{enc}}% SPEED +{-2}% WITS +{2}% DR +{2}% AGGRESSION +{}% SKILLS +{Undead}% ABILITIES +{} +} + +\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}, \else \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 +{\mana{6}\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}, \else \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 +{\mana{6}\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 +{\mana{8}\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 Invisible\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{\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}}% 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 +{} +} + +\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}, \addtocounter{r3b}{2}}}% SKILLS +{None}% ABILITIES +{\setcounter{gold}{\value{age}}\multiply\value{gold} by 3\addtocounter{gold}{\value{int}}\setcounter{sp}{\value{gold}}% +\mana{8}\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}} +} +