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, needed for all classes, spell casters, other tags, and Monster specific tags. Each class has 2 components to it, the main class line and the class level line. 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
Variable(s) Used: Text
Example(s): ABB:Rgr
WHAT IT DOES: This is a 3-5 letter abbreviation of the class name
WHERE IT IS USED: Class Line
Tag Name: AGESET
Variable(s) Used: 0
Variable(s) Used: 1
Variable(s) Used: 2
Example(s): AGESET:0
WHAT IT DOES:
WHERE IT IS USED: Class Line
Tag Name: BAB
Variable(s) Used: G
Variable(s) Used: M
Variable(s) Used: B
Variable(s) Used: O (The letter)
Example(s): BAB:G
WHAT IT DOES: This is used to determine what the Base Attack Bonus progression is, G(ood), M(edium), B(ad), O(ther). If 'O' is used then you must use a DEFINE statement (a Mathematical formulae) to tell PCGen what the progression will be.
WHERE IT IS USED: Class Line
Tag Name: CLASS
Variable(s) Used: Text
Example(s): CLASS:Ranger
WHAT IT DOES: This tells PCgen the class name and sets up the relationships with skills and spells. This line can be entered twice in a single class entry (appear on 2 separate lines) for purposes of making the lines easier to read in an editor (so as to not have to scroll forever to reach the end of the class line). REQUIRED TO BE THE FIRST TAG!!!
WHERE IT IS USED: Class Line
Tag Name: HD
Variable(s) Used: Numeric (4, 6, 8, 10, 12. default is 0)
Example(s): HD:10
WHAT IT DOES: This is the Hit Die used to determine hit points at each level gained.
WHERE IT IS USED: Class Line
Tag Name: FORTITUDECHECK
Variable(s) Used: G
Variable(s) Used: M
Variable(s) Used: B
Variable(s) Used: O (The letter)
Example(s): FORTITUDECHECK:G
WHAT IT DOES: This is used to determine what the Fortitude save progression is, G(ood), M(edium), B(ad), O(ther). If 'O' is used then you must use a DEFINE statement (a Mathematical formulae) to tell PCGen what the progression will be.
WHERE IT IS USED: Class Line
Tag Name: GOLD
Variable(s) Used: Numeric
Example(s): GOLD:2,10,2
WHAT IT DOES: This is used to determine how much starting gold a character gets. The three numbers after the tag GOLD signify (in order) How many dice to roll, how many sides of the die (any number from 1 up is acceptable), and the last number represent how many times to multiply the total of the first two numbers. So in the above example, we're telling PCGen to roll two 10 sided dies, (2-20) and multiply that by two (total between 4-40).
WHERE IT IS USED: Class Line
Tag Name: MAXLEVEL
Variable(s) Used: Numeric
Example(s): MAXLEVEL:10
WHAT IT DOES: This is maximum level a character in this class can advance to. There is a checkbox in the Preferences|Character section of the menu.
WHERE IT IS USED: Class Line
Tag Name: REFLEXCHECK
Variable(s) Used: G
Variable(s) Used: M
Variable(s) Used: B
Variable(s) Used: O (The letter)
Example(s): REFLEXCHECK:G
WHAT IT DOES: This is used to determine what the Reflex save progression is, G(ood), M(edium), B(ad), O(ther). If 'O' is used then you must use a DEFINE statement (a Mathematical formulae) to tell PCGen what the progression will be.
WHERE IT IS USED: Class Line
Tag Name: STARTSKILLPTS
Variable(s) Used: Numeric
Example(s): STARTSKILLPTS
WHAT IT DOES: This is how many skill points a character gains per level.
WHERE IT IS USED: Class Line
Tag Name: TYPE
Variable(s) Used: Text (Monster, PC, NPC, Prestige, Base, Apprentice)
Example(s): TYPE:Base.PC
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).
Tag Name: WILLPOWERCHECK
Variable(s) Used: G
Variable(s) Used: M
Variable(s) Used: B
Variable(s) Used: O (The letter)
Example(s): WILLPOWERCHECK:G
WHAT IT DOES: This is used to determine what the Willpower save progression is, G(ood), M(edium), B(ad), O(ther). If 'O' is used then you must use a DEFINE statement (a Mathematical formulae) to tell PCGen what the progression will be.
WHERE IT IS USED: Class Line
Tag Name: XTRAFEATS
Variable(s) Used: Numeric
Example(s): XTRAFEATS:1
WHAT IT DOES: This is used to determine how many extra feats the class will get at first level only.
WHERE IT IS USED: Class Line
Spell Casters Tags
Tag Name: ADDDOMAIN
Variable(s) Used: Text
Example(s): ADDDOMAIN:Sun
Example(s): ADDDOMAIN:Sun|Law
WHAT IT DOES: This grants additional domains to the character, it is a | (pip) delimited list of names
WHERE IT IS USED: Class Level Line
Tag Name: CAST
Variable(s) Used: Numeric
Example(s): CAST:0,1,2
WHAT IT DOES: Tells PCGen how many spell per day the caster has (displayed on the Spells Tab). If no Value is assigned at a given level, the tag defaults to 0.
WHERE IT IS USED: Class Level Line
Tag Name: CASTAS
Variable(s) Used: Text
Example(s): CASTAS:Wizard
WHAT IT DOES:
WHERE IT IS USED: Class Line
Tag Name: DEITY
Variable(s) Used: Text
Example(s): DEITY:Baccob
Example(s): DEITY:Baccob|Pelor
WHAT IT DOES: The list that the character may follow, it is | (pipe) delimited and defaults to ANY if not present
WHERE IT IS USED: Class Line
Tag Name: DOMAIN
Variable(s) Used: Text
Example(s): DOMAIN:Sun
Example(s): DOMAIN:Sun|Law
Example(s): DOMAIN:Sun[PREDEITY:Pelor]|Sun
WHAT IT DOES: This grants additional domains to the character, it is a | (pipe) delimited list of names and can contain PRExxx tags within it immediately after the domain name in [] (brackets)
WHERE IT IS USED: Class Line
Tag Name: ITEMCREATE
Variable(s) Used: Numeric
Example(s): ITEMCREATE:2
WHAT IT DOES: The class level of the character will be multiplied by the numeric value supplied for calculating potions, scrolls, and wands. The default value is 1.
WHERE IT IS USED: Class Line
Tag Name: KNOWN
Variable(s) Used: Numeric
Example(s): KNOWN:0,1,2
WHAT IT DOES: Tells PCGen how many spell known the caster has (displayed on the Spells Tab). If no Value is assigned at a given level, the tag defaults to 0.
WHERE IT IS USED: Class Level Line
Tag Name: KNOWNSPELLS
Variable(s) Used: Text and/or Numeric
Example(s): KNOWNSPELLS:Acid Fog
Example(s): KNOWNSPELLS:Acid Fog|Alarm
Example(s): KNOWNSPELLS:LEVEL=3
WHAT IT DOES: Used to automatically give spells, by name or level, to the spell caster. All spells granted by name or level will be given as long as the spell caster has a high enough prerequisite attribute score
WHERE IT IS USED: Class Level Line
Tag Name: MEMORIZE
Variable(s) Used: Y or N
Example(s): MEMORIZE:Y
WHAT IT DOES: Means that the class is required to memorize spells as a wizard does.
WHERE IT IS USED: Class Line
Tag Name: PROHIBITED
Variable(s) Used: Text
Example(s): PROHIBITED:Divination,Necromancy
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)
WHERE IT IS USED: Class Line
Tag Name: SPELLSTAT
Variable(s) Used: INT, WIS, STR, CON, DEX, CHA
Example(s): SPELLSTAT:INT
WHAT IT DOES: Used to tell PCGen what attribute/stat to use for determining bonus spells and maximum level the character can cast
WHERE IT IS USED: Class Line
Tag Name: SPELLTYPE
Variable(s) Used: Text
Example(s): SPELLTYPE:Arcane
WHAT IT DOES: The type of spells the character casts
WHERE IT IS USED: Class Line
Tag Name: SPECIALTYKNOWN
Variable(s) Used: Numeric
Example(s): SPECIALTYKNOWN:1,3,4
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
WHERE IT IS USED: Class Level Line
Tag Name: SUBCLASS
Variable(s) Used: CHOICE|#|FILE=>path and filename<
Example(s): SUBCLASS:CHOICE|1|FILE=playershb\specialists.lst
WHAT IT DOES: Used to determine what specialist/sub class the spell caster is and how many they may choose of the sub-classes listed
WHERE IT IS USED: Class Line
Other Optional Tags
*NOTE: The ADD tag MUST be used in with the CHOOSE tag or it will not function.
Tag Name: ADD
Variable(s) Used: Text
Example(s): ADD:MyChoices(choice1,choice2)
Example(s): ADD:MyChoices(choice1,choice2,Choice3)
WHAT IT DOES: This creates a popup choice for the users to select from of Special Abilities. The text used (MyChoices) tells PCGen what type of Special Ability it is, and the choices contained within the ( ) (parenthesis) are the options to choose from.
Variable(s) Used: CLASSSKILLS
Example(s): ADD:CLASSSKILLS(CROSSCLASSSKILLS)|5
Example(s): ADD:CLASSSKILLS(UNTRAINED)|5
Example(s): ADD:CLASSSKILLS(EXCLUSIVE)|5
Example(s): ADD:CLASSSKILLS(NONEXCLUSIVE)|5
Example(s): ADD:CLASSSKILLS(ANY)|5
WHAT IT DOES: This will add a number of selections of skills of the chosen type (the types are in ( ) (parenthesis in the examples and ONLY these types) of skills for the character to choose from. The trailing | (pipe) is followed by a number to denote how many choices are granted.
Variable(s) Used: FEAT
Example(s): ADD:FEAT
WHAT IT DOES: This will increase the number of feats the character knows by 1
Variable(s) Used: FEAT
Example(s): ADD:FEAT(Alertness,TYPE=Fighter,Electric Boogalo)
WHAT IT DOES: This will give the character a choice of one from the feats listed in the ( ) (parenthesis). Feats listed in the ( ) (parenthesis) are all , (comma) delimited
Variable(s) Used: Languages
Example(s): ADD:Languages(Draconic,Elven,Undercommon)
WHAT IT DOES: This is a , (comma) delimited list of language choices that the character can choose from. The choice is added to their Know Languages.
Variable(s) Used: SPECIAL
Example(s): ADD:SPECIAL(Uncanny Dodge,Rage)
WHAT IT DOES: Give the character a choice of the Special Abilities listed within the ( ) (parenthesis).
Variable(s) Used: FORCEPOINT
Example(s): ADD:FORCEPOINT
WHAT IT DOES: This adds 1 Force Point to the total Force Points of the character (NOTE: This is for Star Wars characters)
Variable(s) Used: SPELLCASTER
Example(s): ADD:SPELLCASTER(ANY)
Example(s): ADD:SPELLCASTER(DIVINE)
Example(s): ADD:SPELLCASTER(ARCANE)
WHAT IT DOES: This grants a one level bonus to the spell casting class chosen. The list of choices that come up will NOT include the class that is granting this bonus.
WHERE IT IS USED: Class Level Line
Tag Name: DEF
Variable(s) Used:
Example(s):
WHAT IT DOES:
WHERE IT IS USED: Class Line
Tag Name: EXCLASS
Variable(s) Used: Text (Class Name)
Example(s): EXCLASS:Monk
WHAT IT DOES: This is the class to which all current class levels are converted if the class prerequisites are no longer met
WHERE IT IS USED: Class Line
Tag Name: EXCHANGELEVEL
Variable(s) Used: Text and Numeric
Example(s): EXCHANGELEVEL:Ex Paladin|11|10|1
WHAT IT DOES: Allows the exchange of levels from the current class to the specified class. The example above would allow the exchange of up to 10 levels of Ex Paladin as long as there were at least 11 levels of Ex Paladin available.
WHERE IT IS USED: Class Line
Tag Name: FEATAUTO
Variable(s) Used: Text (Feat Names)
Example(s): FEATAUTO:Simple Weapon Proficiency
Example(s): FEATATUO:Alertness|Blind Fighting
WHAT IT DOES: This is a | (pipe) delimited list of feats that the class automatically gets.
WHERE IT IS USED: Class Level Line
Tag Name: LANGBONUS
Variable(s) Used: Text
Example(s): LANGBONUS:Draconic
Example(s): LANGBONUS:Draconic,Elven
Example(s): LANGBONUS:ALL
Example(s): LANGBONUS:TYPE=Written
Example(s): LANGBONUS:TYPE=Spoken,Draconic
WHAT IT DOES: This is a , (comma) delimited list of the languages a character can choose from based upon their Intelligence stat
WHERE IT IS USED: Class Level Line
Tag Name: MULTIPREREQS
Variable(s) Used: None
Example(s): MULTIPREEQS
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).
WHERE IT IS USED: Class Line
Tag Name: REP
Variable(s) Used:
Example(s):
WHAT IT DOES:
WHERE IT IS USED: Class Line
Tag Name: SKILLLIST
Variable(s) Used: Text (Class Name)
Example(s): SKILLLIST:Ranger
Example(s): SKILLLIST:1,Ranger|Druid
Example(s): SKILLLIST:2,Ranger|Druid|Barabarian
WHAT IT DOES: This is a | (pipe) delimited list of class names that the class can choose from to duplicate class skills. If the #, is in place, this is used to show how many choices the class gets.
WHERE IT IS USED: Class Line
Tag Name: SPECIALS
Variable(s) Used: Text
Example(s): SPECIALS:Uncanny Dodge|Rogue|0|3,6,11,14,17,20
WHAT IT DOES: This is a | (pipe) and , (comma) delimited tag that is used to tell PCGen what special ability the class gets, (Uncanny Dodge|Rogue) the level adjustment of the ability ( |0| ) and finally, what levels the class gets the special ability at (2,6,11,14,17,20).
WHERE IT IS USED: Class Line
Tag Name: TEMPLATE
Variable(s) Used: Text (Template Name)
Example(s): TEMPLATE:Celestial
WHAT IT DOES: Grants the specified template to the class
WHERE IT IS USED: Class Level Line or Class Line
Tag Name: VFEAT
Variable(s) Used: Text (Feat Names)
Example(s): VFEAT:Simple Weapon Proficiency
Example(s): VFEAT:Alertness|Blind Fighting
WHAT IT DOES: This is a | (pipe) delimited list of feats that the class gains as virtual feats. The Monk and Ranger classes are examples of this usage
WHERE IT IS USED: Class Level Line
Tag Name: WEAPONBONUS
Variable(s) Used: Text (Weapon Proficiency Name)
Example(s): WEAPONBONUS:Dagger|Staff|Club|Mace|Sword (Short)|Shortbow (Composite)
WHAT IT DOES: Thiis a | (pipe) delimited list of Weapon Proficiency Names that the class gets to choose from as bonus proficiencies.
WHERE IT IS USED: Class Level Line
Monster Specific Tags
Tag Name: INTMODTOSKILLS
Variable(s) Used: Y or N
Example(s): INTMODTOSKILLS:Y
WHAT IT DOES: This is either Y(es) or N(o) for monster types that do not get their Intelligence modifiers for skills they get from gaining hit dice
WHERE IT IS USED: Class Line
Tag Name: LEVELSPERFEAT
Variable(s) Used: Numeric
Example(s): LEVELSPERFEAT:2
WHAT IT DOES: This is the number of levels it takes for a monster to gain a new feat
WHERE IT IS USED: Class Line
Tag Name: PRERACETYPE
Variable(s) Used: Text (Race Name)
Example(s): PRERACETYPE:Animal
WHAT IT DOES: For monster classes, the race must be of this type or they can not take the class. This is a separate PRExxx tag from other PRExxx tag because it does not count towards being a prestige class.
WHERE IT IS USED: Class Line