Skip to content
Snippets Groups Projects
arms.sty 5.39 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}
    
    \newcounter{covering}
    \newcounter{armourDR}
    
    
    \newcommand\weapon[4][]{%
    
      \setcounter{weaponBonus}{#3}%
    
      \setcounter{damage}{#4}%
    
      \setcounter{heft}{#4}%
      \setcounter{weight}{#4}%
      \ifnum#3>-1% If the weapon's attack bonus is positive,
        \addtocounter{heft}{#3}% add it to the AP cost and 
        \addtocounter{weight}{#3}% weight rating,
    
        \addtocounter{weight}{#3}% weight rating again,
        \roundUp{weight}% half weight rating
    
    Malin Freeborn's avatar
    Malin Freeborn committed
        \roundUp{heft}% then the AP cost by 2.
    
    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%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      #2%
    
    %% 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 & \arabic{weaponBonus} & \arabic{damage} & \arabic{heft} & \arabic{weight}
    }
    
    
    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}}%
      \setcounter{enc}{#3}%
      #2 (\glsentrytext{tn}~\arabic{track}, \dmg{enc}, \glsentrytext{ap}~{#4})%
    }
    
    \newcommand\smolCrossBow{%
      \rangedWeapon{Crossbow}{6}{1}%
    }
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    % Shields work much like weapons, except that their Bonus is high, their initiative cost is low, but their attack is poor.
    
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    %\newcommand\shield[3][]{%
    %  \setcounter{shieldBonus}{#3}%
    %  \addtocounter{shieldBonus}{2}%
    %  \setcounter{shieldWeight}{#3}%
    %  \setcounter{shieldInit}{#3}%
    %  \stepcounter{shieldInit}%
    %  \setcounter{cost}{87}%
    %  #1%
    %  \iftoggle{creatureBox}%
    %    {#2 shield (+\arabic{shieldBonus}/ \arabic{shieldInit})}{%
    %      \MakeUppercase#2 Shield &%
    %      +\arabic{shieldBonus} &
    %      \arabic{shieldInit} &
    %      \arabic{shieldWeight}
    %    }%
    %}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    
    
    \newcommand\armour[4][]{
      #2% Name
      \setcounter{armourDR}{#3}%
      \setcounter{covering}{#4}%
      \setcounter{weight}{#4}%
    
    Malin Freeborn's avatar
    Malin Freeborn committed
      \addtocounter{weight}{#3}%
      \addtocounter{weight}{1}%
      \divide\value{weight} by 3%
      \addtocounter{weight}{0}%
    
      #1% <- for adjustments.
      \iftoggle{creatureBox}{%
        \ifnumcomp{\value{dr}}{>}{\value{armourDR}}%
        {%
          \divide\value{armourDR} by 2%
          \addtocounter{dr}{\value{armourDR}}%
        }{%
          \divide\value{dr} by 2%
          \addtocounter{dr}{\value{armourDR}}%
        }%
      }{}%
    }
    
    
    \newcommand\showArmour[1]{%
      #1 & \arabic{armourDR} & \arabic{covering} &  \arabic{weight}
    }
    
    
    \newcommand{\boulder}{\weapon[\addtocounter{weight}{3}]{Boulder}{-3}{5}}
    
    \newcommand{\chair}{\weapon[\addtocounter{weaponBonus}{-1}]{Chair}{2}{1}}
    
    \newcommand{\club}{\weapon[\addtocounter{damage}{-1}]{Club}{1}{1}}
    
    \newcommand{\cudgel}{\weapon[\addtocounter{damage}{-1}]{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[\addtocounter{damage}{-1}]{Great Club}{3}{4}}
    
    \newcommand{\javelin}{\weapon{Javelin}{2}{1}}
    \newcommand{\knife}{\weapon{Knife}{0}{1}}
    
    \newcommand{\Log}{\weapon[\addtocounter{damage}{-3}]{Log}{1}{0}}
    
    \newcommand{\rapier}{\weapon[\addtocounter{weight}{-1}]{Rapier}{1}{1}}
    
    \newcommand{\largerock}{\weapon[\addtocounter{weight}{3}]{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}}
    
    \newcommand{\rock}{\weapon[\addtocounter{heft}{1}\addtocounter{weight}{-1}]{Rock}{-1}{0}}
    
    \newcommand{\scythe}{\weapon[\addtocounter{weight}{2}]{Scythe}{-2}{1}}
    
    \newcommand{\shortsword}{\weapon{Shortsword}{1}{1}}
    \newcommand{\skillet}{\weapon[\addtocounter{heft}{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[\addtocounter{damage}{-1}\addtocounter{heft}{1}]{Whip}{2}{0}}
    \newcommand{\warhammer}{\weapon{Warhammer}{1}{4}}
    \newcommand{\woodaxe}{\weapon[\addtocounter{heft}{1}]{Wood Axe}{1}{2}}
    
    Malin Freeborn's avatar
    Malin Freeborn committed
    \newcommand{\bucklar}{\weapon{Bucklar}{2}{-2}}
    \newcommand{\roundshield}{\weapon{Round Shield}{2}{-1}}
    \newcommand{\kiteshield}{\weapon{Kite Shield}{3}{0}}
    
    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{weight}{-1}]{Elvish Ceramic armour}{2}{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{\partialplate}{
    
      \armour{partial plate}{5}{3}%
    
    \newcommand{\completeplate}{
    
      \armour{complete plate}{5}{5}%