Skip to content
Snippets Groups Projects
arms.sty 4.97 KiB
Newer Older
  • Learn to ignore specific revisions
  • \ProvidesPackage{config/arms}
    %%%%% Weapons
    
    % Weapon entries do two things.
    % When used in creatures, they raise stats.
    
    % When used in the weapons chart, they display stats.
    
    %
    % Use this 'weapon entry' command to place items in the weapons table, like this:
    %\weapon[optional arguments]{Name}%
    %{Bonus}
    %{Dam}
    %
    % The AP cost ('heft') = ( Att + Dam ) / 2
    % The Weight Rating = ( Att + Dam ) - 3
    
    \newcounter{weaponBonus}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcounter{weaponDamage}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcounter{weaponWeight}
    
    \newcounter{covering}
    \newcounter{armourDR}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcounter{armourWeight}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand\weaponName{}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand\armourName{}
    
    \newcommand\weapon[4][0]{%
      \renewcommand\weaponName{#2}%
    
      \setcounter{weaponBonus}{#3}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \setcounter{weaponDamage}{#4}%
    
      \setcounter{weaponWeight}{#3}%
      \ifnum#3<0%
        \multiply\value{weaponWeight} by -1%
    
      \ifnum#4>0%
        \addtocounter{weaponWeight}{#4}%
    
      \roundUp{weaponWeight}%
      \addtocounter{weaponWeight}{#1}%
      \setcounter{heft}{\value{weaponWeight}}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \addtocounter{att}{\value{weaponBonus}}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \ifnum\value{heft}<1\setcounter{heft}1\fi%
    
    %% Use this to show weapons in tables.
    %% Remember to close it with '\\' after.
    %% It remains unterminated so you can add Costs.
    
    \newcommand\showWeapon[1]{%
    
      #1 \weaponName & \absNum{weaponBonus} & \absNum{weaponDamage} & \arabic{weaponWeight}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcounter{secondWeaponWeight}
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand\rangedWeapon[4][0]{%
      \setcounter{track}{7}%
      \addtocounter{track}{#1}%
      \addtocounter{track}{\value{Dexterity}}%
      \addtocounter{track}{\value{Projectiles}}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \setcounter{secondWeaponWeight}{#3}%
      \addtocounter{secondWeaponWeight}{-4}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \setcounter{enc}{#3}%
      #2 (\glsentrytext{tn}~\arabic{track}, \dmg{enc}, \glsentrytext{ap}~{#4})%
    }
    
    \newcommand\smolCrossBow{%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \rangedWeapon[2]{Crossbow}{6}{1}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    }
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    
    \newcommand\armour[4][]{
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \renewcommand\armourName{#2}% Name
    
      \setcounter{armourDR}{#3}%
      \setcounter{covering}{#4}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \setcounter{armourWeight}{#4}%
      \addtocounter{armourWeight}{#3}%
      \addtocounter{armourWeight}{1}%
      \divide\value{armourWeight} by 3%
      \addtocounter{armourWeight}{0}%
    
      #1% <- for adjustments.
    }
    
    
    \newcommand\showArmour[1]{%
    
      #1 \expandafter\MakeUppercase\armourName & \arabic{armourDR} & \arabic{covering} & \arabic{armourWeight}
    
    \newcommand{\boulder}{\weapon{Boulder}{-3}{5}}
    \newcommand{\chair}{\weapon{Chair}{2}{1}}
    \newcommand{\club}{\weapon{Club}{1}{1}}
    \newcommand{\cudgel}{\weapon{Cudgel}{0}{0}}
    
    \newcommand{\Dagger}{\weapon{Dagger}{0}{2}}
    
    \newcommand{\firepoker}{\weapon{Firepoker}{1}{0}}
    
    \newcommand{\flail}{\weapon{Flail}{0}{3}}
    
    \newcommand{\giantsword}{\weapon{Giant Sword}{4}{3}}
    
    \newcommand{\greataxe}{\weapon{Great Axe}{2}{3}}
    
    \newcommand{\greatsword}{\weapon{Greatsword}{3}{3}}
    
    \newcommand{\greatclub}{\weapon{Great Club}{3}{4}}
    
    \newcommand{\javelin}{\weapon{Javelin}{2}{1}}
    
    \newcommand{\knife}{\weapon[-1]{Knife}{0}{1}}
    \newcommand{\Log}{\weapon{Log}{1}{0}}
    \newcommand{\rapier}{\weapon{Rapier}{1}{1}}
    \newcommand{\largerock}{\weapon{Rock (large)}{-1}{2}}
    
    \newcommand{\longsword}{\weapon{Longsword}{2}{2}}
    \newcommand{\maul}{\weapon{Maul}{1}{3}}
    
    \newcommand{\poleaxe}{\weapon{Poleaxe}{3}{3}}
    
    \newcommand{\quarterstaff}{\weapon{Quarterstaff}{3}{0}}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand{\rock}{\rangedWeapon{rock}{3}{2}}
    
    \newcommand{\scythe}{\weapon[1]{Scythe}{-2}{2}}
    
    \newcommand{\shortsword}{\weapon{Shortsword}{1}{1}}
    
    \newcommand{\skillet}{\weapon[1]{Frying Pan}{1}{2}}
    
    \newcommand{\spear}{\weapon{Spear}{3}{1}}
    
    \newcommand{\glaive}{\weapon{Glaive}{3}{2}}
    
    \newcommand{\stick}{\weapon{Stick}{1}{0}}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand{\walkingStick}{\weapon{Walking stick}{1}{0}}
    
    \newcommand{\whip}{\weapon{Whip}{1}{0}}
    
    \newcommand{\warhammer}{\weapon{Warhammer}{1}{4}}
    
    \newcommand{\woodaxe}{\weapon{Wood Axe}{1}{2}}
    
    \newcommand{\crapLongsword}{\weapon[1]{Inferior longsword}{2}{2}}
    \newcommand{\crapRapier}{\weapon[1]{Shoddy rapier}{1}{1}}
    \newcommand{\crapGlaive}{\weapon[1]{Unbalanced glaive}{3}{2}}
    \newcommand{\crapBuckler}{\weapon[1]{Shoddy buckler}{2}{-4}}
    
    \newcommand{\buckler}{\weapon{Buckler}{2}{-4}}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand{\roundshield}{\weapon{Round Shield}{3}{-2}}
    \newcommand{\kiteshield}{\weapon{Kite Shield}{4}{-4}}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    % RANGED WEAPONS
    \newcommand{\longbow}{Longbow}
    
    
    %%%%%%%%% Old Armour, Delete Later
    
    
    %% For perfect armour, stick \perfect Armour in the additional notes category of a \person (#9).
    
    
    \newcommand{\perfectArmour}{\setcounter{covering}{8}}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand{\partialelvish}{%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \armour[\addtocounter{armourWeight}{-1}]{Elvish Ceramic armour}{2}{3}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand{\partialpadded}{%
      \armour[\addtocounter{armourWeight}{1}]{padded armour}{3}{3}%
    }
    
    
    \newcommand{\partialleather}{%
    
      \armour{partial leather}{3}{3}%
    
    \newcommand{\completeleather}{%
    
      \armour{complete leather}{3}{5}%
    
    \newcommand{\partialchain}{%
    
      \armour{partial chain}{4}{3}%
    
    \newcommand{\completechain}{%
    
      \armour{complete chain}{4}{5}%
    
    \newcommand{\partiallisk}{%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \armour{partial lisk-hide}{4}{3}%
    }
    
    
    \newcommand{\completelisk}{%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \armour{complete lisk-hide}{4}{5}%
    }
    
    
    \newcommand{\partialplate}{%
    
      \armour{partial plate}{5}{3}%
    
    \newcommand{\completeplate}{%
    
      \armour{complete plate}{5}{5}%