Class Files

Class files are where each class is listed, given it's important information for the correct output and functioning of the class.

There are many tags required to build the class successfully, but not all are required. The tags below represent the choices that can be applied to each class. They are broken into four categories:

Each class has 2 components to it:

The class line begins with CLASS (Required) and the class level line begins with a level # (0, 1, 2, etc - Required).


Tags Required for all Classes


Tag Name: ABB:x

Variables Used: Text

What it does:

This is a 3-5 letter abbreviation of the class name.

Example:

ABB:Rgr

The class abreviation is "Rgr".

Where it is used:

Class Line.


*** New 4.3.8
Tag Name: ATTACKCYCLE:x

Variables Used: BAB, RAB, or UAB

What it does:

Example:

ATTACKCYCLE:UAB|3

Grants another attack ever 3 bonus points of BAB from the class to the Unarmed attack cycle.

Where it is used:

Class Line.


Tag Name: CLASS:x

Variables Used: Text

What it does:

Example:

CLASS:Ranger

The full class name is "Ranger".

Where it is used:

Beginning of Class Line.


Tag Name: HD:x

Variables Used: Number (4, 6, 8, 10, 12. default is 0)

What it does:

This is the Hit Die used to determine hit points at each level gained.

Example:

HD:10

The hit dice per level is 10.

Where it is used:

Class Line.


Tag Name: MAXLEVEL:x

Variables Used: Number

What it does:

Example:

MAXLEVEL:10

The maximum class level is 10.

Where it is used:

Class Line.


Tag Name: STARTSKILLPTS:x

Variables Used: Number

What it does:

This is how many skill points a character gains per level.

Example:

STARTSKILLPTS:4

Class gets 4 skill points per level, before any modifiers.

Where it is used:

Class Line.


Tag Name: TYPE:x

Variables Used: Text (Monster, PC, NPC, Prestige, Base, Apprentice)

What it does:

This is used within the filters of PCGen to sort the classes by their respective types (makes it easier to find a specific class).

Example:

TYPE:Base.PC

The class will appear if the "Base" or "PC" filter options are selected.

Where it is used:

Class Line.


Tag Name: XTRAFEATS:x

Variables Used: Number

What it does:

This is used to determine how many extra feats the class will get at first level only.

Example:

XTRAFEATS:1

The class will gets 1 extra feat.

Where it is used:

Class Line.


Spell Casters Tags


Tag Name: ADDDOMAINS:x

Variables Used: Text

What it does:

Examples:

ADDDOMAINS:Sun

The class gets the Sun domain as a choice regardless of the deity selected.

ADDDOMAINS:Sun.Law

The class gets the Sun & Law domains as a choice regardless of the deity selected.

Where it is used:

Class Level Line.


*** New 5.4

Tag Name: BONUS:CASTERLEVEL|x|y

Variables Used (x): Text (Class name)

Variables Used (y): Number (Number to add class level)

What it does:

Example:

BONUS:CASTERLEVEL|Wizard|CL

Sets the Wizards spell caster level to his class level.

BONUS:CASTERLEVEL|Paladin|CL/2|PRECLASSLEVEL:Paladin=4

Sets the Paladins spell caster level to half his class level after he reaches level 4.


*** New 4.3.1
Tag Name: BONUSSPELLSTAT:x

Variables Used: abbreviated name of stat (from statsandchecks.lst) or "None"

What it does:

Example:

BONUSSPELLSTAT:STR

The class uses Strength to determine bonus spells.

Where it is used:

Class Line.


Tag Name: CAST:x

Variables Used: Number

What it does:

Example:

CAST:3,3,1

Class can cast 3 0th level spells, 3 1st level spells and 1 2nd level spell.

Where it is used:

Class Level Line.


Tag Name: CASTAS:x

Variables Used: Text

What it does:

Example:

CASTAS:Wizard

Class casts spells like a "Wizard".

Where it is used:

Class Line.


Tag Name: DEITY:x

Variables Used: Text

What it does:

The list that the character may follow, it is | (pipe) delimited and defaults to ANY if not present

Examples:

DEITY:Baccob

Class may only have "Baccob" as its Deity.

DEITY:Baccob|Pelor

Class may have "Baccob" or "Pelor" as its Deity.

Where it is used:

Class Line.


Tag Name: DOMAIN:x

Variables Used: Text

What it does:

Example:s

DOMAIN:Sun

The class gets the Sun domain added.

DOMAIN:Sun|Law

