\documentclass[a4paper,openany]{book} \usepackage{bind} \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 \verb"\dragon", and behold! \end{boxtext} \dragon[\npc{\T[4]\E}{\arabic{noAppearing} Dragons}] 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 \verb"npc command", like this: \verb"dragon[\npc{\M}{Bob the dragon}]" Which then makes a male dragon called ``Bob'': \dragon[\npc{\M}{Bob the Dragon}] You can summon dozens of monsters, including \verb"humansoldier", \verb"basilisk", and \verb"\ghoul" (see \verb"monsters.tex" for all the examples). Placing a number after the `T' symbol, e.g. \verb"\T[5]" to change the number of rows of boxes to track stats. \ghoul[\npc{\T[5]\D}{5 Ghouls}] \subsection{Individual NPCs} Individual characters can be created by using the \verb"\npc" command then the \verb"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, Wyldcrafting 1}% SKILLS {\longsword, adventuring equipment}% EQUIPMENT {} \end{verbatim} \settoggle{debug}{true} \npc{\M}{Alice} \person{0}% STRENGTH {1}% DEXTERITY {-1}% SPEED {{2}% INTELLIGENCE {0}% WITS {0}}% CHARISMA {0}% DR {1}% COMBAT {Academics 1, Wyldcrafting 1}% SKILLS {\longsword, adventuring equipment}% EQUIPMENT {} \subsubsection{Bestiary} Statblocks in a bestiary chapter (or any space for examples). You can set an example chapter by writing \verb"\settoggle{bestiarychapter}{true}" Then the \verb"\humansoldier" command turns from this: \humansoldier \ldots into this: %\settoggle{bestiarychapter}{true} \humansoldier This second soldier is still partly random. \subsection{Boxes} You can add things for these people to say with a \verb"\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} Then we have \verb"\begin{exampletext}" for example: \begin{exampletext} This example text might show game examples, or the history of a location. It has an optional argument if you want to replace the line at the start. \end{exampletext} \begin{boxtext} And of course\ldots BOXTEXT! \end{boxtext} \subsection{Magic} \subsubsection{Magical Items} 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 \subsubsection{Spheres} Each sphere is produced with a sphere command, so this -- \verb"\sphere{Mirrors}" -- would produce the `Mirrors' sphere. After that, each level is produced with \verb"\spelllevel". These commands handle numbering, indexing, et c. Finally, individual spells are laid out with \verb"\spell{Fireball}{Instant}{Projectiles}{goes burr}" The first argument gives a name, the second the type (`instant' or `continuous'), the third is the Skill casters can roll when using it, and the fourth is the spell's description. The spell's description can be referenced from other books as a summary (if you have set \verb"\label{fireball}"), e.g. `\verb"\nameref{fireball}"' produces `\textit{Fireball -- goes burr}'. \subsubsection{Enhancements} A different command is used for enhancements: \verb"\enhancement{Blue}{1}{makes spells blue}". The first argument gives a name, the second gives how many levels it adds to the spell, and the last is the spell's description. \subsection{Pictures} \sidepic{l1} All images should go into the images directory. Writing \verb"\pic{b1}" shows the image under \verb"images/b1.svg". The file extension can be either `svg' or `jpg' (but never `jpeg'). Use \verb"\sidepic{l1}" to show that image at the side of the text. It doesn't work well and messed up text if it doesn't have enough text around it. \pic{b1} For svg files to work, the document must be compiled with \verb"pdflatex -shell-escape main.tex" on the first run (the Makefile generally takes care of this). Wider pictures should be placed with \verb"\widePic{s1}", and they will appear on the next page, at the bottom, or with \verb"\widePic[t]{s1}" to see the picture at the top of the next page. \widePic{s1} \subsubsection{Maps} The map function works like \verb"\widePic", but for maps. You can add a list of coordinates, and the names or number-labels to place on those coordinates. \mapPic[\large]{t}{wide}{\Huge Toptown/8/8,Leftown/2/75,2/8/6} Imagine the shield image is a map to be labelled. We can start by putting `Toptown' at the top. \begin{verbatim} \mapPic{t}{../config/images/l1}% {8/8/Toptown} \end{verbatim} If the map needs to go at the bottom, replace the first argument with a `b'. The Cartesian coordinates are `8/8', meaning `80\% along, 80\% up'. We can add more to the list with commas. We can even add commands, such as \verb"\ref{basement}" to get some number associated with a basement, and automatically place that number on the map. \begin{verbatim} \mapPic{t}{../config/images/l1}% {8/8/Toptown, 2/75/Leftown,8/6/2} \end{verbatim} An optional argument allows default size changes for the words, and as usual words can change their sizes individually. \begin{verbatim} \mapPic[\small]{t}{../config/images/l1}{8/8/\large Toptown, 2/75/Leftown,8/6/\ref{basement}} \end{verbatim} \subsection{Symbols} \begin{tabularx}{\linewidth}{Xcc} Meaning & Typed & Symbol \\\hline Nura & {\tt \textbackslash{N}} & \gls{N} \\ Undead & {\tt \textbackslash{D}} & \gls{D} \\ \hline Teams & {\tt \textbackslash{T}} & \gls{T} \\ Animal & {\tt \textbackslash{M}} & \gls{A} \\ Sentient & {\tt \textbackslash{E}} & \gls{E} \\ Female & {\tt \textbackslash{F}} & \gls{F} \\ Male & {\tt \textbackslash{M}} & \gls{M} \\ \hline Gnoll & {\tt \textbackslash{Nl}} & \gls{Nl} \\ Dwarves & {\tt \textbackslash{Dw}} & \gls{Dw} \\ Humans & {\tt \textbackslash{Hu}} & \gls{Hu} \\ Elves & {\tt \textbackslash{El}} & \gls{El} \\ Gnome & {\tt \textbackslash{Gn}} & \gls{Gn} \\ \hline Squash & {\tt \textbackslash{squash}} & \gls{squash} \\ Side Quest ready & {\tt \textbackslash{sqr}} & \gls{sqr} \\ Side Quest not ready & {\tt \textbackslash{sqn}} & \gls{sqn} \\ \end{tabularx} \end{multicols} \section{Creature Commands} \begin{multicols}{2} \subsection{Weapon Commands} The \verb"\weapon{Name}{1}{2}" command works in 2 ways. When defining a weapon, it adjusts the current creature's stats. When used in a weapons chart, it shows the weapon's stats. Stats are derives from the weapon's 3 properties: length, sharpness, and weight. \begin{verbatim} \weapon{Sword}% NAME {2}% Attack Bonus {1}% Damage \end{verbatim} When that weapon command appears in a table, it shows the Attack, Damage, AP required, and Weight (the minimum Strength required to use it). When when a creature wields the weapon, those stats raise the creature's stats. \begin{nametable}[XXXXXX]{M\^{e}l\'{e}e Weapons} \textbf{Name} & \textbf{Attack Bonus} & \textbf{Dam.} & \textbf{\Glsentrytext{ap} Cost} & \textbf{Weight} \\\hline \Dagger \\ \greataxe \\ \spear \\ \end{nametable} Alternatively, just write \verb"\sword" and the sword gets written. Just set \verb"\toggletrue{examplecharacter}". \subsection{Loot} You can use the various `loot' commands to give loot to creatures or rooms,a little like A,D\&D's `treasure type C'. So writing \verb"In this room sits \lootBig." might produce `in this room sits 12gp'. Available commands: \begin{itemize} \item \verb"\lootSmall" (e.g. \lootSmall) \item \verb"\lootMedium" (e.g. \lootMedium) \item \verb"\lootBig" (e.g. \lootBig) \item \verb"\lootMagic" (e.g. \lootMagic) \item \verb"\lootJewellery" (e.g. \lootJewellery) \end{itemize} \end{multicols} \section{Modules \& Areas} \subsection{Encounters} Make encounter tables like this: \begin{verbatim} \begin{figure*}[t] \begin{nametable}[c|LLLLLLLL,fontupper=\small,]{Enc} Rolls & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ \hline 8 & Villagers & Sulphur Winds & Lightning Storm & Earthquake & Hurricane & Mouthdigger 1 & Woodspy 1 & Forest Fire \\ 7 & Flood & Heatwave & High Humidity & Woodspy 2 & Chitincrawler 1 & Chitincrawler 2 & Bear 1 & Basilisk 1 \\ 6 Guards 1 & Rain & Guard 2 & Rain & Elves 1 & Woodspy 4 & Woodspy 2 & Chitincrawler 3 \\ 5 & Noble & Traders 1 & Bandits 1 & Wolves 1 & Lightning Storm & Gnolls 1 & Deer & Mana Lake \\ 4 & Villagers & Traders 2 & Wind & Bear 2 & Wolves 2 & Mouthdigger 2 & Basilisk 2 & Griffins 1 \\ 3 & Trader 3 & Guards 3 & Traders 4 & Refugees & Gnomes 1 & Gnolls 2 & Brigands & Elves 2 \\ 2 & Traders 5 & Pilgrims & Breeze & Bandits 2 & Mouthdigger 3 & Griffins 2 & boar & Wild Horses \\ 1 & Bard & Dwarves 1 & Dwarves 2 & Griffin 3 & Bandits 3 & Gnomes 2 & Griffins 4 & Aurochs \\ 0 & Begging Villagers & Bandits 4 & Snowfall & Hail & Wolves 3 & Snowstorm & Wolves 4 & Hibernating Chitincrawler 4 \\ \end{nametable} \end{figure*} \end{verbatim} (Check below for the results) \begin{multicols}{2} \begin{figure*}[t] \begin{nametable}[c||L|L|LLLL|L|L,fontupper=\footnotesize,]{Enc} & \textbf{Villages} & \textbf{Villages, Edge} & \textbf{Villages, Edge, Forest} & \textbf{Villages, Edge, Forest} & \textbf{Villages, Edge, Forest} & \textbf{Villages, Edge, Forest} & \textbf{Edge, Forest} & \textbf{Forest} \\ \hline \textbf{Rolls} & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4} & \textbf{5} & \textbf{6} & \textbf{7} & \textbf{8} \\ \hline \hline \textbf{8} & Villagers & Sulphur Winds & Lightning Storm & Earthquake & Hurricane & Mouthdigger 1 & Woodspy 1 & Forest Fire \\ \hline \textbf{7} & Flood & Heatwave & High Humidity & Woodspy 2 & Chitincrawler 1 & Chitincrawler 2 & Bear 1 & Basilisk 1 \\ \hline \textbf{6} & Guards 1 & Rain & Guard 2 & Rain & Elves 1 & Woodspy 4 & Woodspy 2 & Chitincrawler 3 \\ \hline \textbf{5} & Noble & Traders 1 & Bandits 1 & Wolves 1 & Lightning Storm & Gnolls 1 & Deer & Mana Lake \\ \textbf{4} & Villagers & Traders 2 & Wind & Bear 2 & Wolves 2 & Mouthdigger 2 & Basilisk 2 & Griffins 1 \\ \textbf{3} & Trader 3 & Traders 4 & Guards 3 & Refugees & Gnomes 1 & Gnolls 2 & Brigands & Elves 2 \\ \hline \textbf{2} & Traders 5 & Pilgrims & Breeze & Bandits 2 & Mouthdigger 3 & Griffins 2 & Boar & Wild Horses \\ \hline \textbf{1} & Bard & Dwarves 1 & Dwarves 2 & Griffin 3 & Bandits 3 & Gnomes 2 & Griffins 4 & Aurochs \\ \hline \textbf{0} & Begging Villagers & Bandits 4 & Snowfall & Hail & Wolves 3 & Snowstorm & Wolves 4 & Hibernating Chitincrawler 4 \\ \end{nametable} \end{figure*} 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} \subsection{Making Maps} Make all maps under some subsection, then start the individual map entry like this: \verb"\mapentry[docGift]{Documentation Giftschrank}". The first (optional) argument, will become the label. The second is the area's title. \mapentry[docGift]{Documentation Giftschrank} You can refer to it with \verb"\nameref{docGift}", such as ``see room number \ref{docGift}''. \end{multicols} \section{Others} \begin{multicols}{2} Other commands are typically produced for just a single location in the book. The functions which produce the creature boxes is a tangled mess of rotten spaghetti-logic, which is so inefficient it somehow taxes a modern computer just to add some numbers. It's best not to think about how creatures are made. \subsection{Rules References with a Dirty Hack} Rules are often written as: \begin{verbatim} \subsection[Keeping Watch: Roll Strength + Vigilance]{Keeping Watch} \label{keepingWatch} \end{verbatim} This first argument in the square brackets is used as the subsection header when referenced, or in tables of contents. Since the subsection is never used in a table of contents, we can misused it to contain rules, and then reference the rule. Specifically, you can use \verb"\footnote{\nameref{keepingWatch}.}", which then produces a footnote with a summary of that rule, which will automatically update if the rule ever changes. \end{multicols} \end{document}