diff --git a/.gitignore b/.gitignore index 64ef7163ebdf4c0094e7b8999bfee3c8d64d96b1..c2b2a779efdd22e43078c143df273ec7351e3678 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,6 @@ old *.tiff *.xcf *.xmpi +*.slg +*.slo +*.sls diff --git a/bind.sty b/bind.sty index 83d82f8578a556c0a0e802999c155ce89d49a2d9..5878bbd7440e7583a93e59b87e67f195677f3d0c 100644 --- a/bind.sty +++ b/bind.sty @@ -1,4 +1,5 @@ \RequirePackage{config/layout} +\input{config/glossary.tex} \RequirePackage{config/loot} \RequirePackage{config/arms} \RequirePackage{config/stats} diff --git a/docs.tex b/docs.tex index b208078444d9ff0e8d47acadeb78f423491f2191..9f80d555993c3839653ae64d15fe9fa92a7392d8 100644 --- a/docs.tex +++ b/docs.tex @@ -3,6 +3,7 @@ \date{\today} + \begin{document} \chapter{How to Make Monsters} @@ -27,7 +28,7 @@ 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: +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\}] } @@ -35,9 +36,8 @@ 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}. +You can summon dozens of monsters, including {\tt\textbackslash humansoldier}, {\tt\textbackslash basilisk}, and {\tt \textbackslash ghoul} +(see {\tt monsters.tex} for all the examples). \subsection{Individual NPCs} @@ -74,6 +74,25 @@ Individual characters can be created by using the {\tt\textbackslash npc} comman {\longsword, adventuring equipment}% EQUIPMENT {} +\subsubsection{Bestiary} + +Statblocks in a bestiary chapter (or any space for examples). +You can set an example chapter by writing {\tt\textbackslash settoggle\{bestiarychapter\}\{true\}} + +Then the {\tt \textbackslash humansoldier} command turns from this: + +\humansoldier + +\settoggle{bestiarychapter}{true} + +\ldots into this: + +\humansoldier + +This second soldier is still partly random. + +\subsection{Boxes} + You can add things for these people to say with a {\tt\textbackslash begin\{speechtext\}} command: \begin{speechtext} @@ -84,7 +103,7 @@ You can add things for these people to say with a {\tt\textbackslash begin\{spee \end{speechtext} -\subsection{And now for something completely different} +\subsection{Magical items} This is a magical item. @@ -168,6 +187,46 @@ And charts about roll successes like this: \end{rollchart} +\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{Weapon Commands} diff --git a/glossary.tex b/glossary.tex new file mode 100644 index 0000000000000000000000000000000000000000..cd213761f5a35fc41816db9ae689e2bb17b6631a --- /dev/null +++ b/glossary.tex @@ -0,0 +1,141 @@ +\makeglossaries + +\newglossaryentry{N}{ + type=symbols, + sort=Nura, + nonumberlist, + name={\Hygiea}, + description={In creatures, this indicates a nura. When used in Side Quests, this indicates the local Nura Rating should raise by one (or more, if the symbol is printed multiple times)} +} + +\newglossaryentry{D}{ + type=symbols, + sort=Undead, + nonumberlist, + name={\Lilith}, + description={Undead creature} +} + +\newglossaryentry{T}{ + type=symbols, + sort=Team, + nonumberlist, + name={\Opposition}, + description={A team of multiple creatures} +} + +\newglossaryentry{F}{ + type=symbols, + sort=Female, + nonumberlist, + name={\Venus}, + description={Female} +} + +\newglossaryentry{M}{ + type=symbols, + sort=Male, + nonumberlist, + name={\Mars}, + description={Male} +} + +\newglossaryentry{E}{ + type=symbols, + sort=Sentient, + nonumberlist, + name={\Mercury}, + description={Sentient (any gender or none)} +} + +\newglossaryentry{A}{ + type=symbols, + sort=Animal, + nonumberlist, + name={\Taurus}, + description={Animal} +} + +% RACES + +\newglossaryentry{Dw}{ + type=symbols, + sort=Dwarf, + nonumberlist, + name={\Vulkanus}, + description={Dwarf} +} + +\newglossaryentry{El}{ + type=symbols, + sort=Elf, + nonumberlist, + name={\Moon}, + description={Elf} +} + +\newglossaryentry{Hu}{ + type=symbols, + sort=Human, + nonumberlist, + name={\Saturn}, + description={Human} +} + +\newglossaryentry{Gn}{ + type=symbols, + sort=Gnome, + nonumberlist, + name={\Kronos}, + description={Gnome} +} + +\newglossaryentry{Nl}{ + type=symbols, + sort=Gnoll, + nonumberlist, + name={\Admetos}, + description={Gnoll} +} + +\newglossaryentry{squash}{ + type=symbols, + sort=Squash, + nonumberlist, + name={\Vesta}, + description={Play these Side Quests at the same time as the next} +} + +\newglossaryentry{sqn}{ + type=symbols, + sort=sqn, + nonumberlist, + name={\Square}, + description={Side Quest is not ready yet} +} + +\newglossaryentry{sqr}{ + type=symbols, + sort=sqr, + nonumberlist, + name={\CheckedBox}, + description={Side Quest is ready} +} + +% SHORT COMMANDS + +\newcommand{\T}{\gls{T}\settoggle{team}{true}} % groups +\newcommand{\M}{\gls{M}} % male +\newcommand{\F}{\gls{F}} % female +\newcommand{\E}{\gls{E}} % sentient +\newcommand{\A}{\gls{A}} % creature +\newcommand{\N}{\gls{N}} % nura +\newcommand{\D}{\gls{D}} % undead +\newcommand{\Dw}{\gls{Dw}} % dwarf +\newcommand{\El}{\gls{El}} % elf +\newcommand{\Hu}{\gls{Hu}} % human +\newcommand{\Gn}{\gls{Gn}} % gnome +\newcommand{\Nl}{\gls{Nl}} % gnoll +\newcommand{\squash}{\gls{squash}} % multi-part side quest +\newcommand{\sqr}{\gls{sqr}} % multi-part side quest +\newcommand{\sqn}{\gls{sqn}} % multi-part side quest diff --git a/layout.sty b/layout.sty index 17243e1af6e694577a4f2d6e81cb7fa1c0958876..996e69a9f645501606a6af0d5951dc9bd5551314 100644 --- a/layout.sty +++ b/layout.sty @@ -1,15 +1,14 @@ \ProvidesPackage{config/layout} \RequirePackage[table]{xcolor} -\RequirePackage[acronym]{glossaries} +\RequirePackage[acronym,symbols]{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{starfont} % for creature symbols +\RequirePackage{wasysym} % for sq checkboxes \RequirePackage{appendix} \RequirePackage{geometry} % changes page borders \geometry{margin=50pt} @@ -553,13 +552,6 @@ interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west) \renewcommand{\mannerism}{#4} \renewcommand{\archetype}{#5} } -\newcommand{\T}{\opposition\settoggle{team}{true}} % groups -\newcommand{\M}{\mars} % male -\newcommand{\F}{\venus} % female -\newcommand{\E}{\mercury} % sentient -\newcommand{\A}{\taurus} % creature -\newcommand{\N}{\leftmoon} % nura -\newcommand{\D}{\fullmoon} % undead %%%%%%%%%%%%%%%%%%%% TOGGLES %%%%%%%%%%%%%%%%%%%% @@ -880,7 +872,6 @@ Roll & Result \\ \newtoggle{firstsq} \settoggle{firstsq}{true} -\newcommand\squash{$\merge$ } \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 @@ -907,7 +898,7 @@ Roll & Result \\ \settoggle{firstsq}{true} } -\newcommand{\sqpart}[3]{\resumecontents[#1]\subsubsection[\iftoggle{firstsq}{\CheckedBox}{\Square} #2 -- #3]{(#1) #2}\stopcontents[#1]\settoggle{firstsq}{false}} +\newcommand{\sqpart}[3]{\resumecontents[#1]\subsubsection[\iftoggle{firstsq}{\sqr}{\sqn} #2 -- #3]{(#1) #2}\stopcontents[#1]\settoggle{firstsq}{false}} %%%%% Character Sheet Commands diff --git a/monsters.sty b/monsters.sty index 8900587e7478cbe8baf93f81ed8ae6673a0f26d1..4dc938f95b0d157809657f2ce7606ee361a94591 100644 --- a/monsters.sty +++ b/monsters.sty @@ -203,7 +203,7 @@ \gdef\armourtype{C}} } -\newcommand{\dwarventrader}[1][\npc{\M}{\arabic{r12} Dwarven Traders}]{ +\newcommand{\dwarventrader}[1][\npc{\Dw\M}{\arabic{r12} Dwarven Traders}]{ #1 \randomdozen \randomtwoB @@ -221,7 +221,7 @@ {} } % -\newcommand{\dwarvensoldier}[1][\npc{\M\T}{\arabic{r12} Dwarven Soldiers}]{ +\newcommand{\dwarvensoldier}[1][\npc{\T\Dw\M}{\arabic{r12} Dwarven Soldiers}]{ #1 \randomdozen \randomtwo @@ -238,7 +238,7 @@ {\knacks{Chosen Enemy: Goblins}}% SKILLS } -\newcommand{\dwarvenrunemaster}[1][\npc{\M}{Dwarven Runemaster}]{ +\newcommand{\dwarvenrunemaster}[1][\npc{\Dw\M}{Dwarven Runemaster}]{ #1 \randomtwo \addtocounter{enc}{1} @@ -286,7 +286,7 @@ {\lockedmana{5}\gdef\armourtype{C}} } -\newcommand{\elf}[1][\npc{\F}{Elf}]{ +\newcommand{\elf}[1][\npc{\El\F}{Elf}]{ #1 \randomtwo \randomtwoB @@ -324,7 +324,7 @@ {} } -\newcommand{\elvenenchanter}[1][\npc{\M}{Elven Enchanter}]{ +\newcommand{\elvenenchanter}[1][\npc{\El\M}{Elven Enchanter}]{ #1 \randomtwoB \randomtwo @@ -347,7 +347,7 @@ {} } -\newcommand{\gnome}[1][\npc{\M}{Wandering Gnome}]{ +\newcommand{\gnome}[1][\npc{\Gn\M}{Wandering Gnome}]{ #1 \randomtwo \randomtwoC @@ -378,7 +378,7 @@ {} } -\newcommand{\gnomishsoldier}[1][\npc{\M}{Gnomish Soldier}]{ +\newcommand{\gnomishsoldier}[1][\npc{\Gn\M}{Gnomish Soldier}]{ #1 \randomtwo \addtocounter{enc}{-2} @@ -413,7 +413,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\gnomishillusionist}[1][\npc{\M}{Gnomish Illusionist}]{ +\newcommand{\gnomishillusionist}[1][\npc{\Gn\M}{Gnomish Illusionist}]{ #1 \randomtwo \randomthree @@ -438,7 +438,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humanfarmer}[1][\npc{\M}{Farmer}]{ +\newcommand{\humanfarmer}[1][\npc{\Hu\M}{Farmer}]{ #1 \randomthree\addtocounter{age}{-2} \randomtwo @@ -458,7 +458,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humanmaid}[1][\npc{\F}{Maid}]{ +\newcommand{\humanmaid}[1][\npc{\Hu\F}{Maid}]{ #1 \randomthree \randomtwo @@ -475,7 +475,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humantrader}[1][\npc{\M}{\arabic{r12} Traders}]{ +\newcommand{\humantrader}[1][\npc{\Hu\M}{\arabic{r12} Traders}]{ #1 \randomtwo \randomtwoB @@ -495,7 +495,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humandiplomat}[1][\npc{\M}{The Diplomat}]{ +\newcommand{\humandiplomat}[1][\npc{\Hu\M}{The Diplomat}]{ #1 \randomtwo \addtocounter{enc}{-1} @@ -517,7 +517,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humanpriest}[1][\npc{\F}{Human Priest}]{ +\newcommand{\humanpriest}[1][\npc{\Hu\F}{Human Priest}]{ #1 \randomtwo \randomtwoB @@ -548,7 +548,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humansoldier}[1][\npc{\M\F\T}{\arabic{r12} Soldiers}]{ +\newcommand{\humansoldier}[1][\npc{\T\Hu}{\arabic{r12} Soldiers}]{ #1 \randomtwo \addtocounter{enc}{1} @@ -598,7 +598,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\royalguard}[1][\npc{\M\F\T}{\arabic{r12} Guards}]{ +\newcommand{\royalguard}[1][\npc{\T}{\arabic{r12} Guards}]{ #1 \randomtwo \addtocounter{enc}{1} @@ -644,7 +644,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humanarcher}[1][\npc{\M\T}{\arabic{r12} Archers}]{ +\newcommand{\humanarcher}[1][\npc{\T\Hu}{\arabic{r12} Archers}]{ #1 \randomtwo \randomtwoB @@ -672,7 +672,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humanthief}[1][\npc{\M}{Thief}]{ +\newcommand{\humanthief}[1][\npc{\Hu\M}{Thief}]{ #1 \randomtwo \addtocounter{enc}{-1} @@ -699,7 +699,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\humanbard}[1][\npc{\F}{Bard}]{ +\newcommand{\humanbard}[1][\npc{\Hu\F}{Bard}]{ #1 \randomtwo \addtocounter{enc}{1} @@ -776,10 +776,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {\lockedmana{\value{r2}}} } - - - -\newcommand{\gnollhunter}[1][\npc{\T}{\arabic{r12} Gnoll Hunters}]{ +\newcommand{\gnollhunter}[1][\npc{\T\Nl}{\arabic{r12} Gnoll Hunters}]{ #1 \randomtwo\addtocounter{enc}{1} \randomtwoB @@ -798,7 +795,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\gnollshaman}[1][\npc{\F}{Gnoll Shaman}]{ +\newcommand{\gnollshaman}[1][\npc{\Nl\F}{Gnoll Shaman}]{ #1 \addtocounter{age}{-2} \randomtwo @@ -877,7 +874,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\nuraslug}[1][\npc{\A\N\T}{\multiply\value{r12} by \value{r2b}\arabic{r12} Nura Slugs}]{ +\newcommand{\nuraslug}[1][\npc{\T\A\N}{\multiply\value{r12} by \value{r2b}\arabic{r12} Nura Slugs}]{ #1 \randomtwo \addtocounter{enc}{-3} @@ -967,7 +964,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v %%%%%%%%%% NURA %%%%%%%%%% -\newcommand{\goblin}[1][\npc{\N\T}{\arabic{r12} Goblins}]{ +\newcommand{\goblin}[1][\npc{\T\N}{\arabic{r12} Goblins}]{ #1 \randomtwo \randomtwoB @@ -1004,7 +1001,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\undeadgoblin}[1][\npc{\D\T}{\arabic{r12} Undead Hobgoblins}]{ +\newcommand{\undeadgoblin}[1][\npc{\T\D}{\arabic{r12} Undead Hobgoblins}]{ #1 \randomtwo\addtocounter{enc}{-2} \randomtwoB @@ -1020,7 +1017,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\deepgoblin}[1][\npc{\N\T}{\arabic{r12} Goblins}]{ +\newcommand{\deepgoblin}[1][\npc{\T\N}{\arabic{r12} Goblins}]{ #1 \randomtwo\addtocounter{enc}{-2} \randomtwoB @@ -1104,7 +1101,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\undeadhobgoblin}[1][\npc{\D\T}{\arabic{r12} Undead Hobgoblins}]{ +\newcommand{\undeadhobgoblin}[1][\npc{\T\D}{\arabic{r12} Undead Hobgoblins}]{ #1 \randomtwo \animal{\arabic{r2}}% STRENGTH @@ -1118,7 +1115,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {} } -\newcommand{\sentientundeadhobgoblin}[1][\npc{\D\T}{\arabic{r12} Sentient Undead Hobgoblins}]{ +\newcommand{\sentientundeadhobgoblin}[1][\npc{\T\D}{\arabic{r12} Sentient Undead Hobgoblins}]{ #1 \randomtwo \randomtwoB @@ -1207,7 +1204,7 @@ Academics~1, \ifodd\value{page} Crafts~\arabic{r2}, \else \fi Deceit~1, \ifodd\v {}% } -\newcommand{\ghoul}[1][\npc{\D\T}{\arabic{r12} Ghouls}]{ +\newcommand{\ghoul}[1][\npc{\T\D}{\arabic{r12} Ghouls}]{ #1 \randomtwo \randomtwoB