.\"	charsheet:charsheet.mm	1.11
.\"
.\"	Copyright 1991, Chris Seabrook
.\"
.\"	This work may be freely used. modified and distributed for non-commercial
.\"	purposes so long as it retains this notice.
.\"
.\"	format using: pic | troff -mm
.TL
AD&D\(rg 2nd Edition Character Sheet \fCpic\fP Macros
.AF ""
.AU "Chris Seabrook"
.AU "Mary Seabrook"
.AS
This document describes a set of \fCpic\fP macros used for generating
customised character sheets for AD&D 2nd edition characters.
.AE
.MT 4
.PF "'charsheet:charsheet.mm''Vesion: 1.11'"
.PS
copy "../macros/main"
scale=1.25
.PE
.H 1 "Introduction"
The problem with designing character sheets for AD&D characters has always
been the differing information required for different character classes and
races.
In an effort to overcome this the macro set described by this document breaks
the character sheet down into a series of standard pieces which can be included
or excluded to build a customised sheet for a particular chracter.
Thus a fighter no longer has an empty box on his or her sheet for thieves
skills,
many of the pieces are of configurable size as well,
so a wizard does not need to have many blank weapon proficiency slots just
because a fighter will need many more.
.P
The macro package also contains macros to fill in information in the various
sections,
so it is possible to use this system to keep an online version of a particular
characters sheet as well as simply producing blanks for players to fill in by
hand.
.P
The standard version of \fCpic\fP installed on most machines restricts the
size of a picture to 8 inches square,
which poses a problem when trying to make up an 8\(12 by 11 sheet.
Users must either find (or create) a modified version of pic which can deal with
larger pictures (the 8x8 is only a constant within pic) or leave a
considerable ammount of space at the foot of each page.
.H 1 "The Macros"
Each character sheet input file is a \fCtroff\fP document which is
pre-processed by \fCpic\fP.
The \fCpic\fP input should include the macros by including the collection
file \fC../macros/main\fP,
this in turn will include all of the other macros files from \fC../macros\fP.
The macros can then be used in any order with each page appearing between
a \fC.PS\fP and a \fC.PE\fP macro.
The only condition on ordering the macros is that the \fBtitle\fP macro
should be called at the top of each page,
and that the \fBnotes\fP and \fBmoney\fP macros are intended to be called at
the bottom of a page.
.P
.DS I
.ft C
\\.po -0.5i
\\.PS
copy "../macros/main"
title(\fIName, Race, Class, Level, Alignment\fP)
\\......
notes()
\\.PE
\\.bp
\\.PS
copy "../macros/main"
title(\fIName, Race, Class, Level, Alignment\fP)
\\......
money(gold, experience, next)
\\.PE
.DE
.P
Note the \fC.po -0.5i\fP at the head of the document.
This improves the overall positioning on the page.
.H 2 "The \fBtitle\fP Macro"
The \fBtitle\fP macro takes 5 arguments,
the characters name,
race,
class,
level,
and alignment.
This macro establishes the position at the top of the page and all other
sections on the page are placed relative to it,
so a \fBtitle\fP call must head each page.
.P
.ne 2.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
.DE
.P
will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
.PE
.P
Multi classed characters should specify both classes and both levels as single
arguments.
.P
.ne 2.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter/Thief, 4/6, LG)
.DE
.P
will produce
.P
.PS
title(Garth, Human, Fighter/Thief, 4/6, LG)
.PE
.H 2 "The \fBstats\fP Macro"
The \fBstats\fP macro is divided into 3 sections due to \fCpic\fP's limitation
of only 9 arguments to a macro.
The main \fBstats\fP macro draws all of the structure of this section and
fills in the values for the primary statistics.
Fighters should denote exceptional strength (18 + percentage) as 18.<%age>,
eg. 18(31) as 18.31.
This is important as the value is used later by the \fBencumbrance\fP macro to
calculate movement rates.
The call to \fBstats\fP can then be followed by calls to \fBstats1\fP and
\fBstats2\fP to fill in the remaining values.
.P
The specific arguments to the macros are
.P
.DS I
stats(Str, Int, Wis, Dex, Con, Cha)
stats1(AC, HP, Reaction, Doors, Bars, Handed, Sex)
stats2(Spell, Weapons, Non-Weapons, Age, Birthday, Next Change, Height, Weight)
.DE
.P
.ne 5.0i
The calls
.P
.DS I
title(Garth, Human, Fighter, 4, LG)
stats(17, 13, 12, 18, 10, 12)
stats1(1,35,0,1-2,7,right,male)
stats2(,5,2,23,1st June,30,72,160)
.DE
.P
will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
stats(17, 13, 12, 18, 10, 12)
stats1(1,35,0,1-2,7,right,male)
stats2(,5,2,23,1st June,30,72,160)
.PE
.H 2 "The \fBhandweapon\fP Macro"
The \fBhandweapon\fP macro takes an argument of the number of lines required
for proficiencies with hand held weapons.
Succesive calls to the \fBhweapon\fP macro then fill it lines with details of
specific proficient weapons.
.P
The specific arguments to the macros are
.P
.DS I
.ft C
handwepon(number of slots)
hweapon(name, atks, number of slots allocated, speed, thac0, s-m, l)
.DE
.P
.ne 3.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
handweapon(3)
hweapon(Long Sword, 3/2, 2, 5, 17, 1-8, 1-12)
hweapon(Mace, 1, 1, 7, 18, 2-7, 1-6)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
handweapon(3)
hweapon(Long Sword, 3/2, 2, 5, 17, 1-8, 1-12)
hweapon(Mace, 1, 1, 7, 18, 2-7, 1-6)
.PE
.H 2 "The \fBthrowweapon\fP Macro"
The \fBthrowweapon\fP macro and the \fBtweapon\fP pefrom the equivalent
functions for ranged weapons.
.P
The specific arguments to the macros are
.P
.DS I
.ft C
throwweapon(number)
tweapon(name, s, m, l, atks, number of slots allocated, thac0, s-m, l)
.DE
.P
.ne 3.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
throwweapon(2)
tweapon(Long Bow, 2, 6, 10, 2, 1, 18, 1-6, 1-6)
tweapon(Dagger, 1, 2, 4, 2, 1, 18, 1-4, 1-3)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
throwweapon(2)
tweapon(Long Bow, 2, 6, 10, 2, 1, 18, 1-6, 1-6)
tweapon(Dagger, 1, 2, 4, 2, 1, 18, 1-4, 1-3)
.PE
.H 2 "The \fBnonweapon\fP Macro"
The \fBnonweapon\fP and \fBnweapon\fP macros perform the same function for
non-weapon proficiencies.
.P
The specific arguments to the macros are
.P
.DS I
.ft C
nonweapon(number)
nweapon(name, number of slots used, attribute, modifier)
.DE
.P
.ne 3.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
nonweapon(2)
nweapon(Healing, 2, Wis, 0)
nweapon(Juggling, 1, Dex, +2)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
nonweapon(2)
nweapon(Healing, 2, Wis, 0)
nweapon(Juggling, 1, Dex, +2)
.PE
.H 2 "The \fBlanguages\fP Macro"
The \fBlanguages\fP macro creates space to record known languages.
The argument is rounded up to give a minimum of 4 slots increasing by groups
of 3 from there.
The \fBlanguage\fP macro is then used to record known languages.
.P
.ne 3.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
languages(10)
language(common)
language(elvish)
language(orcish)
language(thieves cant)
language(chinese)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
languages(10)
language(common)
language(elvish)
language(orcish)
language(thieves cant)
language(chinese)
.PE
.H 2 "The \fBsaves\fP Macro"
The \fBsaves\fP macros is used to record saving throws and takes the standard
set of 5 saves as arguments.
.P
The specific arguments to the macro are
.P
.DS I
.ft C
saves(Poison Death Magic, Paralysation, Rod Staff or Wand \\
	Paralysation, Petrification or Polymorph, Breath Weapon, Spell or Magic)
.DE
.P
.ne 3.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
saves(16, 15, 14, 15, 17)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
saves(16, 15, 14, 15, 17)
.PE
.H 2 "The \fBthief\fP Macro"
The \fBthief\fP macro records thief's skill for those characters possesing
them,
and takes the values for the skills as its arguments.
.P
The specific arguments to the macros are
.P
.DS I
.ft C
thief(pick pockets, open locks, find/remove traps, move silently,  \\
	hide in shadows, hear noise, climb walls, read languages)
.DE
.P
.ne 3.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter/Thief, 4/3, LG)
thief(25, 55, 30, 47, 78, 55, 22, 97, 10)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter/Thief, 4/3, LG)
thief(25, 55, 30, 47, 78, 55, 22, 97, 10)
.PE
.H 2 "The \fBencumbrance\fP Macro"
This macro calculates the weight allowance and movement rate numbers
from the encumbrance optional rule (Players Handbook p78),
it takes one argument, the characters base movement rate of either 6 or 12
inches and also picks up the characters strength from a prior call to the
\fBstats\fP macro\(dg,
in fact it is a requirement that \fBstats\fP be called prior to
\fBencumbrance\fP.
.FS \(dg
Due to some limitations on arithmetic inside pic fighters exceptional strength
ratings (18 plus percentile) should be given to the \fBstats\fP macro as 18.35
etc.
.FE
.P
.ne 3.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
encumbrance(12)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
encumbrance(12)
.PE
.H 2 "The \fBcompanions\fP Macro"
The \fBcompanions\fP and \fBcompanion\fP macros are designed to record
information about other creatures associated with a main character.
For example mounts,
a wizards familiar,
henchmen etc.
.P
The specific arguments to the macros are
.P
.DS I
.ft C
companions(number)
companion(name, race, ac, hd or level, thac0, hp, #atks, dam, special)
.DE
.P
.ne 3.0i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
companions(3)
companion(Dobbin,Medium Warhorse,6,2+2,17,13,3,1-6,1-6,1-4,)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
companions(3)
companion(Dobbin,Medium Warhorse,6,2+2,17,13,3,1-6,1-6,1-4,)
.PE
.H 2 "The \fBequipment\fP Macro"
The \fBequipment\fP,
\fBcontainer\fP and \fBitem\fP macros are to record equipment carried by the
character and how it is distributed.
The \fBequipment\fP macro takes an argument of the number of discrete
container to be recorded,
which is rounded up to an even number.
It's second argument is the number of space for items to be left in each
container.
The \fBcontainer\fP macro records the details of each container,
its weight,
capacity and laden weight.
Calls to the \fBitem\fP macro then fill in individual entries in the current
container.
.P
The specific arguments to the macros are
.P
.DS I
.ft C
equipment(number of containers, entries per container)
container(name, capacity, container weight, total weight)
item(magic, name, weight)
.DE
.P
.ne 5.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
equipment(2, 4)
container(Clothes,,5,9)
item(,Dagger,3)
item(*,Wand of Fireball[12],1)
container(Backpack,170,10,47)
item(,4 Oil Flask,30)
item(,Iron Rations,5)
item(*,Potion of Heroism,2)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
equipment(2, 4)
container(Clothes,,5,9)
item(,Dagger,3)
item(*,Wand of Fireball[12],1)
container(Backpack,170,10,47)
item(,4 Oil Flask,30)
item(,Iron Rations,5)
item(*,Potion of Heroism,2)
.PE
.H 2 "The \fBtakelist\fP Macro"
The \fBtakelist\fP macros is used to allocate space for recording treasure and other items
found by a party during an adventure.
.P
The specific arguments to the macros are
.P
.DS I
.ft C
takelist(number of entries)
.DE
.P
.ne 5.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
takelist(6)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
takelist(6)
.PE
.H 2 "The \fBnotes\fP Macro"
The \fBnotes\fP macro is to be used at the foot of a page to mark the
remaining space for general note taking.
It takes no arguments.
.P
.ne 2.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
notes()
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
notes()
.PE
.H 2 "The \fBmoney\fP Macro"
The \fBmoney\fP macro is similar to the \fBnotes\fP macros in that it is used
at the foot of a page,
it marks the remaining space for use recording money and experience.
It takes three arguments,
current values for gold and experience and the next level break or breaks.
.P
.ne 2.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
money(532, 4355, 5000)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
money(532, 4355, 5000)
.PE
.H 2 "The \fBspells\fP Macro"
The \fBspells\fP macro is used to provide space to record currently or
normally memorised spells,
including such information as casting time,
range and duration.
It takes two arguments,
the level of spell and the number of spaces to provide.
It is intended that spaces be allocated for slightly more than the number
of spells which can be memorised of that level,
to allow all spells of that level which are normally memorised to be recorded.
The \fBspell\fP macro is then used to fill in particular spells.
.P
.ne 4.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
spells(4, 6)
spell(Faerie Fire,2,5r,10x10,20yds,yes)
spell(Sanctuary,2,7r,10x10,50yds,no)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
spells(4, 6)
spell(Faerie Fire,2,5r,10x10,20yds,yes)
spell(Sanctuary,2,7r,10x10,50yds,no)
.PE
.H 2 "The \fBspellbook\fP Macro"
This is similar to the \fBspells\fP macro but is intended for use in
maintaining a spellbook so spaces should be allocated for the maximum number
of spells knowable at each level.
The \fBspellbook\fP macro also leaves a blank line with each spell for
recording a synopsis of the spell.
.P
.ne 6.5i
The calls
.P
.DS I
.ft C
title(Garth, Human, Fighter, 4, LG)
spellbook(2, 4)
.DE
.P
Will produce
.P
.PS
title(Garth, Human, Fighter, 4, LG)
spellbook(2, 4)
.PE
.H 1 "Examples"
.ne 5.0i
.H 2 "A General Blank Sheet"
.P
.DS I
.ft C
\\.po -0.5i
\\.PS
copy "../macros/main"
title(, , , ,)
stats(0,,,,,)
handweapon(3)
throwweapon(2)
saves(,,,,)
nonweapon(3)
thief(,,,,,,,)
encumbrance(12)
equipment(2,8)
companions(2)
languages(8)
money
\\.PE
.DE