The class gets the Sun or law domain added.

DOMAIN:Sun[PREDEITY:Pelor]|Law

The class gets the Sun or law domain added if thier deity is "Pelor" or only Law if the deity is not "Pelor".

Where it is used:

Class Line.


Tag Name: ITEMCREATE:x

Variables Used: Number

What it does:

Example:

ITEMCREATE:2

The class level is doubled when calculating potions, scrolls and wands.

Where it is used:

Class Line.


Tag Name: KNOWN:x

Variables Used: Number

What it does:

Example:

KNOWN:6,4,3

The class knows 6 0th level spells, 4 1st level spells and 3 2nd level spells.

Where it is used:

Class Level Line.


Tag Name: KNOWNSPELLS:x

Variables Used: Text and/or Number

What it does:

Example:

KNOWNSPELLS:Acid Fog

The class knows the spell "Acid Fog".

KNOWNSPELLS:Acid Fog|Alarm

The class knows the spell "Acid Fog" and "Alarm".

KNOWNSPELLS:LEVEL=3

The class knows all level 3 spells.

KNOWNSPELLS:TYPE:Divine

The class knows all divine spells.

KNOWNSPELLS:LEVEL=3,TYPE=Arcane

The class knows all level 3 arcane spells.

Where it is used:

Class Level Line.


Tag Name: MEMORIZE

Variables Used: YES or NO

What it does:

Means that the class is required to memorize spells as a wizard does.

Example:

MEMORIZE:YES

The class memorizes spells as a wizard does.

Where it is used:

Class Line.


Tag Name: PROHIBITED:x,x

Variables Used: Text

What it does:

This is a comma delimited list of spell schools that are prohibited to the class (no spells from that school can be taken).

Example:

PROHIBITED:Divination,Necromancy

The class cannot use Divination or Necromancy.

Where it is used:

Class Line.


*** New 5.8

Tag Name: PROHIBITSPELL:x.y.y

Variables Used (x): ALIGNMENT

Variables Used (x): DESCRIPTOR

Variables Used (y): Text

What it does:

Prohibits characters from using certain spells. This tag can be qualified with PRExxx statements. Alignment restrictions imposed by this tag can be turned off by the PROHIBITSPELLS house rule preference.

Example:

PROHIBITSPELL:ALIGNMENT.Evil

Prohibits the character from taking spells with the 'Evil' descriptor.

PROHIBITSPELL:ALIGNMENT.Chaotic.Evil

Prohibits the character from taking spells that have both the 'Chaotic' and the 'Evil' descriptors.

PROHIBITSPELL:DESCRIPTOR.Fear

Prohibits the character from taking spells with the 'Fear' descriptor.

Where it is used:

Class Line.


Tag Name:SPELLBOOK:x

Variables Used: YES or NO

What it does:

Means that the class is required to use a spellbook as a wizard does.

Example:

SPELLBOOK:YES

The class uses a spellbook.

Where it is used:

Class Level Line.


Tag Name: SPELLSTAT:x

Variables Used: abbreviated name of stat (from statsandchecks.lst)

What it does:

Used to tell PCGen what attribute/stat to use for determining bonus spells and maximum level the character can cast

Example:

SPELLSTAT:INT

The class uses Intelligence to determine bonus spells and maximum casting level.

Where it is used:

Class Line.


*** Updated 5.7.15

Tag Name: SPELLLIST:x|y|y

Variables Used (x): Number (number of choices)

Variables Used (y): Text (Class Name)

Variables Used (y): Text(Domain) (Domain Name)

What it does:

Example:

SPELLLIST:1|Ranger

The class uses the ranger spell list.

SPELLLIST:1|Ranger|Druid

The class uses either the ranger or druid spell list.

SPELLLIST:2|Ranger|Druid|Barabarian

The class uses 2 of the ranger, Druid or Barbarian spell lists.

SPELLLIST:1|Animal(Domain)

The class uses the Animal Domain spell list.

Where it is used:

Class Line, SUBCLASS line or SUBCLASSLEVEL line.


Tag Name: SPELLTYPE:x

Variables Used (x): Text (Spell type)

What it does:

The type of spells the character casts

Example:

SPELLTYPE:Arcane

The class uses arcane spells.

Where it is used:

Class Line.


Tag Name: SPECIALTYKNOWN:x

Variables Used (x): Number

What it does:

Adds the numeric value given to the number of specialty school spells know by the spell caster, if not listed, the default value is 0

Example:

SPECIALTYKNOWN:1,1,1

The class knows 1 0th level specialty spells, 2 1st level specialty spells and 1 3rd level specialty spells.

Where it is used:

Class Level Line.


Subclass Tags


Tag Name: CHOICE:x

Variables Used (x): Text (Specialty Name)

What it does:

Indicates the specialty (name of school, sub-school or descriptor) of this subclass/specialty.

Examples:

CHOICE:Illusion

For an Illusionist.

CHOICE:Abjuration

For an Abjurer.

CHOICE:Divination

For a Diviner.

Where it is used:

Subclass Line.


*** New 5.3.3
Tag Name: COST:x

Variables Used (x): Number

What it does:

Indicates the cost (how many prohibited schools must be selected) of this specialty or subclass (0 is default).

Example:

COST:2

The subclass has a cost of 2.

Where it is used:

Subclass Line (REQUIRED to be on each SUBCLASS line).


*** New 5.3.3
Tag Name: HASSUBCLASS:x

Variables Used (x): Boolean (YES or NO)

What it does:

Example:

HASSUBCLASS:YES

The class has subclasses.

Where it is used:

Class Line (REQUIRED if the class has SUBCLASS lines).


Tag Name: KNOWNSPELLSFROMSPECIALTY:x

Variables Used (x): Number (Number of spells)

What it does:

Indicates the number of spells from their specialty this class gets in addition to their regular allotment.

Example:

KNOWNSPELLSFROMSPECIALTY:1

The subclass has 1 spell from their specialty in addition to normal.

Where it is used:

Subclass Line.


*** New 5.4

Tag Name: PROHIBITCOST:x

Variables Used (x): Integer

What it does:

Determines the redeemed value (against COST) of this school if selected as prohibited. Allows a prohibited cost to be set independantly of the cost.

Optional tag. If PROHIBITCOST is not present in the SUBCLASS line the value will default to COST. A value of 0 prevents this school from being prohibited.

Example:

PROHIBITCOST:2

The subclass has a prohibited cost of 2.

Where it is used:

Subclass Line.


Tag Name: SPELLSTAT:x

Variables Used (x): Text (abbreviated name of stat from statsandchecks.lst)

What it does:

Examples:

SPELLSTAT:STR

This subclass uses Strength to determin maximum level of spells.

SPELLSTAT:INT

This subclass uses Intelligence to determin maximum level of spells.

Where it is used:

Subclass Line.


Tag Name: SUBCLASS:x

Variables Used (x): Text (name of subclass or specialty)

What it does:

Defines a subclass or specialty choice.

Example:

SUBCLASS:Illusionist

The class has Illusionist as a subclass.

Where it is used:

Subclass Line. Can only be found as the FIRST TAG of a line between the CLASS: lines and the level definition lines for the class which can choose these subclasses or specialties.


*** New 4.3.1
Tag Name: SUBCLASSLEVEL:x

Variables Used (x): Number

What it does:

Example:

SUBCLASSLEVEL:3[tab]SA:Angelfire

would add SA:Angelfire at level 3

Where it is used:

Subclass Line (This should be before the Level lines of the class).


Other Optional Tags


Tag Name: EXCLASS:x

Variables Used (x): Text (Class Name)

What it does:

This is the class to which all current class levels are converted if the class prerequisites are no longer met.

Example:

EXCLASS:Ex Monk

If prerequisites are no longer met, the character becomes an "Ex Monk".

Where it is used:

Class Line.


Tag Name: EXCHANGELEVEL:w|x|y|z

Variables Used (w): Text (Class Name)

Variables Used (x): Number (Class level, minimum level required in donating class)

Variables Used (y): Number (Class level, maximum levels donated from class)

Variables Used (z): Number (Class level, lowest that donation can lower donating class level to)

What it does:

Allows the exchange of levels from the current class to the specified class.

Example:

EXCHANGELEVEL:Ex Paladin|11|10|1

Up to 10 levels of Ex Paladin can be exchanged as long as there were at least 11 levels of Ex Paladin available.

Where it is used: Class Line.


Tag Name: FEATAUTO:x|x

Variables Used (x): Text (Feat Names)

What it does:

Examples:

FEATAUTO:Simple Weapon Proficiency

The class automatically receives the "Simple Weapon Proficiency" feat.

FEATATUO:Alertness|Blind Fighting

The class automatically receives the "Alertness" and "Blind Fighting" feats.

Where it is used:

Class Level Line.


*** New 5.7.8

Tag Name: HITDIE:x

Variables Used (x): Number (Hit Dice size)

Variables Used (x): %+Number (Amount added to Hit Dice)

Variables Used (x): %-Number (Amount subtracted from Hit Dice)

Variables Used (x): %*Number (Amount Hit Dice is multiplied by)

Variables Used (x): %/Number (Amount Hit Dice is divided by)

Variables Used (x): %upNumber (Amount Hit Dice size is stepped up by)

Variables Used (x): %downNumber (Amount Hit Dice size is stepped down by)

What it does:

This tag can be used on a level line to specify a hit dice size which will be applied only that level. When using the step up function the steps are d4,d6,d8,d10 and stops at d12. When using the step down function the steps are d12,d10,d8,d6 and stops at d4. Regardless of the number it will never allow a hit die below 1.

Example:

HITDIE:12

The character now has a Hit Dice of 12.

HITDIE:%+2

Adds 2 to the current Hit Dice size.

HITDIE:%-4

Subtracts 4 from the current Hit Dice size.

HITDIE:%*3

Multiplies the current Hit Dice size by 3.

HITDIE:%/2

Divides the current Hit Dice size by 2.

HITDIE:%up2

Steps up the Hit Dice size by two steps. If the class has a Hit Die of d6 it will be stepped up to d10.

HITDIE:%down1

Steps down the Hit Dice size by one step. If the class has a Hit Die of d6 it will be stepped down to d4.


Tag Name: LANGBONUS:x,x

Variables Used (x): Text (Languages)

What it does:

This is a , (comma) delimited list of the languages a character can choose from based upon their Intelligence stat.

Examples:

LANGBONUS:Draconic

The class can choose "Draconic" as one of thier languages.

LANGBONUS:Draconic,Elven

The class can choose "Draconic" or "Elven" as one of thier languages.

LANGBONUS:ALL

The class can choose any language loaded from sources as one of thier languages.

LANGBONUS:TYPE=Written

The class can choose any written language as one of thier languages.

LANGBONUS:TYPE=Spoken,Draconic

The class can choose any written language or "Draconic" as one of thier languages.

Where it is used:

Class Level Line.


Tag Name: MULTIPREREQS:x

Variables Used (x): None

What it does:

If This tag is used then all Pre-Requisites are valid only if the character would be multi-classing into that class (i.e. there are no pre-reqs for choosing this as the first class).

Example:

MULTIPREREQS

The class prerequisites are only valid if not taken at 1st level.

Where it is used:

Class Line.


*** New 5.8

Tag Name: REMOVE:FEAT(x)y

Variables Used (x): Text (Name of feat)

Variables Used (x): TYPE.Text (Name of feat type)

Variables Used (x): CLASS.Text (Name of feat type)

Variables Used (x): CHOICE (pops a chooser box)

Variables Used (y): Number (Number of feats to remove, Optional)

Variables Used (y): ALL (Removes all indicated feats without prompting)

What it does:

Provides options for removing feats, this works with hidden feats as well as standard feats but not on those applied with the VFEAT or MFEAT tags. The (y) variable is optional, if not present the tag simply removes whatever feats are specified in variable (x).

Where it can be used:

Works in class and template files.

Example:

REMOVE FEAT(Alertness)

Removes the Alertness feat, no choice is presented, the feat is simply removed.

REMOVE:FEAT(TYPE.Fighter)3

Presents a list of Fighter type feats and allows the removal of up to 3.

REMOVE:FEAT(CHOICE)2

Presents a list of all feats the character has and allow removal of 2 of them. If a feat has a COST:# associated with it, it returns that # back to the feat pool.

REMOVE:FEAT(CLASS.Paladin)ALL

Removes all feats that have been granted/taken by the Paladin Class.


*** Deprecated - Use Global tag: SA

Tag Name: SA:name(SPECIALS)


Tag Name: SKILLLIST:x,y|y

Variables Used (x): Number (Number of choices)

Variables Used (y): Text (Class Name)

What it does:

This is a | (pipe) delimited list of class names that the class can choose from to duplicate class skills.

Examples:

SKILLLIST:1,Ranger

The class can choose from Ranger class skills.

SKILLLIST:1,Ranger|Druid

The class can choose either from Ranger or Druid class skills.

SKILLLIST:2,Ranger|Druid|Barabarian

The class can choose from 2 of Ranger, Druid or Barbarian class skills.

Where it is used:

Class Line.


*** Deprecated - Use Global tag: SA

Tag Name: SPECIALS


Tag Name: TEMPLATE:x

Variables Used: Text (Template Name)

What it does:

This is a | (pipe) delimited list of templates that are granted to the class.

Example:

TEMPLATE:Incorporeal|Undead|Celestial

The class uses the "Incorporeal", "Undead" and "Celestial" templates.

Variables Used (x): TEMPLATE:CHOOSE:

What it does:

CHOOSE will supply a popup window of the choices presented in the tag that are | (pipe) delimted and allow the user to pick ONE from the list.

Example:

TEMPLATE:CHOOSE:Celestial|Outsider

The class can choose either the "Celestial" or "Outsider" templates.

Variables Used (x): ADDCHOICE

What it does:

This is a | (pipe) delimited list of template choices that are added to the list presented by the original TEMPLATE:CHOOSE tag found here or in other lst files.

Example:

TEMPLATE:ADDCHOICE:Demihuman|Beast

The class can choose from the "Demihuman" or "Beast" templates in addition to others already entitled.

Where it is used:

Class Level Line or Class Line.


*** New 5.5

Tag Name: BONUS:UDAM|CLASS.x|y

Variables Used (x): Text (Class name)

Variables Used (y): Number or formula (Levels to add to unarmed damage)

What it does:

Example:

BONUS:UDAM|CLASS.Monk|5

Unarmed damage is treated as a Monk of five levels higher. For this to work you must have Monk levels.

BONUS:UDAM|CLASS.Monk|CL=SpecialMonk

Would raise the Monk´s Unarmed Damage 'level' by the Class Level of the 'SpecialMonk' class.

Where it is used:

Class Level Line.


*** New 4.3.9

Tag Name: VISIBLE:x

Variables Used (x): Boolean (YES/NO)

What it does:

Example:

VISIBLE:NO

The class is not visible for selection on the Classes and Summary tabs.

Where it is used:

Class Line.


*** Updated 5.7.12

Tag Name: WEAPONBONUS:x|x

Variables Used (x): Text (Weapon Proficiency Name)

Variables Used (x): TYPE.Text (Weapon Type)

What it does:

This is a | (pipe) delimited list of weapons or weapon types that are granted to the class as a choice of ONE of the listed weapons.

Example:

WEAPONBONUS:Dagger|Staff|Club|Mace|Sword (Short)|Shortbow (Composite)

The class can choose from a weapon proficiency from "Dagger", "Staff", "Club", "Mace", "Sword (Short)" or "Shortbow (Composite)".

WEAPONBONUS:TYPE.Simple

The class receives bonus proficiency in any one Simple weapon.

Where it is used:

Class Level Line.


Monster Specific Tags


Tag Name: LEVELSPERFEAT:x

Variables Used (x): Number

What it does:

This is the number of levels it takes for a monster to gain a new feat.

Example:

LEVELSPERFEAT:2

The class gets 1 feat per 2 levels.

Where it is used:

Class Line.


Tag Name: MODTOSKILLS:x

Variables Used (x): YES or NO

What it does:

This is either YES or NO for monster types that do not get their Intelligence modifiers for skills they get from gaining hit dice

Example:

MODTOSKILLS:YES

The class gets the intelligence modifier for skills they get for gaining hit dice.

Where it is used:

Class Line.


*** New 5.7.9

Tag Name: MONNONSKILLHD:x

Variables Used (x): Number (Number of hit dice)

What it does:

Defines the number of hit dice the monster does not get skill points for. This is normally defined by size, so the tag is normally seen with a PRESIZE requirement. It is only used with default monster mode off and will override other skill settings.

Example:

MONNONSKILLHD:32|PRESIZEEQ:C

A collosal monster would not get skill points for the first 32 levels/hit dice of this class.

Where it is used:

Class Line.


*** New 5.7.9

Tag Name: MONSKILL:x

Variables Used (x): Number or Formula (Skill points per level/hit die)

What it does:

Defines the number of skill points a monster gets per level/hit die of this class. It can be either a formula or a number. If it is a formula, stat abbreviations will be translated to the bonus for that stat. Note this is only used with default monster mode off.

Example:

MONSKILL:6+INT

Each level the monster will receive 6 + int bonus skill points.

Where it is used:

Class Line.


Tag Name: PRERACETYPE:x

Variables Used (x): Text (Race Name)

What it does:

Example:

PRERACETYPE:Animal

This class can only be taken by "animal" races.

Where it is used:

Class Line.