Skip to content
Snippets Groups Projects
docs.tex 8.12 KiB
Newer Older
  • Learn to ignore specific revisions
  • Malin Freeborn's avatar
    Malin Freeborn committed
    \documentclass[a4paper,openany]{book}
    
    \usepackage{bind}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \date{\today}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \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.
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    You write down \verb"\dragon", and behold!
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \end{boxtext}
    
    \dragon
    
    Each time you conjure the dragon, it will look a little different.
    The next one might look like this:
    
    \dragon
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    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:
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \verb"dragon[\npc{\M}{Bob the dragon}]"
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    Which then makes a male dragon called ``Bob'':
    
    \dragon[\npc{\M}{Bob the Dragon}]
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    You can summon dozens of monsters, including \verb"humansoldier", \verb"basilisk", and \verb"\ghoul"
    (see \verb"monsters.tex" for all the examples).
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \subsection{Individual NPCs}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    Individual characters can be created by using the \verb"\npc" command then the \verb"person" command, with its nine arguments:
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \begin{verbatim}
    
    \npc{\M}{Alice}
    
    \person{0}% STRENGTH
    {1}% DEXTERITY 
    {-1}% SPEED
    {{2}% INTELLIGENCE
    {0}% WITS
    {0}}% CHARISMA
    {0}% DR
    {1}% COMBAT
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    {Academics 1, Wyldcrafting 1}% SKILLS
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    {\longsword, adventuring equipment}% EQUIPMENT
    {}
    
    \end{verbatim}
    
    \npc{\M}{Alice}
    \person{0}% STRENGTH
    {1}% DEXTERITY 
    {-1}% SPEED
    {{2}% INTELLIGENCE
    {0}% WITS
    {0}}% CHARISMA
    {0}% DR
    {1}% COMBAT
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    {Academics 1, Wyldcrafting 1}% SKILLS
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    {\longsword, adventuring equipment}% EQUIPMENT
    {}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \subsubsection{Bestiary}
    
    Statblocks in a bestiary chapter (or any space for examples).
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    You can set an example chapter by writing \verb"\settoggle{bestiarychapter}{true}"
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    Then the \verb"\humansoldier" command turns from this:
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \humansoldier
    
    \ldots into this:
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \settoggle{bestiarychapter}{true}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \humansoldier
    
    This second soldier is still partly random.
    
    \subsection{Boxes}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    You can add things for these people to say with a \verb"\begin{speechtext}" command:
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \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.''
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \end{speechtext}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    Then we have \verb"\begin{exampletext}" for example:
    
    \begin{exampletext}
      You can use the \verb"\boxtext" environment for general boxes.
      Typically, they get used to assault players with massive amounts of introductory text.
    \end{exampletext}
    
    \subsection{Magical Items}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    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
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    \end{verbatim}
    
    \magicitem{Noodle of Death}% NAME
    
      {Extinguish}% SPELL
      {Divinity (FSM)}% PATH
      {Instant}% DURATION
      {Pocket Spell}% TYPE
      {2}% Potency
      {5}% MP
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \subsection{Spheres}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    Each sphere is produced with a sphere command, so this -- \verb"\sphere{Mirrors}" -- would produce the `Mirrors' sphere.
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    After that, each level is produced with \verb"\spelllevel".
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    These commands handle numbering, indexing, et c.
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    Finally, individual spells are laid out with \verb"\spell{Fireball}{Instant}{Projectiles}{goes burr}"
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    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.
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    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}'.
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \subsubsection{Enhancements}
    A different command is used for enhancements: \verb"\enhancement{Blue}{1}{makes spells blue}".
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    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}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \sidepic{l1}
    
    All images should go into the images directory.
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    Writing \verb"\pic{b1}" shows the image under \verb"images/b1.svg".
    
    The file extension can be either `svg' or `jpg' (but never `jpeg').
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    Use \verb"\sidepic{l1}" to show that image at the side of the text.
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    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}
    
    
    \subsection{Symbols}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \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} \\
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      Side Quest ready & {\tt \textbackslash{sqr}} & \gls{sqr} \\
    
      Side Quest not ready & {\tt \textbackslash{sqn}} & \gls{sqn} \\
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \end{multicols}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \section{Creature Commands}
    
    \begin{multicols}{2}
    
    \subsection{Weapon Commands}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    The \verb"weapon{Name}{1}{2}{3}{80}" 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}% LENGTH
        {1}% SHARPNESS
        {1}% WEIGHT
        {400}% COST
    \end{verbatim}
    
    The attack bonus comes from the weapon's length.
    The damage comes from the weapon's sharpness or weight (whichever is higher).
    The initiative cost to swing the weapon comes from its weight as well.
    Finally, the weight is the same as the minimum Strength bonus required to wield the weapon properly.
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    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}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \textbf{Name} & \textbf{Bonus} & \textbf{Dam.} & \textbf{AP} & \textbf{Weight} & Cost \\\hline
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \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"
      \item
      \verb"\lootMedium"
      \item
      \verb"\lootBig"
      \item
      \verb"\lootMagic"
      \item
      \verb"\lootJewellery"
    
    \end{itemize}
    
    \end{multicols}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \section{Modules \& Areas}
    
    \begin{multicols}{2}
    
    \subsection{Encounters}
    
    Make encounter tables like this:
    
    \begin{verbatim}
    
      \begin{encounters}{Wonderland}
    
        Fields & Gardens & Results \\\hline
    
        \li & Doormouse \\
        \li & Dodo \\
        \li \lii Unicorn \\
        \li \lii Red Queen \\
        & \lii Black Queen \\
        & \lii Green Queen \\
    
    \end{verbatim}
    
    \begin{encounters}{Wonderland}
    
      Fields & Gardens & Results \\\hline
    
      \li & Doormouse \\
      \li & Dodo \\
      \li \lii Unicorn \\
      \li \lii Red Queen \\
      & \lii Black Queen \\
      & \lii Green Queen \\
    
    
    \end{encounters}
    
    And charts about roll successes like this:
    
    \begin{verbatim}
    
    
      \begin{rollchart}
    
        Roll & Result \\\hline
    
        12 & Success \\
    
        11 & Failure \\
    
      \end{rollchart}
    
    \end{verbatim}
    
    \begin{rollchart}
    
      Roll & Result \\\hline
    
      12 & Success \\
    
      11 & Failure \\
    
    \end{rollchart}
    
    
    \end{multicols}
    
    \begin{multicols}{2}
    
    \section{Others}
    
    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.
    
    \end{multicols}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \end{document}