Skip to content
Snippets Groups Projects
Unverified Commit 44f0f7bc authored by Malin Freeborn's avatar Malin Freeborn
Browse files

adjust weapons for mono-roll system

parent f8743953
No related branches found
No related tags found
No related merge requests found
arms.sty 0 → 100644
\ProvidesPackage{config/arms}
%%%%% Weapons
\newtoggle{chart}
\settoggle{chart}{false}
\newcounter{initiative}
\newcounter{damage}
\newcounter{cost}
\newcounter{heft}% used to see how many Init points to swing a weapon
% Weapon entries do two things.
% When used in creatures, they raise stats.
% When used in the weapons chart, they display stats.
\newcommand\weapon[6][]{
\setcounter{initiative}{#5}
\addtocounter{initiative}{3}
% If the weight is better than the Damage, use the Weight *as* the Damage, then add 1.
\setcounter{heft}{4}
\ifnum#5>#3
\addtocounter{heft}{#5}
\else
\addtocounter{heft}{#3}
\fi
\ifnum#4>#5
\setcounter{damage}{#4}
\else
\setcounter{damage}{#5}
\fi
\setcounter{cost}{#6}
#1
\iftoggle{bling}{
\addtocounter{att}{#3}
#2
}{
#2 &
\ifnum#3>0 +\fi
#3 &
\ifnum\value{damage}>0 +\fi\arabic{damage}
& \arabic{initiative} &
#5 &
\ifnum#6<1\else
\ifnum#6>200
\divide\value{cost} by 100
\arabic{cost} sp
\else
\arabic{cost} sp
\fi
\fi
\\
}
}
% Use this 'weapon entry' command to place items in the weapons table, like this:
%\weapon{Name}%
%{Bonus}
%{Dam}
%{Wt.} + Init
%{Cost}
%{Knacks}
\newcommand{\boulder}{\weapon{Boulder}{-2}{0}{6}{0}}
\newcommand{\chair}{\weapon{Chair}{1}{0}{1}{100}}
\newcommand{\club}{\weapon{Club}{1}{0}{2}{8}}
\newcommand{\cudgel}{\weapon{Cudgel}{0}{0}{1}{6}}
\newcommand{\Dagger}{\weapon{Dagger}{0}{2}{-5}{0}}
\newcommand{\firepoker}{\weapon{Firepoker}{1}{0}{1}{90}}
\newcommand{\giantsword}{\weapon{Giant Sword}{3}{1}{4}{3200}}
\newcommand{\greataxe}{\weapon{Great Axe}{2}{1}{4}{1600}}
\newcommand{\greatsword}{\weapon{Great Sword}{2}{2}{3}{2200}}
\newcommand{\greatclub}{\weapon[\addtocounter{damage}{-1}]{Great Club}{3}{0}{5}{10}}
\newcommand{\javelin}{\weapon{Javelin}{2}{1}{0}{880}}
\newcommand{\knife}{\weapon{Knife}{0}{1}{-2}{50}}
\newcommand{\Log}{\weapon{Log}{-1}{0}{0}{1}}
\newcommand{\rapier}{\weapon{Rapier}{2}{2}{-1}{2500}}
\newcommand{\largerock}{\weapon{Rock (large)}{0}{0}{3}{0}}
\newcommand{\longsword}{\weapon{Long Sword}{2}{2}{2}{2200}}
\newcommand{\maul}{\weapon{Maul}{1}{0}{4}{2200}}
\newcommand{\poleaxe}{\weapon{Pole Axe}{4}{1}{4}{2400}}
\newcommand{\quarterstaff}{\weapon[\addtocounter{damage}{-1}]{Quarterstaff}{3}{0}{2}{30}}
\newcommand{\rock}{\weapon{Rock}{-1}{0}{1}{0}}
\newcommand{\shortsword}{\weapon{Short Sword}{1}{2}{0}{1500}}
\newcommand{\skillet}{\weapon{Cast Iron Skillet}{1}{0}{1}{80}}
\newcommand{\spear}{\weapon{Spear}{3}{1}{1}{300}}
\newcommand{\stick}{\weapon{Stick}{1}{0}{-1}{1}}
\newcommand{\whip}{\weapon{Whip}{1}{0}{0}{30}}
\newcommand{\warhammer}{\weapon{Warhammer}{2}{0}{3}{30}}
\newcommand{\woodaxe}{\weapon{Wood Axe}{2}{1}{2}{300}}
% SHIELDS
\newcommand{\longbow}{Longbow}
\newcommand{\shield}{\addtocounter{dex}{1}shield}
\newcommand{\bucklar}{\addtocounter{dex}{1}bucklar shield}
% ARMOUR
%% For perfect armour, stick \perfect Armour in the additional notes category of a \person (#9).
\newcommand{\perfectArmour}{\gdef\armourtype{(Perfect)}}
\newcommand{\partialelvish}{partial leather armour%
\ifnumcomp{\value{dr}}{>}{2}%
{\addtocounter{dr}{1}}%
{\divide\value{dr} by 2 \addtocounter{dr}{2}}%
}
\newcommand{\partialleather}{partial leather armour%
\ifnumcomp{\value{dr}}{>}{3}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{3}}%
}
\newcommand{\completeleather}{full leather armour\gdef\armourtype{C}%
\ifnumcomp{\value{dr}}{>}{3}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{3}}%
}
\newcommand{\partialchain}{partial chainmail%
\ifnumcomp{\value{dr}}{>}{4}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{4}}%
}
\newcommand{\completechain}{complete chain armour\gdef\armourtype{C}%
\ifnumcomp{\value{dr}}{>}{4}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{4}}%
}
\newcommand{\partialplate}{partial plate armour%
\ifnumcomp{\value{dr}}{>}{5}%
{\addtocounter{dr}{3}}%
{\divide\value{dr} by 2 \addtocounter{dr}{5}}%
}
\newcommand{\completeplate}{complete plate armour\gdef\armourtype{C}%
\ifnumcomp{\value{dr}}{>}{5}%
{\addtocounter{dr}{3}}%
{\divide\value{dr} by 2 \addtocounter{dr}{5}}%
}
\RequirePackage{config/layout}
\RequirePackage{config/loot}
\RequirePackage{config/arms}
\RequirePackage{config/stats}
\RequirePackage{config/monsters}
......@@ -170,4 +170,42 @@ And charts about roll successes like this:
\end{multicols}
\section{Weapon Commands}
The {\tt\textbackslash 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.
When that weapon command appears in a table, it shows the Attack, Damage, and Minimum Strength required to lift 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{Standard Weapons} & \textbf{Bonus} & \textbf{Dam.} & \textbf{Initiative} & \textbf{Min. Str.} & Cost \\\hline
\Dagger
\greataxe
\spear
\quarterstaff
\end{nametable}
\end{document}
......@@ -299,8 +299,8 @@ bookmarks=true]%
\includesvg[angle=-20,width=\themp pt]{config/config/images/b1}
\hspace{-20pt}
\fi
\ifnum\value{attb}>8
\addtocounter{attb}{-7}
\ifnum\value{attb}>10
\addtocounter{attb}{-9}
\includesvg[angle=55,width=\theattb ex]{config/images/s1}
\hspace{-30pt}
\fi
......
......@@ -75,7 +75,7 @@
{\arabic{r4}}% WITS
{\arabic{r2}}% DR
{\ifodd\value{r3} 3\else 4\fi}% AGGRESSION
{Athletics~\arabic{r3b}, \ifodd\value{r4} Vigilance~\arabic{r3b}\fi, Wyldcrafting~\arabic{r3}}% SKILLS
{Athletics~\arabic{r3b}, \ifodd\value{r4} Vigilance~\arabic{r3b}, \fi Wyldcrafting~\arabic{r3}}% SKILLS
{\web}% ABILITIES
{}
}
......@@ -190,7 +190,7 @@
{4}%DR
{\arabic{age}}% COMBAT
{Aggression~\arabic{enc}, Projectiles~\arabic{r3b}, Academics~\arabic{r3}, Athletics~\arabic{r2b}, Deceit~\arabic{r2c}, Tactics~2, Vigilance~3
\knacks{\bloodCaster\ifodd\value{page}\combatcaster\else\backtothewall\fi, \ifnumcomp{\value{r3}}{>}{2}{\laststand}{\adrenalinesurge}}
\knacks{\bloodCaster, \ifodd\value{page}\combatcaster\else\backtothewall\fi, \ifnumcomp{\value{r3}}{>}{2}{\laststand}{\adrenalinesurge}}
\Path{\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}}}}%
......@@ -235,7 +235,7 @@
{2}% COMBAT
{Caving \arabic{r2}, 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
{\knacks{Chosen Enemy: Goblinoids\ifodd\value{r2b}, \defender\fi}}% SKILLS
}
\newcommand{\dwarvenrunemaster}[1][\npc{\M}{Dwarven Runemaster}]{
......
......@@ -125,7 +125,7 @@
\newcounter{xp}
\newcounter{xpbonus}
\newcounter{attackXPtotal}
\newcounter{defenceXPtotal}
\newcounter{defenceXPtotal} %rem
% _
% ___ ___ _ __ ___ _ __ ___ __ _ _ __ __| |___
......@@ -189,72 +189,6 @@
\newcommand{\songCaster}{Song Caster\addtocounter{knacks}{1}\renewcommand{\magicPath}{Song}}
\newcommand{\combatcaster}{Combat Caster\addtocounter{knacks}{1}}
%%%%% Weapons
\newcommand{\javelin}{Javelin\addtocounter{str}{1}\addtocounter{spd}{2}}
\newcommand{\Dagger}{Dagger\addtocounter{str}{1}}
\newcommand{\shortsword}{Shortsword\addtocounter{str}{1}\addtocounter{spd}{1}\addtocounter{dex}{2}}
\newcommand{\club}{Club\addtocounter{str}{2}\addtocounter{spd}{1}\addtocounter{dex}{1}}
\newcommand{\rapier}{Rapier\addtocounter{str}{1}\addtocounter{spd}{2}\addtocounter{dex}{1}}
\newcommand{\longsword}{Longsword\addtocounter{str}{1}\addtocounter{spd}{1}\addtocounter{dex}{3}}
\newcommand{\greatsword}{Greatsword\addtocounter{str}{2}\addtocounter{spd}{1}\addtocounter{dex}{2}}
\newcommand{\spear}{Spear\addtocounter{str}{1}\addtocounter{spd}{1}\addtocounter{dex}{2}\addtocounter{spdb}{2}}
\newcommand{\quarterstaff}{Quarterstaff\addtocounter{spd}{1}\addtocounter{dex}{2}\addtocounter{spdb}{2}}
\newcommand{\greataxe}{Greataxe\addtocounter{str}{3}\addtocounter{spd}{1}\addtocounter{dex}{1}}
\newcommand{\woodaxe}{Wood axe\addtocounter{str}{2}\addtocounter{dex}{1}}
\newcommand{\greatclub}{Greatclub\addtocounter{str}{4}\addtocounter{spd}{1}\addtocounter{dex}{1}}
\newcommand{\longbow}{Longbow}
\newcommand{\shield}{\addtocounter{dex}{1}shield}
\newcommand{\bucklar}{\addtocounter{dex}{1}bucklar shield}
% ARMOUR
%% For perfect armour, stick \perfectArmour in the additional notes category of a \person (#9).
\newcommand{\perfectArmour}{\gdef\armourtype{(Perfect)}}
\newcommand{\partialelvish}{partial leather armour%
\ifnumcomp{\value{dr}}{>}{2}%
{\addtocounter{dr}{1}}%
{\divide\value{dr} by 2 \addtocounter{dr}{2}}%
}
\newcommand{\partialleather}{partial leather armour%
\ifnumcomp{\value{dr}}{>}{3}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{3}}%
}
\newcommand{\completeleather}{full leather armour\gdef\armourtype{C}%
\ifnumcomp{\value{dr}}{>}{3}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{3}}%
}
\newcommand{\partialchain}{partial chainmail%
\ifnumcomp{\value{dr}}{>}{4}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{4}}%
}
\newcommand{\completechain}{complete chain armour\gdef\armourtype{C}%
\ifnumcomp{\value{dr}}{>}{4}%
{\addtocounter{dr}{2}}%
{\divide\value{dr} by 2 \addtocounter{dr}{4}}%
}
\newcommand{\partialplate}{partial plate armour%
\ifnumcomp{\value{dr}}{>}{5}%
{\addtocounter{dr}{3}}%
{\divide\value{dr} by 2 \addtocounter{dr}{5}}%
}
\newcommand{\completeplate}{complete plate armour\gdef\armourtype{C}%
\ifnumcomp{\value{dr}}{>}{5}%
{\addtocounter{dr}{3}}%
{\divide\value{dr} by 2 \addtocounter{dr}{5}}%
}
%
% _ __ ___ _ __ ___ ___ _ __
%| '_ \ / _ \ '__/ __|/ _ \| '_ \
......@@ -375,6 +309,8 @@
\newcommand{\clean}{
\setcounter{fp}{5}
\setcounter{sp}{0}
\setcounter{heft}{4}
\setcounter{damage}{0}
\setcounter{knacks}{0}
\renewcommand{\armourtype}{N}
\renewcommand{\weaponknackone}{}
......@@ -430,9 +366,6 @@
\addtocounter{hp}{6}
\iftoggle{examplecharacter}{}{
\addtocounter{dex}{7}
}
\vspace{.1cm}
\raggedright
\noindent
......@@ -486,20 +419,13 @@
\vspace{.1cm}
\addtocounter{att}{\value{dex}}
\addtocounter{attb}{\value{dexb}}
\noindent Attack \arabic{att}\ifnumcomp{\value{att}}{=}{\value{attb}}{}{ (\arabic{attb})},
Initiative \arabic{spd}\ifnumcomp{\value{spd}}{=}{\value{spdb}}{}{ (\arabic{spdb})},
Damage \calculatedamage{\value{str}}\ifnumcomp{\value{str}}{=}{\value{strb}}{}{ (\calculatedamage{\value{strb}})},
\iftoggle{examplecharacter}{\mbox{Defence \arabic{dex},} }{%
TN \arabic{dex}%
\ifnumcomp{\value{dr}}{>}{0}{
\ifnum\pdfstrcmp{\armourtype}{P}=0%
\addtocounter{dexb}{3} (\arabic{dexb})%
\fi
\ifnum\pdfstrcmp{\armourtype}{C}=0%
\addtocounter{dexb}{5}~(\arabic{dexb})%
\fi%
}{},
}%
Heft \arabic{heft},
\addtocounter{damage}{\value{str}}
\mbox{Damage \calculatedamage{\value{damage}}\ifnumcomp{\value{str}}{=}{\value{strb}}{}{\addtocounter{damage}{\value{strb}}\addtocounter{damage}{-\value{str}} (\calculatedamage{\value{damage}})},}
\ifnumcomp{\value{dr}}{>}{0}{DR \arabic{dr}~\armourtype, }{}%
\ifnum\value{mp}>0%
\addtocounter{mp}{\value{wts}}%
......@@ -571,8 +497,6 @@
\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}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment