These are the PCGen Campaign Configuration files. Here you can specify what you want included in this
campaign (or excluded as the case may be).
CAMPAIGN:name | Required, first line | Must be first tag. 'name' is what you want this campaign to be called in PCGen. |
GAME:name | Required, second line | Must be second tag. currently supported names are:
Deadlands, DnD, FadingSunsD20, HackMaster, L5R, Sidewinder, SovereignStoneD20, StarWars, WeirdWars, and WheelOfTime. This indicates which game mode the files are intended for, and this PCC will not be listed on the Source tab for any other game modes. |
TYPE:(pub).(form).(setting) | Required, third line | Must be third tag.
'pub' is the name of the company or individual that produced the material that the data files are based on, 'form' is the format of that original material (e.g. Sourcebook, Web Enhancement, Magazine, Supplement, etc.), 'setting' (optional) is the "campaign setting" for the original material (such as the publisher's campaign realm) |
RANK:number | Optional, fourth line | where number is the order in which this campaign will be loaded if you load more than one campaign. RANK:1 is the highest, and no ranking is the lowest. |
LSTEXCLUDE:<LST file list> | Optional, Before PCC/LST includes | Allows you to customize which LST files are loaded. By adding LSTEXCLUDE:<LST file list> to your PCC file, before PCC/LST file includes, but after GAME/SOURCE/RANK info, then ALL of those files will NOT be loaded, even if referenced later by other included PCC files. The LST file list can be a single LST filename per entry, or can be separated by the "|" character. |
PCC: | Optional | Use to include other PCGen Campaign Configuration files. It is recommended that
you include this tag before any tags that load LST files.
When including data files (whether they be .lst or other .pcc files) you only need to use their filename if they are located in the same directory as the PCC file, itself. If not, you must include path information along with the filename. You may use relative paths (e.g. "PCC:..\peerdirectory\myothersource.pcc") or a special absolute path (e.g. "PCC:@\wotc\sourcebooks\dungeonsanddragons\core\playershandbook\playershb.pcc"). Using the special character "@" indicates that you want to start the file search from the root data directory of PCGen (as defined in Preferences, but is <pcgen install directory>\data by default) instead of the directory where the current PCC file is located. This allows great flexibility in how you can reference data files. |
INCLUDE / EXCLUDE | Optional | You can include/exclude based on the following tags: RACE: SKILL: FEAT: DEITY: DOMAIN: SPELL: WEAPONPROF: EQUIPMENT: LANGUAGE: CLASS: CLASSSKILL: CLASSSPELL: for each of these you specify a pipe-delimited list indicating what specific items, or items from a file, you wish to include/exclude. |
REQSKILL:list | Optional | the | delimited list can include UNTRAINED (which means that all untrained skills will be automatically included on any character as if the skill had the REQ tag - see SKILL.LST for details), ALL (which means all skills will have the REQ tag) or a list of specified skill names. If this tag is included it should be after the SKILL: tag. |
NFO:text | Optional | This tag is used to hold information on the campaign and using it in PCGen. Any special instructions or sections of books users will need to refer to can be mentioned here. Notes on issues or limitations with the how the campaign is supported in PCGen are also appropriate here. The tag takes some html as well, such as the <P> <BR> <B> and <I> tags |
lst file tags | Optional | These tags follow the format: type:file.lst or type:file1.lst|file2.lst etc. The 'type' is any of:
|
Technically, PCGen doesn't care what the lst files are called - they don't even have to end with .lst - as long as you refer to the file in a campaign file. However, out of convention it is expected that all files that detail classes will end with class.lst - and the file's name will start with something to indicate what source (or book) it came from. e.g. playershbclass.lst contains all the info on the classes detailed in the Players Handbook (TM Wizards of the Coast). Also by convention, all material from each book is put into a different directory, so sharing a campaign with someone else is as easy as zipping up the pcc file from the PCGen directory and the subdirectory which contains all of its lst files. This way it's easy to guess that dmgclass.lst contains all the info on classes detailed in the DMG and is in the dmg directory and dmg.pcc file.
A Word about Sources
Giving credit to the proper source from which a specific class, feat, spell, race, etc. came from is crucial. It not
only gives the creator credit for their work, but it also lets the user know where it came from. Hopefully PCGen will
be used as a sort of marketing tool by both gaming companies and by users - you can load sources based on material you
don't own, and can generate characters based on that information, but you don't quite get enough information to use
it accurately or completely without actually buying the source material. This way PCGen can whet your appetite for the
kinds of options that are available if you purchase book xyz. My hope is that users will not have given much thought
to purchasing some book until they decided to play with it in PCGen, and discovered that they really liked what they saw
and went out and bought that book. Since PCGen doesn't give all the details about the various options, it's important that
it be easy to look up for those who do own the books. Giving credit to the creators and letting users know where the option
came from if they want to look it up is all accomplished via the SOURCE: tag which is available in all the main lst files.
Having
SOURCE:xyz
by itself on a line is a way to indicate what source the following items all came from - until the next time SOURCE: is by itself
on a line. Items can have a SOURCE: tag as well to indicate where that item is specifically located. For example, suppose we have
a file named xclass.lst and it contained
SOURCE:Basic X Book
CLASS:X5 blah blah SOURCE:p.12
SOURCE:Advanced X Book
CLASS:X7 blah blah SOURCE:p.36
The source for X5 would be displayed as "Basic X Book, p.12" and the source for X7 would be "Advanced X Book, p.36".
Now you can also specify
SOURCEPAGE:blah|SOURCEWEB:url|SOURCELONG:longversion|SOURCESHORT:shortversion
and in the Options Menu there's a Source Display choice where you can select which of the above
versions will be displayed in all the tabs and on the charactersheets when exported. If you have
Long select, the SOURCELONG contents will be displayed with the SOURCEPAGE contents appended to the
end, same with Short.
Each class begins with
CLASS:name
where name is the name of the class. If the class has a name identical to a class from another source, then
the one which was released last will have its source abbreviated to distinguish them. Suppose book named
"My Favorite Fighters" and another book "Swashbucklers Ahoy!" both have a Prestige Class in them named
"Super Swab". The first book released would have the class entered as CLASS:Super Swab and the other source
(we'll assume Swashbucklers Ahoy in this case) would have CLASS:Super Swab (SA) so PCGen (and our users!) can
tell them apart.
The class data files can use any of the global tags.
On that first line other options are available in the form of tag:value(,value,value)
keywords available are:
ABB:name | where name is the abbreviation for this class. If not specified, PCGen will use the first 3 characters of the class name as the abbreviation. |
BAB:type | where type is the base attack bonus rate of this class, which is one of G (for Good), M (for Medium), B (for Bad) or O (for Other which requires a DEFINE:BAB formula. Default value is O. Here's an explanation of what G, M and B mean. |
AGESET:x | where x is 0, 1 or 2. This refers to the index of the sides/num dice pair in the selected race's AGE tag. When a character advances its first class to first level, the character's age is determined by using this value (2 is the default if the tag is not specified) to determine which sides/number of dice pair is used to generate a random age value. |
BONUS:tag | see the BONUS:tag description near the end of this file. |
CASTAS:name | where name is the key name of another class whose list this class uses (e.g. Sorcerers use the Wizard list so they have CASTAS:Wizard) |
DEFINE | see DEFINE discussion below |
DEF:chart,adjustment | This is the Star Wars Defense indicator. The chart is a number which determines how the class progresses in Defense (0=PC Best, 1 = PC Middle, 2 = PC Low, 3 = NPC,4 = Prestige Class). justment is what adjustment there is if this isn't the first class the haracter obtained. For all PC and NPC classes this is usually -2, for Prestige classes this is 0. Defense is the total of the race's natural armor + dex modifier + these class bonuses. See the Star Wars Charts further down in this document. |
DEITY:list | where list is a |-delimited list of the only deities that that class may follow. Default is ANY. (e.g. DEITY:Bocob|Palor) |
DOMAIN:domain1[PRExxx tag|PRExxx tag]|domain2[PRExxx tag|PRExxx tag]|etc | where domain1 is the name of a domain and [PRE...] is an optional list of prerequisites which must be met for this to be a valid domain. As many domains as desired can be added in this way, but you should probably include a BONUS:DOMAIN|NUMBER tag along with it so the appropriate number of domains can be set. |
EXCLASS:classname | this is the class to which all current class levels are converted if the class prerequisites are no longer met |
EXCHANGELEVEL:classname|min_level|max_exchange|lowest_level | allow exchange of max_exchange levels from classname as long as class level is at least min_level.
The minimum level classname can be lowered to is min_level.
eg. EXCHANGELEVEL:Ex Paladin|11|10|1 This 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 |
FORTITUDECHECK:type and REFLEXCHECK:type and WILLPOWERCHECK:type | where type a the check progression rate of G (for Good), M (for Medium), B (for Bad) or O (for Other). Default value is O. Here's an explanation of what G, M and B mean. |
HD:num | where num is usually 4,6,8,10 or 12. default value is 0. |
ITEMCREATE:mult | the class level will be multiplied by mult when calculating prices for potions, scrolls and wands (default is 1) |
LANGBONUS:list | list from which the character's intelligence modifier's worth of languages can be chosen.
If list is a series of ',' deliminated languages then the character can choose from them.
If list is ALL then the character can select from all languages available in the selected sources. If list is TYPE=x then the character can select from all languages of TYPE:x. |
MAXLEVEL:num | where num is the maximum level this class can become. There is an "Ignore Level Cap" checkbox in the Options tab which can ignore this. The default value is 20. |
MEMORIZE:yn | where yn is Y to indicate that the class does memorize spells (this is the default value if this keyword is not listed) or N to indicate that this class (e.g. Bard/Sorcerer) does not memorize spells (which means that they will only have a Default spellbook). |
PROHIBITED:list | where list is a comma-delimited list of schools or descriptors this class cannot access.
NOTE: The SUBCLASS: tag will override this tag, so don't use them in the same class! |
REP:chart | This is another Stars Wars indicator. chart is a number which represents the following progression (0=PC Best, 1 = PC Middle High, 2 = PC Middle Low, 3 = PC Low, 4 = NPC High, 5 = NPC Low, 6 = Prestige Class High, 7 = Prestige Class Low). See the Star Wars Charts further down in this document. |
SKILLLIST:name or SKILLLIST:num|list | name is the name of a class whose list of class-skills this class duplicates. list is a | delimited list of classes whose class skills this class also treats as class-skills. which are class-skills for this class and num is how many of the classes in this list this class can pick from. e.g. SKILLLIST:1|Hoover|Geek would let the class pick either the Hoover or Geek class' list of class-skills. |
SPECIALS:name|class|adjusment|levelstring | This tag is meant to contain special abilities which stack between classes (e.g. Uncanny Dodge). name is the name of the special ability exactly as it is found in the SPECIALS.LST file. class is the name of the class where the levelstring will be found (the other classes omit this parameter). adjustment is what level adjustment this class has on the ability in terms of the base-class' level advancement. e.g. Barbarians get the first Uncanny Dodge ability at level 2, whereas a Rogue gets it at level 3. A Rogue's adjustment is 0, and the Barbarian's is 1. All the classes a character has with this SPECIALS tag are summed, along with their adjustments. This total is compared to the levelstring, and the character gets each level of ability that their total is greater or equal to. |
SPELLSTAT:stat | where stat is the abbreviated name of the Stat upon which this class, if it's a spellcaster gets bonus spells and determines it's maximum level of spell it can cast. Typical options are INT, WIS and CHA. NONE is the default value and is used for non-spellcasters. SPELL is used for classes whose ability to cast a spell is based on the type of spell it is. |
SPELLTYPE:type | where type is the type of spells they cast, like Arcane, Divine, etc. Default is None. |
STARTSKILLPTS:num | where num is how many skill points this class gets per level. Default is 0. |
SUBCLASS | this is how you can pick a Specialist wizard. It goes SUBCLASS:CHOICE|number of choices in subsequent list if this is chosen|CHOICE|number of choices in subsequent list if this is chosen|etc. a CHOICE can be a string or it can be FILE=filename (e.g. FILE=phb\Specialist.lst). The selection chosen is put into the class' specialty string, and if the FILE chosen has a COST field, the subsequent choices are placed in the prohibited string. This is kind of complex... |
TYPE:classtype.classtype.etc | where classtype is the type of class this is. It can be PC, Prestige, Monster or NPC, if this tag is not present it defaults to PC. |
UATT | (depricated) used for Monks... e.g. UATT:4,1 done more efficiently by using the same -5/melee attack code, only using a -3/unarmed attack. |
WEAPONBONUS:list | these are weapons from which the class can pick one proficiency |
the following keyword pairs can also be placed on the first line and are meant as pre-requisites for Prestige classes.
MULTIPREREQS | This isn't a keyword pair, but if this keyword appears 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 at character creation time). |
PRExxx tags | The prestige requirement tags are described near the end of this file. PREALIGN: can be used to restrict alignments with access to this class. |
XTRAFEATS:num | where num is how many extra feats this class gets at first level. default value is 0. |
The other lines in class.lst file start with a number indicating a level and then tabs between keyword:value (comma-delimited for some) pairs. The keywords available are:
FEAT:list | upon gaining this level the character gains these feats (comma-delimited) |
FEATAUTO:feat1[prereq1]..[prereqn]|feat2|...|featn | upon gaining this level the character gains these feats (| delimited) which cannot be 'turned in' for other feats. eg. armor and weapon proficiencies. |
FEATAUTO:.CLEAR and FEATAUTO:.CLEAR.featname | .CLEAR removes all automatic feats, .CLEAR.featname removes the named automatic feat only. |
VFEAT:list | upon gaining this level the character gains these virtual feats (| delimited) See the Monk and Ranger class for examples of this. |
GOLD:dice,sides,multiplier | where dice is the number of dice rolled, sides is the number of sides on each die, and multiplier is what the total is multiplied to. This starting gold is generated for a character's first level in their fist class only. |
CAST:list | number of spells castable for each level per day (0 assumed for levels not given) (Comma delimited) |
KNOWN:list | number of spells knowable for each level (0 assumed for levels not given.) (Comma delimited) |
KNOWNSPELLS:item|item|item | where item can be the name of a spell which is automatically known by this class or item can be LEVEL=x to indicate that a class automatically knowns all spells of a certain level. In either case the spell is only automatically known if the spellcaster has an appropriately high-enough stat to cast that level of spell. |
SPECIALTYKNOWN:list | number of specialty spells knowable for each level (0 assumed for levels not given.) (Comma delimited) |
ADD:label(choice1<PRExxx|PRExxx>,choice2<PRExxx|PREXXX>) | this is how the generic ADD: labels work. You have some label (the possible entries for this are listed below), and the choices for this label re in a comma delimited list. Sometimes you only want a choice to be available if a character meets certain criteria. This can be done by including a set of PRExxx tags (just like is done for Prestige classes) within angle-brackets. The PRExxx tags themselves are pipe delimited and you can include any number of them. |
ADD:CLASSSKILLS(value)|number | where value is type of skills you want to add from (CROSSCLASSSKILLS, UNTRAINED, TRAINED, EXCLUSIVE, NONEXCLUSIVE, ANY) and number is the number of them that can be added. The Expert class is a good example of this. |
ADD:FEAT | all by itself means increment the number of feats the character knows by 1 |
ADD:FEAT(list) | the character can choose one of the listed feats for which it qualifies. If TYPE=name is in the list, all feats of that type name will be included. (comma -delimited) |
ADD:INIT|mod (deprecated - use BONUS:COMBAT|Initiative instead) | where mod is a value that is added. These values are cumulative, so ADD:INIT|1 at first level and another ADD:INIT|1 at second level would give a +2 on initiative for second level and beyond. |
ADD:Language(list) | where list is a comma-delimited list of languages. The list of choices is filtered by the currently loaded selection of languages, and any selections made are added to the character's list of known languages. |
ADD:LIST(list) | where list is in the form item1_name[CHOOSE:tag][BONUS:tag],item2_name[CHOOSE:tag][BONUS:tag] the CHOOSE:tag is optional (but you can only have one of them), the BONUS:tag is also optional (but you can have any number of them). the itemx_names will show up in a list, and based on the user's selection another list of choices may be presented (if the item in question had a corresponding CHOOSE:tag). The bonuses associated with the choice will also be applied. See the discussion on the BONUS:SPELLCAST and BONUS:SPELLKNOWN near the end of this document for more details. |
ADD:SPECIAL(list) | the character can choose from one of the listed special abilities (comma -delimited) |
ADD:SPELLCASTER(label) | where label is one of ANY (to indicate that the class can choose from any spellcasting classes except for the one being leveled up) or a valid SpellType (currently that's Divine or Arcane to indicate which kind of spellcaster classes should be included in the list). The character selects a class to add a bonus level to in terms of spells known/castable. This is cumulative (see the Loremaster for example). |
ADD:value(list) | the character can choose from a list of choices titled value which will then be added to the list of special abilities as value(choice). e.g. ADD:Favored Enemy(Microsoft, Sun) produces a list titled "Favored Enemy" and if the character selects Microsoft, "Favored Enemy(Microsoft)" will be added to the special abilities for the character. (comma-delimited) |
ADD:WEAPONBONUS(bonus_tag|bonus_mod|list) | where: bonus_tag is TOHIT, DAMAGE or TOHIT,DAMAGE to indicate what the character gets a bonus on with the selected weapon. bonus_mod is the actual bonus modifier. You can put formulas in here as well. list is a pipe-delimited list of the following possibilities: ALL (list all weapon profs); FEAT=name (list all weapon profs whose type is the named feat); PCFEAT=name (list all weapon profs the character has that is the named feat); or simply name a weapon prof. e.g. ADD:WEAPONBONUS(TOHIT,DAMAGE|2|FEAT=Simple Weapon Proficiency|PCFEAT=Martial Weapon Proficiency|Greatclub) would make a list of all the Simple weapons, the martial weapons the character is proficient with, and add the Greatclub. This bonus stacks with all other bonuses. In this example the character would be +2 to hit and damage with the selected weapon prof. |
ADD:FORCEPOINT | Adds 1 forcepoint to the total number for the character. |
ADD:.CLEAR and ADD:.CLEAR.LEVELx | ADD:.CLEAR will remove all ADD: tags in the class (this is typically used in .MOD classes). ADD:.CLEAR.LEVELx (where x is a number, like 5) will remove all ADD: tags for the class which are associated with level x. This is also used for .MOD classes and can be useful when a modified class gets a different list of options than the regular class, you clear the ADD: tags for that level (ADD:.CLEAR.LEVELx) and then you can specify a new ADD: tag (the new ADD: tag would still need to occur on the appropriate level line for the .MOD class) |
ADDDOMAINS:list | where list is a | delimited list of prestige domains. e.g. ADDDOMAINS:name1|name2|name3 and all 3 names are valid domains found in a domain lst file |
PRERACETYPE | A race type. For monster classes, the race must be of this type or they can't take the class. I made this seperate from the other prereqs because it does not count towards being a prestige class. |
INTMODTOSKILLS | Yes or No. This is for monster types that don't get their int mods for skills they get from gaining hit dice. |
LEVELSPERFEAT | Number. This is the number of levels it takes for a monster of this race type to gain a new feat. Not sure if this actually works right now. |
TEMPLATE:String | where String is a template that the character gains when taking this race. This may appear more than once in each race definition. A Special case of CHOOSE:names will let you choose one from a list of '|' deliminated templates. |
BONUS:tag | see the BONUS:tag description near the end of this file. |
There are 3 files you need to modify when adding a class: the particular class.lst file you wish to add its data (for beginners, it's best to simply copy & paste an existing class that resembles your class as much as possible and simply modify it from there). If the class is a spellcaster, you'll need to add data to a classspell.lst file, and if it has any class skills, you'll need to add those to the classskill.lst. Make sure the class.lst, classskill.lst and classspell.lst files that you modify are used in your chosen pcc file. See the description of the CAMPAIGN.LST file for a discussion on adding a campaign for more notes.
The name of the deity must be the first entry on each line. Other defined tags are:
ALIGN:string | where string is the alignment of the deity | ||||||
BONUS:tag | see the BONUS:tag description near the end of this file. | ||||||
DEITYWEAP:list | where list is a | delimited list of favored weapons. Default value is ALL. | ||||||
DOMAINS:list | where list is a comma delimited list of domains to which this deity grants access. | ||||||
DESC:description | where description is the description of this deity. | ||||||
FOLLOWERALIGN:alignments | where alignments is a string of numeric alignments eg. FOLLOWERALIGN:367 There is also a limited qualification test (currently only VARDEFINED is supported) eg. FOLLOWERALIGN:[VARDEFINED=SuneLG=0]367 |
||||||
RACE:list (deprecated - use PRERACE:tag) | where list is a comma-delimited list of Races (case sensitive) which can follow this deity. If this argument isn't found, then any Race can follow this deity. | ||||||
PRExxx tags | The prestige requirement tags are described near the end of this file. | ||||||
PANTHEON:list | where list is a pipe-delimited list of pantheons the deity belongs to.
A deity with no (or empty) PANTHEON tag is assumed to belong to all existing pantheons.
You may specify a pantheon in one of two ways: either General or Specific.
|
The name of the domain must be the first entry on each line. Other defined tags are:
BONUS:tag | see the BONUS:tag description near the end of this file. |
CHOOSE:WEAPONPROF|num|list[label] | WEAPONPROF is the only working choice for Domains. num is the number of choices allowed. list is a pipe-delimited list of choices (which can include DEITYWEAPON to include the deity's favored weapon(s)). you can include 0 or more [labels], where label is either WEAPONPROF (meaning the chosen selection is made a weapon proficiency) or FEAT=name where the named feat then has the chosen selection associated with it (since WEAPONPROF is the only working choice, the Feat must require a weapon proficiency association, like Martial Weapon Proficiency, Exotic Weapon Proficiency, Weapon Focus, etc.) |
DEFINE | see DEFINE discussion below |
DESC:text | where text is a description of the granted power associated with this domain. |
FEAT:list | these feats are gained when choosing this domain (comma-delimited) |
PRExxx tags | The prestige requirement tags are described near the end of this file. |
RACE:list (deprecated - use PRERACE:) | where list is a comma-delimited list of Races which can choose this domain. |
SKILL:list | these skills are considered class-skills when purchasing skills for the character (comma-delimited) |
The first column is the item's name. The other fields are all optional tag:value pairs separated by tabs:
AC:number (deprecated - use BONUS:COMBAT|AC|xx|TYPE=yyy instead) |
where number is the AC adjustment this item gives to the character when it's equipped. |
ACCHECK:number | where number is the Armor Check penalty this item gives for certain skills. |
ALTCRITICAL:string | for double weapons the secondary attack's critical chance |
ALTDAMAGE:string | for double weapons the secondary attack's damage |
ALTEQMOD:string | where string is a decimal-delimited string containing the equipment modifiers for a weapon's secondary head. eg. ALTEQMOD:WEAP+2.Vorpal |
ALTTYPE:subtype.subtype.etc | where subtype is an identifier of the different types for the secondary head of a double weapon. See the TYPE tag |
BASEQTY:number | Where number is the number of items in this bundle. ie. Arrows (20) should have BASEQTY:20 |
BONUS:tag | see the BONUS:tag description near the end of this file. |
Cost:number | where number is a value (in gp) of the item |
CONTAINS:string | where string is of the form: max Weight capacity|Type1=max #|Type2=max #... the max weight capacity is the maximum weight a container can hold, each Type entry specifies a subtype which is compared to the TYPE string of items; if an Item has a subtype which matches one of the types listed in the CONTAINS tag, the container can hold that item. The special types Any and Total have special meaning. Any=5 means the container can hold any 5 items as long as the weight capacity is not exceeded. Total=10|Scroll=7|Potion=10 means the container can hold a maximum of 10 items, no more than 7 of which can be scrolls. Setting the capacity or max # of a type to -1 gives the container an unlimited capacity of that type. Putting an * before the weight causes the contents of a container not effect the weight of the container, (aka. bag of holding). |
CRITMULT:string | Where string is the multiplier on damage for the weapon on a critical hit. e.g. CRITMULT:x2 is most common. |
CRITRANGE:number | where number is the range of criticals. a Crit on a 20 is a range of 1. A Crit on a range of 19-20 is a range of 2. |
DAMAGE:string | where string is the amount of damage the item does (not adjusted due to strength or other magical bonuses) |
DEFINE | see DEFINE discussion below |
EDR:number | where number is the Damage Reduction Rating for the piece of equipment. |
EQMOD:string | where string is a decimal-delimited string containing the equipment modifiers for a weapon's primary head. eg. EQMOD:WEAP+3.Speed |
HANDS:number | where number is the minimum number of hands required for this item (default is 1, this is primarily used for Buckler shields which use 0 hands when equipped) |
LONGNAME:name | where name is the longer version of the name. Defaults to NAME if not supplied. |
MAXDEX:number | where number is the maximum dex modifier to AC this item allows. |
MODS:value | where value is one of Y, N, R. N disallows any eqModifiers, Y (default) allows them, and R requires at least 1 before the item can be purchased. |
MOVE:medium,small | where medium is the movement rate for medium sized characters and small is the movement rate for small characters. |
PRExxx tags | The prestige requirement tags are described near the end of this file. Any requirements must be met before this item can be equipped. |
PROFICIENCY:weapon | Where weapon is a weapon from the weaponprofs.lst (i.e. you want to create a magical longsword called Balmung. To tell PCGen that every character who is proficient with sword (long) also is proficient with Balmung, you have to add PROFICIENCY:Sword (Long) |
REACH:value | where value is an integer value indicating how much the reach of the weilder is extended when using this weapon. The default is 0. |
SIZE:letter | where letter is the size letter (just like for races) of the weapon. |
SPELLFAILURE:number | where number is the percent of arcane spell failure this item incurs. e.g. SPELLFAILURE:5 is 5% failure. |
SPROP:special | where special is a description of any special properties associated with the item. |
TYPE:subtype.subtype.etc | where subtype is an identifier of the different types this item is. The subtypes can be in any order and must be separated by a dot. PCGen knows that only a certain number of certain subtypes can be equipped ( e.g. you can only have two items with RING in their type list equipped, or 1 item with Armor as a listed subtype). The list of subtypes is what PCGen allows the user to pick from when they click on the Equipment List button. the subtype should indicate what kind of Armor it is, or what kind of weapon it is and what kind of damage it does. |
VFEAT:feat|feat|feat | this pipe-delimited list of feats is added to the character's virtual list of feats and can be used to meet the pre-requisites of other feats. |
WT:number | where number is the weight in pounds of the item. |
each feat takes one line and the first field must be the feat's name. Beyond that each tag:value pair can be any of the following separated by tabs:
ADD:type|subtype | where type is WEAPONPROFS, FAVOREDCLASS, or SPECIAL for WEAPONPROFS, subtype is one of SIMPLE, MARTIAL or EXOTIC to indicate what kind of weaponprof the character can add upon gaining this feat. for FAVOREDCLASS is either a class name, or LIST, which yields the selection of a previous CHOOSE tag. For SPECIAL you can enter either a | deliminated list of special abilities that are added to the character upon gaining the feat or use LIST to pull one selection from a seperately defined CHOOSE list (CHOOSE:entry1|entry2|entry3|and so on). Known BUG: Chooser allows for one too many choices and removing an item gives you extra feats. |
||||||||||||||||||||||||||||||||||||||||||||
ADD:FORCEPOINT|x | Adds 1 to the Forcepoint total of the character. The x is a dummy variable and can be anything without affecting the tag's results. | ||||||||||||||||||||||||||||||||||||||||||||
ADDSPELLLEVEL:num | where num is the number of levels this feat adds to a spell. | ||||||||||||||||||||||||||||||||||||||||||||
ATT:value (deprecated - use PREATT:) | pre-requisite base attack bonus minimum | ||||||||||||||||||||||||||||||||||||||||||||
BONUS:tag | see the BONUS:tag description near the end of this file. | ||||||||||||||||||||||||||||||||||||||||||||
CHOOSE:WEAPONPROFS|label_list | where label_list is a | delimited list with the following options: ADD.prof (adds prof to the list of choices), SpellCaster.prof (adds prof to the list of choices if the character is a spellcaster), LIST (adds all the characters weapon proficiencies to the list of choices), Size.M.prof (adds prof if the character is at least Size M - can use any size character), WSize.Light (adds all the character's light weapons to the list - can also use WSize.1 handed and WSize.2 handed), TYPE.label (where label is anything in the named equipment's TYPE string, like RANGED or MELEE) and prof (where prof will be added if the character has the weapon proficiency named prof). Note: WSize logic has been extended... WSize can now be of the form WSize.label.type.type.type where label is one of "Light", "1 handed" or "2 handed", and you can include 0 or more type strings. Any weapon prof which meets the criteria of the label and any *one* of the indicated type strings, will be added to the subsequent list of choices for the feat. For example, WSize.Light.Melee will add all weapon profs which are Light for the character and which have Melee in the associated weapon's TYPE: string - thus the list would include all light melee weapons. | ||||||||||||||||||||||||||||||||||||||||||||
KEY | UNDOCUMENTED | ||||||||||||||||||||||||||||||||||||||||||||
DEFINE | see DEFINE discussion below | ||||||||||||||||||||||||||||||||||||||||||||
CHOOSE:COUNT=n|type|value | COUNT=n is optional and specifies the number of selections to be chosen type is one of
|
||||||||||||||||||||||||||||||||||||||||||||
CLASS:classname:level (deprecated - use PRECLASS:) | pre-requisite for this feat - classname can be Spellcaster meaning any class that can cast spells | ||||||||||||||||||||||||||||||||||||||||||||
COST:cost | where cost is a value (like .5) to indicate how many feat points each choice (for multiple feats) costs. A cost of .5 means each choice costs .5 feats so you'd get 2 choices per feat spent on it. | ||||||||||||||||||||||||||||||||||||||||||||
DESC:value | the description of the feat as it appears in the Feats tab of PCGen | ||||||||||||||||||||||||||||||||||||||||||||
FEAT:list (deprecated - use PREFEAT:) | list of pre-requisite feats | ||||||||||||||||||||||||||||||||||||||||||||
LEVEL:number (deprecated - use PRELEVEL:) | where number is the minimum number of levels required to acquire this Feat (default is 0) | ||||||||||||||||||||||||||||||||||||||||||||
MULT:value | where value is YES or NO (default = NO) to indicate if this feat can be taken multiple times. If set to YES you must also use a CHOOSE: tag to indicate what choices are available. | ||||||||||||||||||||||||||||||||||||||||||||
PRExxx tags | The prestige requirement tags are described near the end of this file. | ||||||||||||||||||||||||||||||||||||||||||||
REP:levels_per_increase | where levels_per_increase is how often (in levels) this Feat increases the Reputation of the character. The number must be an integer. e.g. 5 would mean that at 5th, 10th etc. level the Reputation of the character goes up 1 due to this Feat. | ||||||||||||||||||||||||||||||||||||||||||||
SKILLRANK:list|minRank (deprecated - use PRESKILL:) | where list is a comma-delimited list of Skill names and minRank is the minimum rank needed in these skills to qualify for the Feat. | ||||||||||||||||||||||||||||||||||||||||||||
STACK:value | where value is YES or NO (default = NO) to indicate if the feat stacks. | ||||||||||||||||||||||||||||||||||||||||||||
STAT:NAME:value (deprecated - use PRESTAT:) | pre-requisite where NAME is STR,DEX,CON,INT,WIS or CHA and value is the minimum value of that stat | ||||||||||||||||||||||||||||||||||||||||||||
TYPE:value | what kind of feat is it (used in ADD:FEAT(TYPE=name) in the class.lst file). | ||||||||||||||||||||||||||||||||||||||||||||
VISIBLE:setting |
VISIBLE:Yes --- display in PCGen and on export (default) VISIBLE:No --- hide from both PCGen display and export. VISIBLE:Display --- display in PCGen but not on export. VISIBLE:Export --- Hide from PCGen but display in export This allows for hidden feats which are granted by other aspects of the character. All types save to the pcg files. Export refers to character sheets. |
each language takes one line.
name[tab]TYPE:type.type.type
where name is the name of the Language
TYPE: can contain a list of types delimited by .
e.g.
Common[tab]TYPE:Spoken.Written
would mean that a Language called "Common" would qualify as both a Spoken and a Written langauge.
The TYPE: string's use is when combined with the CHOOSE:Language() tag in Skill.lst.
The first line is a list of Size letters with a pipe character separating it from its load limit multiplier. The second through next-to-last line contain a strength value (must be incremental starting at 1) and the last line indicates the multiplier and power escalation for every 10 strength points beyond the end of the list. This is to represent the multiplier of 4 for the first 10 beyond the end of the strength list in the PHB, 16 for the next 10 (4 to the power of 2), 64 for the next 10 (4 to the power of 3) and so on. Y ou can change the multiplier (4) if you wish or add to the list of strength/capacity lines, but they must be incremental (no skipping strength scores).
The name of the race must be the first entry on each line. Other defined tags are:
AC:number (deprecated - use BONUS:COMBAT|AC|xx|TYPE=yyy instead) |
where number is the AC adjustment this item gives to the character when it's equipped. |
AGE:min:dice:sides:dice:sides:dice:sides | the minimum age for the race and the number of dice and sides used. There are 3 possible sets of dice/sides so each class can specify which pair it will use if it is the character's first class. The default is the last pair (AGESET:2 since this uses a 0-based index). |
AL:list of alignments (e.g. Lawful Good|Lawful Neutral) (deprecated - use PREALIGN:) | where list is a pipe-delimited list of alignments as they appear in the alignment box on the Stats tab. If this AL: does not exist, then the race can be any alignment, but if this does exist, then the alignment chosen must appear in this list. |
BAB:num | where num is the base attack bonus for this race. |
BONUS:tag | see the BONUS:tag description near the end of this file. |
CR:num | where num is the base Challenge Rating of this race. Can either be an integer, or a fraction in the form 1/n |
FAVCLASS:string | where string is a | delimited list of the race's favored classes. |
FEAT:list | where list is a | delimited list of feats the race gets.
Multiple uses of this tag in the same race will overwrite each other NOT add to each other. |
MFEAT:list | where list is a | delimited list of feats the race gets if Use Default Monsters
was checked in the Options Menu before loading in the campaign.
Multiple uses of this tag in the same race will overwrite each other NOT add to each other. |
VFEAT:list | where list is a | delimited list of virtual feats the race gets. |
HEIGHT:M:min:dice:sides:bonus:F:min:dice:sides:bonus | where M is for Male, min is the minimum height, dice is the number of dice used, sides is the number of sides on the dice and bonus is added to the ending roll |
HITDICE:num,dice | where dice is the number of sides on the dice (so d4 would be 4) and num is the number of those dice used to calculate hit points. |
HITDICEADVANCEMENT:num,num,etc. | where num,num is a comma-delimited list of HD at which the size of the race increases. The final number is the maximum hit dice this race can reach and if this list is not present this race can only advance through classes. |
HITDIE: | This locks the hit dice for a race that levels but uses it's own hit dice. There are five settings: HITDIE:num --- sets the hit die to num regardless of class. HITDIE:%/num --- divides the classes hit die by num. HITDIE:%*num --- multiplies the classes hit die by num. HITDIE:%+num --- adds num to the classes hit die. HITDIE:%-num --- subtracts num from the classes hit die. HITDIE:%upnum --- moves the hit die num steps up the die size list d4,d6,d8,d10,d12. Stops at d12. HITDIE:%downnum --- moves the hit die num steps down the die size list d4,d6,d8,d10,d12. Stops at d4. Regardless of num it will never allow a hit die below 1. |
INIT:number | where number is the initiative mod for this race |
CHOOSE:LANGAUTO:list | list from which the character can choose (current limit of one) language which does not count against their intelligence limit.
If list is a series of '|' deliminated languages then the character can choose from them.
If list is ALL then the character can select from all languages available in the selected sources. If list is TYPE=x then the character can select from all languages of TYPE:x. Note that ALL and TYPE=x work with LANGAUTO as well but the results of using them might not be desirable. |
LANGBONUS:list | list from which the character's intelligence modifier's worth of languages can be chosen.
If list is a series of ',' deliminated languages then the character can choose from them.
If list is ALL then the character can select from all languages available in the selected sources. If list is TYPE=x then the character can select from all languages of TYPE:x. |
LEVELADJUSTMENT:num | where num is the number of levels added due to being this race. Now includes limited support for formulae. |
MOVE:number | the walking movement rate in feet for this race. You can optionally specify additional movement rates like MOVE:Walk,30,Fly,20,Swim,20 to indicate a Walk movement rate of 30 and Fly and Swim movement rates of 20. |
NATURALATTACKS:Primary natural Weapon|Secondary1|Secondary2|... | any natural attacks (Claw, etc.) that the race has. Each weapon is of the format: Weapon Name,Weapon Type,# of attacks at BAB,damage/attack each weapon name must have an entry in a WeaponProf.lst file consisting of Weapon Name TYPE:Natural Weapon type should be of the form: Weapon.Natural.Melee.Slashing.Piercing. # of attacks at BAB can be prepended with an * to prevent normal attack progression; ie. a *2 means 2 attacks at a BAB (of 12), whereas a 2 gives 4 attacks (12/12/7/2) damage is the damage caused by the natural attack. |
PRExxx tags | The prestige requirement tags are described near the end of this file. Character must meet these requirements to be able to select this race. |
PROF:type|list | where type is what type of weapon proficiency this race has an adjustment for (must match the TYPE tag from the weaponprof.lst file - e.g. SIMPLE, MARTIAL, etc.) and list is a | delimited list of weapon profs. For example, the Dwarf has PROF:MARTIAL|Waraxe (dwarven) because it's usually an exotic weapon, but for Dwarves it's a martial weapon. |
RACENAME:String | If set this value will appear as the name of the race on character sheet output. If not set the value that appears on the menu in PCGen for choosing the race will output. This is handy for distinguishing same named races in multiple campaigns when you don't know which one the person will load in first. |
REACH:num | where num is an integer indicating the race's reach. This defaults to 5 feet. |
SAVES:fort,ref,will | where fort is the base Fortitude, ref is the base Reflex and will is the base Willpower save for this race. |
SIZE:value | One of these values (T,F,D,S,M,L,G,H,C) |
SKILL:list=bonus=list=bonus (e.g. SKILL:Chew Gum=1=Whistle,Hum=2 would give a +1 on Chewing Gum and +2 on Hum and Whistle. | list of skills for which the character gets the indicated bonus. Please use BONUS:SKILL instead of this tag. |
SKILLMULT:mult | where mult is the skill multiplier at first level (for most races this is 4, which is the default value if this keyword pair is not supplied) |
STARTFEATS:num | where num is the number of feats this race starts with at first level. Default is 0. |
STATADJx:num | where x is the index of the stat to be adjusted and y is the actual adjustment. Valid x values are: 0=STR, 1=DEX, 2=CON, 3=INT, 4=WIS and 5=CHA, so a race with a Strength adjustment of +2 would have STATADJ0:2 (don't use +). A race with a Charisma adjustment of -2 wuold have STATADJ5:-2 (- are ok). You can include any number of STATADJx: tags. |
TEMPLATE:String | where String is a template that the character gains when taking this race. This may appear more than once in each race definition. A Special case of CHOOSE:names will let you choose one from a list of '|' deliminated templates. |
TYPE:type | where type is Monster type such as Abberation, Dragon, Undead, etc. Default is Humanoid. |
VISION:value | the kind of vision the race has (default = Normal). |
WEIGHT:M:min:dice:sides:F:min:dice:sides | is interpreted the same as HEIGHT |
WEAPONAUTO:list | list of weapon proficiencies the character gains for this race |
WEAPONBONUS:list | list from which the character can choose one proficiency for this race |
XTRASKILLPTSPERLVL:num | where num is the number of extra skillpoints this race gets per level |
each template takes one line. The first fields must be the template name
All of the following fields are optional and can appear in any order:
BONUS:tag | see the BONUS:tag description near the end of this file. |
DEFINE | see DEFINE discussion below |
GENDERLOCK:String | Sets the character's Gender and disables the ability to change it as long as 'String' is one of three arguments:
Female, Male, or Neuter. The Gender will be set to the appropriate value for your language property settings. This is useful for races where each Gender has different abilities, such as Dark Elves. |
HITDICESIZE:number | where number is what all of the characters hit dice are increased to. (Not yet fully supported) |
SR:number | where number is the SR granted by this template. This may appear more than once in a template, but all but one must appear inside a LEVEL or HITDICE tag |
TYPE:type | The type of critter you're dealing with. Default is Humanoid. Other examples are things like Vermin, Animal, Fey, Giant, Outsider, and so on. It only reads the type of the last template you have with a type setting. |
CHOOSE:LANGAUTO:list | list from which the character can choose (current limit of one) language which does not count against their intelligence limit.
If list is a series of '|' deliminated languages then the character can choose from them.
If list is ALL then the character can select from all languages available in the selected sources. If list is TYPE=x then the character can select from all languages of TYPE:x. |
CR:number | where number is the amount the characters CR is increased by this template. This may appear more than once in a template, but all but one must appear inside a LEVEL or HITDICE tag |
LANGAUTO:list | these are languages the template automatically knows
There are three special cases for removing languages from other sources. .CLEARALL will clear out all languages loaded into the character BEFORE this template. .CLEARRACIAL will clear out all racial languages loaded into the character. .CLEARTEMPLATES will clear out all languages loaded into the character from templates loaded BEFORE this template. Be sure to test loading order when using these tags. They will remove languages loaded before them but not after. One trick to ensure the order is to put these tags in the same template that loads a template that might have a language you wish to remove, but to put the tag just after the template loader: The following has the character pick a region, which might give them a language this kind of Elf is not allowed and so clears the language list, then gives them Elven. TEMPLATE:KalamarPG Regions LANGAUTO:.CLEARTEMPLATES LANGAUTO:Elven (High) |
LANGBONUS:list | list from which the character's intelligence modifier's worth of languages can be chosen.
If list is a series of ',' deliminated languages then the character can choose from them.
If list is ALL then the character can select from all languages available in the selected sources. If list is TYPE=x then the character can select from all languages of TYPE:x. |
BONUSSKILLPOINTS:number | number*4 is added to skill points at level 1, and number is added every level after. |
BONUSFEATS:number | number additional feats allowed. |
LEVELSPERFEAT:number | This is the number of levels it takes to gain a new feat. Not sure if this actually works right now. |
LEVELADJUSTMENT:number | where number is the amount the characters ECL is increased for taking this template. (Not yet fully supported) Now includes limited support for formulae. |
PRExxx | a prequisite for the template. See the full list of PRE tags later in this document |
STR:number | where number is a bonus to Strength |
DEX:number | where number is a bonus to Dexterity |
CON:number | where number is a bonus to Constitution |
INT:number | where number is a bonus to Inteligence |
WIS:number | where number is a bonus to Wisdom |
CHA:number | where number is a bonus to Charisma |
HEIGHT:entry | Replaces racial height. see HEIGHT under race for desription. |
WEIGHT:entry | Replaces racial weight. see WEIGHT under race for desription. |
SIZE:x | Replaces racial size. For instance: SIZE:L would change the characters size to Medium x can be one of T, F, D, S, M, L, G, H, C |
AGE:entry | Replaces racial age. see AGE under race for desription. |
POPUPALERT:entry | Pops ups a window with the message 'entry'. Not properly functional yet... |
FEAT:String | Where String is a list of feats granted by the template seperated by commas. This may appear more than once in a template. |
FAVOREDCLASS:String | Where String is the favored classes granted by the template. |
GOLD:entry|flag | entry can be a straight number to add or dice,sides,multiplier
if flag is present as '1' this gold will replace the class gold. If it is not present or is 0 this gold will add to the class gold. where dice is the number of dice rolled, sides is the number of sides on each die, and multiplier is what the total is multiplied to. This is added to a characters gold by class. Warning: If a template is removed after a save and reopen it will fail to remove the gold. |
MOVE:type,rate | Where type is Type of movement and rate is the speed it is set to. A special type of ALL set all movement types the character has to rate. |
MOVEA:type,rate | Where type is Type of movement and rate is amount added to it. Will only add to existing movement types. A special type of ALL adds to all movement types the character has. |
MOVECLONE:Movement type,rate,[Movement type,rate,][Movement type,rate,] |
All 'Movement type's are names of movement types. 'rate' is an integer number.
Special case for 'rate': multiplication and division. MOVECLONE:Walk,0,Fly,*2would set the characters Fly move to twice his walking rate. Applied to a human, this would result in a Fly move of 60'. |
NONPP:number | number must be <=0. Sets the character's penalty for non proficiency in a weapon to this number. |
WEAPONAUTO:list | list of weapon proficiencies the character gains for this template |
WEAPONBONUS:list | these are weapons from which the template can pick one proficiency |
REGION:String | Default is None. Special case: Yes Sets the name of the character's region. Can be output onto character sheets with |REGION|. If String is set to the special value of Yes then it will place the name of the template in paranthesis after the race on character sheet output. |
SUBREGION:String | Default is None. Special case: Yes Sets the name of the character's region. Can be output onto character sheets with |SUBREGION|. If String is set to the special value of Yes then it will place the name of the template in paranthesis after the race on character sheet output. |
KIT:class|kit | This tag REQUIRES a class and a kit seperated by | or you will cause errors in character sheet output.
class is the class the kit is for. kit is the name of the kit. This tag will cause the class line of a character sheet to show class (kit) rather than class in the section for that class. With a multiclassed character the (kit) will only show right after the class it applies to. If the character somehow has this template but not the matching class nothing will show. A template with a kit tag should always have a matching PRECLASS:class tag. |
SUBRACE:String | Default is None. Special case: Yes If set this will place String in parenthesis after the race on the character sheet output. If String is set to the special value of Yes then it will place the name of the template in paranthesis after the race on character sheet output. If None no value will appear. |
VISIBLE:setting |
VISIBLE:Yes --- display in PCGen and on export (default) VISIBLE:No --- hide from both PCGen display and export. VISIBLE:Display --- display in PCGen but not on export. VISIBLE:Export --- Hide from PCGen but display in export This allows for hidden templates which are granted by other aspects of the character. All types save to the pcg files. Export refers to character sheets. |
REMOVABLE:Yes or No | If No this template will not be able to be removed from any character who takes it. |
NATURALARMOR:number | Where number is the natural armor bonus this template gives to a character. This may appear more than once in a template, but all but one must appear inside a LEVEL or HITDICE tag |
TEMPLATE:String | Where String is the name of a template to be added when this template is added. This may appear more than once in a template A Special case of CHOOSE:names will let you choose one from a list of '|' deliminated templates. TEMPLATE:.CLEAR will clear the list of templates TEMPLATE:ADDCHOICE:choice will add another choice to the end of the first CHOOSE: found in the template list |
LEVEL:number:String | where number is the level at which an ability is granted to the character. The String may contain the following tags: DR,SR,CR,SA,FEAT. This may appear more than once in a template. |
HITDICE:number-number or number+:String | where the numbers are a range or minimum hit dice the character must have before an ability is granted to the character. The String may contain the following tags: DR,SR,CR,SA,FEAT. This may appear more than once in a template. |
$school_name$[tab]$school_cost$[tab]$class_name$
where school_cost is usually 1,2 or 4
and class_name is what those who choose this specialty are called.
The name of the skill must be the first entry on each line. Other defined tags are:
ACHECK:label | where label indicates when the Armor Check penalties associated with any equipped armor applies (Y for Yes [always], N for Never, P for only when not proficient with the armor, or W for 1 per 5 pounds carried). |
BONUS:tag | see the BONUS:tag description near the end of this file. |
CHOOSE:Language(type.type.type,type.type) | You can create a list of languages from which to choose by adding languages of a certain type, or by filtering them by type. e.g. CHOOSE:Language(Written.Sword Pass,Spoken.Hajimar) would present to the user a list of langauges which had either both Written AND Sword Pass in their TYPE: string, OR had Spoken AND Hajimar in their TYPE: string. In addition, if the first type specified is "PC", then the list is created from the character's own list of languages. Thus, CHOOSE:Language(PC.Spoken) would present a list of all the character's languages with Spoken in its TYPE: string. This way one can only allow a character to write languages that they can first speak, or vice versa. |
CLASSES:list | list is a | delimited list of the names of classes who treat this skill as a class-skill. list can also include ALL to indicate that all classes get this skill as a class-skill. If any class names in list are preceded by a !, e.g. CLASSES:!Geek then the class specified can never have this skill as a class-skill. |
DEFINE | see DEFINE discussion below |
KEYSTAT:stat | where stat is the stat whose modifier applies to this skill. e.g. STR, INT, DEX, etc. |
PRExxx tags | The prestige requirement tags are described near the end of this file. These requirements must be met before the character can have access to this skill. |
REQ | indicates that this skill is added to all classes whether they add any ranks or not. This way it will show up on the character sheet without being selected specifically. |
ROOT:name | where name is the root of the skill that is displayed instead of all the varieties of this skill. For example, Craft() has many varieties but are treated as one skill, so they all have ROOT:Craft. |
SYNERGY:list=minRank=bonus | where list is a comma-delimited list of skill names. If the character has at least the indicated ranks (minRanks) in all the skills in the list then this skill receives the indicated synergy bonus. Situational synergies (like Use Rope and Escape Artist) cannot be implemented in this fashion. |
BONUS:tag | see the BONUS:tag description near the end of this file. |
TYPE:value | Where value is the type of skill it falls under. All Skill TYPE tags should use the skill's key attribute as the first type ("None" is an acceptable option). Multiple types can be specified using the period as a separator. (For example: TYPE:Wisdom.Force.Alter would apply to certain Star Wars skills, or TYPE:Charisma.Spy might apply to skills like Disguise, Bluff, etc.) |
USEUNTRAINED:yn | where yn is Y or N to indicate if this skill can be used untrained. Default is Y. |
EXCLUSIVE:yn | where yn is Y or N to indicate if this skill is exclusive (can be used by those for whom it is not a class-skill). Default is N. |
$Name[tab]$Sub-Name where Name is the name of the Ability (e.g. Uncanny Dodge) and Sub-Name is the modifier name of the ability (e.g. Dex bonus to AC). When you add or subtract a level with (SPECIALS) tag on the SpecialAbility, PCGen will adjust the ability according to the order the ability is found in the SPECIALS.LST file. The first time you gain an ability, you get the first reference to it in the SPECIALS.LST file, the second time you get the second listing, and so on. Within the SPECIALS.LST file, additions to the different special abilities can be mixed, but the ordering within the file for each special ability is important.
The name of the spell must be the first entry on each line. Other defined tags are:
CASTTIME:text | where text indicates the amount of time it takes to cast this spell. |
COMPS:list | is a list of the spell components. |
COST:number | where number is the cost (in gp) of the spell components |
CT:integer | Where integer is a number that is the Casting Threshold of the spell for use in Sovereign Stone. |
DURATION:text | where text indicates the duration of the spell. |
EFFECTS:text | where text indicates the effect of the spell. |
EFFECTTYPE:text | where text indicates the effect-type of the spell. |
ITEM:list | eg. ITEM:Potion |
LVLRANGE:minLvl|maxLvl | Where minLvl is a number <= maxLvl. The two number for the level range of the spell for use in Wheel of Time. |
DESCRIPTOR:list | where list is a pipe-delimited list of descriptors that act like pseudo-school. specialist wizards who don't choose their specialty among schools can make selections from the descriptors. |
ITEM:list | eg. ITEM:Potion |
PRExxx tags | The prestige requirement tags are described near the end of this file. These requirements must be met before the character can have access to this skill. |
RANGE:text | where text indicates the Range of the spell. |
SAVINFO:text | where text indicates the Save Info of the spell. |
SCHOOL:name | where name is the name of the School to which this spell belongs. |
SUBSCHOOL:name | where name is the name of the Sub-School to which this spell belongs. |
SPELLRES:text | where text indicates the Spell Resistance of the spell. |
VARIANTS:list | where list is a pipe-delimited list eg. VARIANTS:cold|electricity|fire|acid|sonic |
XPCOST:number | where number is the XP cost to cast the spell |
$weapon_name$[tab] and then the following options:
BONUS:tag | see the BONUS:tag description near the end of this file. |
DEFINE | see DEFINE discussion below |
HANDS:number | where number is the minimum number of hands required to use these weapons. Default value is 1. |
PRExxx tags | The prestige requirement tags are described near the end of this file. These requirements must be met before the character can have access to this skill. |
SIZE:value | same as SIZE: for race. This determines if the weapon is light, one-handed or two-handed for the character's race |
TYPE:value | where value is SIMPLE,MARTIAL or EXOTIC |
This file contains a list of colors. The second column contains any combination of E,H and S. E if it's a valid Eye color, H if it's a valid Hair color and S if it's a valid Skin color. When the Random button is clicked in the Traits tab, PCGen will determine which attributes are blank, and then randomly pick one from the appropriate list.
This is a list of traits. When the Random button is clicked in the Traits tab, PCGen will pick items from this list to place in the blank Personality fields. I have two personality fields since most people have more than one in the list.
Used in the XP tracker, to convert CRs to XP reward amounts. The format is 17 lines, comma-delimited.
Each row is the xp for a different level - there are 17 rows because the first row combines levels 1-3
(so, row 1 corresponds to PC levels 1-3, row 2 = PC level 4, etc.)
Column 0 is the starting CR for that row - for that particular party level, anything less than the start counts
as "too weak" of an encounter, and should be dealt with on an ad-hoc basis. (these are CRs 8 levels lower than
the party level.)
Columns 1-9 contains enough data to extrapolate out the rest of the table -
I could have left out a bunch of columns for the first few rows, but they stayed in to make coding things easier.
The extrapolation from there is double the XP from CR - 2 (and if that's not there, double the xp from
(CR - 2) - 2). This theoretically could continue forever, but there's a "too strong" limit put on XP rewards
(8 levels higher than the PCs) to correspond with the "too weak" limit.
$modifier_name$[tab] and then the following options:
ADDPROF:type.tag | A new weapon proficiency based on the base item's required proficiency will be created and assigned to the weapon.
eg. ADDPROF:Exotic.Heavy If this modifier were applied to Sword (Long) the resulting weapon proficiency would be Sword (Long/Heavy) and would have type Exotic. The size is determined by the weapon's size. The above example generates an equivalent result to a WeaponProf.lst entry of: Sword (Long/Heavy)[tab]TYPE:Exotic[tab]SIZE:M | ||||||||||||||||||||||||||
ARMORTYPE:old_type|new_type | This modifier will change the type of armor from old_type to new_type.
eg. ARMORTYPE:Medium|Light | ||||||||||||||||||||||||||
ASSIGNTOALL:flag | For double weapons, if flag = Y, then the modifier will be applied to both heads. | ||||||||||||||||||||||||||
BONUS:tag |
|
||||||||||||||||||||||||||
CHOOSE:title|choice_list | title will be displayed as the title on the Chooser. choice_list is a list of valid selections from which to choose.
eg. CHOOSE:Designated Foe|Aberrations|Animals|Beasts|Constructs|Dragons|Elementals eg. CHOOSE:SKILL|TYPE=Craft eg. CHOOSE:SKILL|TYPE=LASTCHOICE |
||||||||||||||||||||||||||
COST:value | The cost in gp to be applied after resizing. Variables usable in formulas: BASECOST, CRITMULT, DMGDICE, DMGDIE, RANGE, SIZE, WT |
||||||||||||||||||||||||||
COSTPRE:value | The cost in gp to be applied before resizing. See COST above for usable variables |
||||||||||||||||||||||||||
DEFINE | see DEFINE discussion below | ||||||||||||||||||||||||||
IGNORES:ignore_list | A list of KEYs of modifiers that this modifier will cause to be ignored.
eg. IGNORES:ARMRMW,WEAPMW | ||||||||||||||||||||||||||
ITYPE:type_list |
A list of the types this modifier will grant to the item. eg. ITYPE:Magic.Ranged.Thrown |
||||||||||||||||||||||||||
KEY:tag | A unique descriptor for the modifier. Allows modifiers with the same name to function properly.
Defaults to modifier_name. eg. KEY:WEAPMW | ||||||||||||||||||||||||||
NAMEOPT:option | Option is one of NOLIST, NONAME, NORMAL eg. with the modifier: Craft[tab]CHOOSE:SKILL|TYPE=CRAFT[tab]BONUS:SKILL|%CHOICE|2[tab]... selecting "Craft (Armorsmithing)" in the chooser would normally generate "Craft (Craft (Armorsmithing))" as the name. Using the NOLIST option, the name generated would be "Craft", and the NONAME option would give a name of "Craft (Armorsmithing)" |
||||||||||||||||||||||||||
PLUS:number | Number is the plus bonus used in calculating magic item costs. See DMG p.180,184 | ||||||||||||||||||||||||||
PRExxx tags | Prerequisite tags are described near the end of this file. These requirements must be met before the modifier can be assigned to the item. | ||||||||||||||||||||||||||
REPLACES:replacement_list | A list of the item KEYs this modifier replaces. eg. Masterwork REPLACES:WEAP+1,WEAP+2,WEAP+3,WEAP+4,WEAP+5 |
||||||||||||||||||||||||||
TYPE:type_list | A list of the types of items this modifier can be applied to. eg. TYPE:Armor.Shield NOTE: In the Item Customizer, when adding a modifier with BaseMaterial or MagicalEnhancement in its type, any other currently selected modifier with a similar type will be replaced. |
||||||||||||||||||||||||||
VISIBLE:setting | Yes --- always (default)
No --- never Qualify --- only if base item qualifies |
This file contains a list of all bonuses which stack. BONUS: tags which do not have a TYPE=label parameter are assumed to stack.
Reputation
For multi-class characters, sum them according to their levels in each class.
value | formula |
---|---|
0 (PC Best) | 3 + classlevel/2 |
1 (PC Middle High) | 1 + classlevel/2 |
2 (PC Middle Low) | classlevel/2 |
3 (PC Low) | classlevel/3 |
4 (NPC High) | (classlevel +1)/3 |
5 (NPC Low) | classlevel/4 |
6 (Prestige Class High) | +1 for every level not divisible by 3 |
7 (Prestige Class Low) | classlevel/2 |
8 (Prestige Class v3) | +1 / 2 levels |
9 (Prestige Class v4) | +1 for every level not divisible by 4 |
10 (Prestige Class v5) | Progression: +1,+1,0,0,+1,+1,0,0,+1,+1 |
11 (Wheel of TIme) | classlevel/5 + (classlevel+3)/5 |
In the Revised SW Rulebook, the Reputation starts at 0 and goes up from there where in the CRB, it started at 1. |
value | formula |
---|---|
0 (PC Best) | 4 + classlevel/2 |
1 (PC Middle) | 3 + classlevel/5. If that result>2 then add (3 + classlevel)/5. |
2 (PC Low) | 2 + classlevel/3 |
3 (NPC) | classlevel/3 |
4 (Prestige Class) | Same as 1 (PC Middle) except 2 points lower. |
5 (Prestige Class v2) | Same as 1 (PC Middle) except 1 point lower. |
6 (Prestige Class v3) | Same as 0 (PC High) except 1 point lower. |
7 (Prestige Class v4) | Same as 0 (PC High) except 2 points lower. |
8 (Prestige Class v5) | 2 + ( ( (classlevel + 1) + 3) / 3) |
9 (Prestige Class v6) | 2 + ( ( classlevel + 3) / 3) ; If classlevel is 8 then add 1 to the result. |
10 (Prestige Class v7) | 1 + ( (classlevel + 1) / 2) |
11 (Prestige Class v8) | 2 + ( (classlevel + 1) / 2) |
12 (Prestige Class v9) | Progression: +1,+2,+2,+2,+3,+3,+4,+4,+4,+5,+5,....... |
The Following are for the new Revised SW Rulebook | |
20 | 2 + ((2 * (classlevel + 3)) / 5) |
21 | 1 + ((2 * (classlevel + 3)) / 5) |
22 | 1 + ( (classlevel + 1) / 2) |
23 | 2 + ( (classlevel + 1) / 2) |
24 | ((2 * (classlevel + 3)) / 5) |
25 | 1 + (classlevel / 2) |
The Following are used in Spycraft | |
30 | 1 + (((classlevel - 1) * 3) / 5) |
31 | (classlevel + 4/3) * (3/4) ; if classlevel = 4 or 8 additional -1, if classlevel = 17 +1 additional |
32 | (2 * ((classlevel - 2) + 3)) / 5 |
The following formulas are summed for all classes. To Reflex the Dexterity Mod is
applied, to Will the Wisdom Mod is applied and to Fortitude the Constitution Mod
is applied.
value | formula |
---|---|
G (Good Save) | 2+classlevel/2 |
M (Middle Save) | 1 + classlevel/5 + (classlevel +3)/5 |
B (Bad Save) | classlevel/3 |
G (Good Attack) | classlevel |
M (Middle Attack) | (3 * classlevel)/4 |
B (Bad Attack) | classlevel/2 |
Tag | Description |
---|---|
PREALIGN:list | is a comma-delimited list of the alignments that can use this item. 0-8 as above, 10 = Deity's alignment eg. PREALIGN:3,6,9 There is also a limited qualification test (currently only VARDEFINED is supported) eg. PREALIGN:[VARDEFINED=SuneLG=0],3,6,7 |
PREATT:number | number indicates the minimum base attack bonus (e.g. PREATT:6) |
PREUATT:number | where number indicates the minimum unarmed base attack bonus |
PRECLASS:list=level | where list is a comma-delimited list of class names and level is the minimum level in the class this character must be. The character only needs to be at least this level in one of the classes listed. (e.g. PRECLASS:Fighter,Spellcaster=2 would mean character must have 2 levels in Fighter or in any spellcasting class) |
PRECLASSLEVELMAX:list=level | where list is a comma-delimited list of class names and level is the maximum level in the class this character can be. All of the listed classes must be under their maximum level to meet the requirements. (e.g. PRECLASSLEVELMAX:Fighter,Spellcaster=2 would mean character cannot have over 2 levels in Fighter or in any spellcasting class) |
PREDEITY:list | where list is either Y (the character must have a Deity chosen), N (the character must not have a deity chosen) or a comma-delimited list of deity names - the character must have chosen one of the deities in the list. |
PREDEITYALIGN:list | where list is a comma-delimited list of deity alignments that can use this item. 0-8 as above. |
PREDEITYDOMAIN:num,list | where num is the number of deity domains which need to be matched, and list is a comma-delimited list of domains. This tag applies to the domains of the PC's deity, and not the domains that the PC has selected for itself. |
PREFEAT:number,featnames|CHECKMULT | where num is the number of matches in this list of feats you need to find, and featnames is a comma-delimited list of feats. For feats which can be taken multiple times you can specify the choices within that feat by using parentheses. To match on these choices use the % character. You can also specify TYPE= to match on a type of a feat instead of a feat name. Include the |CHECKMULT portion if a feat can be counted more than once against the number of feats required (e.g. an Archmage requires 2 Spell Focus feats, so this is done with PREFEAT:2,Spell Focus|CHECKMULT without the CHECKMULT PCGen would only consider it one feat and the character could not meet the criteria.) The Fighter, Loremaster, Arcane Archer and Archmage are good examples of Prestige classes to see how to setup this pre-requisite |
PREFORT:#, PREWILL:# , PREREFLEX:# | the minimum adjusted save needed |
PREFORTBASE:#, PREWILLBASE:#, PREREFBASE:# | the minimum base save needed |
PREGENDER:gender | where gender is the Gender this character must be (M, Male, F or Female are valid choices) |
PREHANDS[label]:num | where [label] is EQ (equals), LTEQ (less than or equal to), LT (less than), GTEQ (greater than or equal to), GT (greater than) or NEQ (not equal to) and num is the number of hands required. For example if a feat requires more than 2 hands to be usable then it would be PREHANDSGT:2 |
PRELEVEL:num | where num is the total number of levels a character must have. |
PREITEM:number,list | where list is a comma-delimited list of items the character must possess. The character must posses at least the indicated number of items matching the list criteria. list can also include TYPE=x where x is a particular type of equipment. (e.g., TYPE=Armor or TYPE=Wooden). If you require multiples of that type, you need to add TYPE=x for each instance in the comma delimited list. (i.e. PREITEM:2,TYPE=Armor,TYPE=Armor for two sets of armor.) Individual items can also be terminated with a "%" as a wildcard character. |
PRELANG:number,list | where list is a comma-delimited list of Languages. The character must know at least the indicated number of the languages in the list in order to qualify for the prestige class. You can specify ANY for the list and then you will pass this test if the character knows at least the specified number of languages. |
PRELEVEL:# | the minimum level needed regardless of class. |
PRELEVELMAX:# | where # is the most levels a character can have. |
PREMOVE:type=amount,type=amount etc. | where type is a movement type (e.g. Walk, Fly) and amount is a number (e.g. 30, 20) and this test is passed if the character passes any one of these requirements. |
PRERACE:list | where list is a | delimited list of Race names. The character must be one of the listed races. You can also exclude races by encasing the name in []'s. e.g. PRERACE:[Elf (aquatic)]|Elf would exclude aquatic elves, but include all other sorts ( any other race whose name began with Elf). |
PREREPUTATION:# | Reputation of at least #. |
PREREPUTATIONLTEQ:# | Reputation no greater than #. |
PRESIZE[label]:letter | where [label] is EQ (equals), LTEQ (less than or equal to), LT (less than), GTEQ (greater than or equal to), GT (greater than) or NEQ (not equal to) and letter is the letter that represents the size of the comparator. For example, if a feat cannot be used by anyone less than Huge in size, then it would be PRESIZEGTEQ:H (must be greater than or equal to H (Huge) in size). |
PRESKILL:num,skill_list=rank | where num is the number of skills which need to be matched, and skill_list is a comma-delimited list of skill names that are required, and rank is a number indicating the minimum rank for these skills. Shadow Dancer and Loremaster are good examples that use skill pre-requisites. skill_list can also include TYPE.x where x is a skill of a particular type. (TYPE.Force or TYPE.Spy from the examples under the Skills.lst above). If you require multiples of that type, you need to add TYPE.x for each instance in the comma delimited list. (i.e. PRESKILL:2,TYPE.Spy,TYPE.Spy=2 for two spy skills at level 2 each.) |
PRESKILLMULT:num,skill_list=rank | Similar to PRESKILL. This tag will set a flag on the character. It only works as a prereq if the rank in the skill divided by the rank needed is equal to the flag. The flag starts at 1, but goes up by one everytime the prereq is met. So the first feat would require 'rank' in the skill, the second feat 'rank*2', and so on... That would support the way regional feats are described in FR. However for now this is merely a dummy tag that works like PRESKILL so we don't have to redesign the lst files when this tag gets working. |
PRESKILLTOT:skill_list=# | where skill_list is a comma-delimited list of skill names and # is the total number of ranks among those skills. Can also include TYPE.X as part of the skill list as well. |
PRESPELLCAST:label=value,label=value,etc. | where label is either MEMORIZE (and then value can either be Y or N) or TYPE (and then value can be a | delimited list of acceptable spelltypes for this class). Basically each label=value pair is processed, and as the character's classes fail to meet that pair, the class is removed from the list. After all the label=value pairs have been processed, if the character has any classes remaining (meaning they meet all the requirements), then this prerequisite is met. |
PRESPELLTYPE:type,num,minimum_level | where type is a | delimited list of type of spells cast (use Arcane if only Arcane spells are applicable, use Any if any kind of spell is applicable, use Arcane|Divine if either Arcane or Divine spells are applicable, use two PRESPELLTYPE tags if more than one spell type is required), num is the minimum number of spells of this type that need to be found, and minimum_level is the minimum level of these spells which will be counted. Loremaster is a good example of this kind of pre-requisite |
PRESPELLSCHOOL:school,num,minimum_level and PRESPELLSCHOOLSUB:school,num,minimum_level | where school is the name of the school (or subschool) of spells counted, num is the number of spells which are required, and minimum_level is the minimum level of the spells that will be counted. Loremaster is a good example of this pre-requisite |
PRESPELL:num,list | where num is the number of spells to be matched in the comma-delimited list of spells (e.g. PRESPELL:1,Magic Missile,Lightning Bolt would be true if the character had either Magic Missile or Lightning Bolt in their spell list. |
PRESA:number,list | where number is the number of specialabilities to be matched in the comma-delimited list of Special Ability names. (e.g. PRESA:1,Turn undead,Rebuke undead,Smite Evil would be true if the character had either Turn undead, Rebuke undead, or Smite Evil.) |
PRESTAT:stat=min | where stat is the name of the stat and min is the minimum value of that stat. (e.g. PRESTAT:INT=15 would mean that character must have a minimum INT of 15). The available stats are STR,DEX,CON,INT,WIS and CHA |
PRETEMPLATE:template | Where template is a '|' delimited list of template names. If one of the template names in the list matches, then the prerequisite is met. |
PRETEXT | UNDOCUMENTED |
PREVAR[cond]:var_name,value,var_name,value,... | where var_name is something found either in DEFINE:var_name|value1 or BONUS:VAR|var_name|value2
and value is less than the calculated value for the requested variable after any bonuses are accounted for. If present, [cond] must be one of GT, GTEQ, LT, LTEQ, EQ, NEQ. NOTE: PREVAR: has been deprecated, use PREVARGT: instead. |
PREWEAPONPROF:list | where list is a comma-delimited list of weapon proficiencies the character must have. The list can include DEITYWEAPON to indicate that the weapon proficiency in question must be the chosen deity's favored weapon. |
PREFORCEPTS:# | where # is the number of Force Points that the character must have. |
PREDSIDEPTS:# | where # is the number of Darkside Points that the character must have. |
RESTRICT:name,name,name | This is a PRExxx tag even though it doesn't start with PRE. The character passes this pre-req if they have any one of the classes in list - no matter what level it is. |
QUALIFY:String|String | The opposite of PRExxx tags. A | deliminated string. Anything listed here will ignore all PRE tags and be a valid selection for the character. Currently only functional in template.lst |
PRExxx:Q:data | This is a variation on any PRE tag listed above. Adding a Q: between the tag and it's data will cause it to take precedence over the QUALIFY tag. Thus allowing QUALIFY to null out some but not all prereqs. |
PRETYPE:type_list | where type_list contains the prerequisite types. eg. PRETYPE:Magic,Piercing|Slashing means that type must be Magic AND (Piercing OR Slashing). EqModifier.lst Specifics Use PRETYPE:EQMODTYPE=eqmodtype to test for any modifier with "eqmodtype" type or PRETYPE:EQMOD=specific_eqmod to test for a specific eqModifier. You can also use conditionals. eg. PRETYPE:.IF.TYPE=Armor.Shield.Weapon.THEN.EQMODTYPE=MagicalEnhancement NOTE: .IF.TYPE= is the only condition currently supported for eqModifiers |
Tag | Description |
---|---|
BONUS: | Bonus tags are used to modify numerical values within PCGen. |
CCSKILL:field|field|field | List of cross-class skills. field can be the name of a skill, .CLEAR to remove all cross-class skill references in this particular item, or TYPE=something to include all skills with a certain TYPE value. |
CSKILL:field|field|field | List of class skills. field can be the name of a skill, .CLEAR to remove all cross-class skill references in this particular item, or TYPE=something to include all skills with a certain TYPE value. |
DR:value/type | This indicates the damage resistance this feat/class/template/etc. bestows. To add to a kind of DR you can use BONUS:DR|type|x. For example, BONUS:DR|+1|5 would take an already existing DR +1/10 and make it +1/15. |
DEFINE: | This is a way to define a variable usable in any of the PREVARxxx tags and in any tags which allow formulas. When determining the value of the named variable, PCGen uses the DEFINE: for the variable that results in the highest value. To add to this base variable value, you can use BONUS:VAR|variablename|x. |
LANGAUTO:field,field,field | Automatically known languages. e.g. LANGAUTO:French,English,German You can also use LANGAUTO:ALL to include all languages and LANGAUTO:TYPE=Written to include all languages with a certain TYPE value (in this case, Written). In a template file you can also include .CLEARALL, .CLEARRACIAL and .CLEARTEMPLATE. |
PRExxx tags | Pre-Requisite, or Restriction tags are commonly referred to as PRExxx tags. |
SA:list | list is comma delimited. The list may contains a string in the form name%end|number (e.g. Sneak Attack +%d6|1 would have a name value of Sneak Attack + and end would have a value of d6 and number would be 1). For classes you gain the listed special abilities once advancing to the level on which the SA: tag is defined. For deities you can specify the special ability in the form of levelnum:ability e.g. SA:3:Good Kisser would mean that the character with this deity would gain the Good Kisser special ability once they achieved 3 total levels. For .MOD items you can have SA:.CLEAR which would clear all special abilities related to the original version of the item. |
SPELL:name|times|type|name|times|type | List of spell-like abilities. name is the name of the spell. times is an integer value of how many times per day this spell can be cast. type is what type of ability this is - for many creatures this is Innate. e.g. SPELL:Murphy's Law|3|Innate is a valid tag. All the SPELL: tag abilities are aggregated and displayed as 0-level spells for the race of the character, even if it's a special handaxe that has the SPELL: tag. |
SR:formula | This indicates the base spell resistance this feat/class/template/etc. bestows. e.g. SR:TL+10 would indicate a spell resistance of the character's total levels + 10. To add to the base spell resistance you can use BONUS:MISC|SR|x where x is the actual bonus to the spell resistance. |
UDAM:damage_list | e.g. UDAM:1,1d2,1d3,1d4,1d6,1d8,1d10,1d12,2d8 specified by size in the following order: Fine, Diminutive, Tiny, Small, Medium, Large, Huge, Gigantic, Colossal. In class data-files this must be present for each level, not just at the levels where the damage changes. |
UMULT:multiplier | e.g. UMULT:3 indicates that your unarmed critical hit multiplier is x3 (in class data-files it would be x3 at that level). This tag only works when a UDAM: tag is also present on the same level (in class data-files) or on the same object. PCGen cycles through all the UDAM: tags present on a character and picks the best one - it then picks the UMULT: tag value associated with that UDAM: tag to get the unarmed damage multiplier (which may or may not be the best one). |
VISION: | This tag can be used to add modes of vision to a character. The syntax is VISION:flag,type and you can specify as many VISION tags as you want and you can combine them like VISION:flag,type|flag,type|flag,type. The type field is in the form Darkvision (60'). The distance portion can be omitted as in Darkvision and you can use formulas for the distance as in Darkvision (10*TL+INT'). The flag field can be .SET, which means to remove all previous forms of vision from this object and use only this one, or .REPLACE, which means replace this form of vision with this distance only if this form of vision already existed, and .ADD which means add this form of vision and use this distance if it's greater than the previously given distance is less. You can omit the flag field and simply have VISION:x-ray (100') |
WEAPONAUTO:prof1[prereq1]..[prereqn]|prof2|...|profn | these are weapons with which the class is automatically proficient. This can include prof,sizelist to restrict what character sizes get this proficiency. e.g. Kama,SML would mean that only S(mall), M(edium) and L(arge) characters the the Kama proficiency added to their weapon prof list. The size letters possibilities are "FDTSMLHGC" | The prereq values can be any of the PRExxx tags.
It seems like the BONUS: tag will be undergoing a lot of additions, so I'll try to keep
an outline of what all it can do and what kinds of things it affects. First - the files
which can use the BONUS: tag:
class,lst, deity.lst, domain.lst, equipment.lst, equipmod.lst, feat.lst, race.lst and skill.lst.
There are 3 parts to a BONUS: tag
1. Type - general area of what it affects (if %LIST occurs here the list of items associated with
the feat will be searched for a match).
2. Name - exactly what it affects (if Name is LIST then the list of items associated with the
feat will be searched for a match).
3. bonus - applied to total if match for Type and Name is found - which can take several forms:
1, -1, STR, -STR (negate the STR mod, so a -1 str mod would actually become 1, and +1 would become -1),
STR+ (take the greater of 0 or the STR mod),
1MAXSTR (take the greater of 1 or STR mod),
STRMINDEX (take the lesser of STR or DEX mods).
The syntax is described like this: [- ][n/stat[SCORE][.BASE]][MIN/MAX][n/stat[SCORE][.BASE]/+].
Using stat.BASE (eg. CHA.BASE) returns the value of the stat modifier including racial and template modifiers,
but not modifiers from equipment, feats or other sources (essentially, any modifiers from the BONUS tag).
Using statSCORE.BASE (eg. STRSCORE.BASE) returns the value of the stat without any BONUS modifiers.
The tag combinations currently handled (and where if not the whole list of lst files)
At the end of the BONUS: tag you can include some additional tags to restrict the bonuses. You can do this via
the PRExxx tags (exactly as detailed in the section above). For example:
BONUS:STAT|STR|3|PRERACE:Gnome|PREALIGN:0 would add 3 to a character's strength score if they were a
Lawful Good (PREALIGN:0) Gnome. You can include any number of PRExxx tags, all separated with the | character.
In addition to associating PRExxx tags with BONUS: tags, you can also specify the "TYPE" of the bonus via
TYPE=name. Only one TYPE= label per BONUS: tag is allowed. Thus
BONUS:STAT|STR|1|PREALIGN:4|TYPE=Morale would mean that the character would get a +1 to Strength due to
Morale if his alignment were TN. The bonuses which can stack are defined by the contents of the
system\bonusstacks.lst file. BONUS: tags which do not have a TYPE=label parameter are assumed to stack.
NOTE: BONUS: tags only effect numbers... nothing else!
Type | Sub-Type | Notes |
---|---|---|
CHECKS | Comma delimited list of: Fortitude Reflex Willpower | All files. |
CLASS | Comma delimited list of: DEFENSE REPUTATION | DEFENSE in class.lst and feat.lst only. REPUTATION in race, equipment, class and feat.lst. |
COMBAT | Initiative,TOHIT-PRIMARY (bonus for primary weapon only), TOHIT-SECONDARY, SECONDARYATTCKS (how many attacks the secondary weapon gets if a primary weapon is equipped) | All files. |
COMBAT | AC e.g. BONUS:COMBAT|AC|2|TYPE=Enhancement |
All files - only the TYPE that are in bonusstacks.lst stack with one another. |
COMBAT | ATTACKS (# of primary hand attacks), SECONDARYATTACKS (# of off-hand attacks) | All files. |
COMBAT | SECONDARYDAMAGE (Bonus to Off-hand Damage) | All files. |
CCSKILL | LIST where the bonus applies to all cross-class skills selected for this feat | All files. |
CCSKILL | skillname,skillname or STAT=label (where label is STR, DEX, CON, INT, WIS or CHA and the bonus would apply to all cross-class skills based on that stat) | All files. |
CCSKILL | TYPE=label (where label is any possible skill type, such as Knowledge, Craft, Profession, etc.) where the bonus applies to all cross-class skills of the type selected for this feat | All files. |
CSKILL | LIST where the bonus applies to all class skills selected for this feat | All files. |
CSKILL | skillname,skillname or STAT=label (where label is STR, DEX, CON, INT, WIS or CHA and the bonus would apply to all class skills based on that stat) | All files. |
CSKILL | TYPE=label (where label is any possible skill type, such as Knowledge, Craft, Profession, etc.) where the bonus applies to all class skills of the type selected for this feat | All files. |
DAMAGE | TYPE=type where type is a type of weapon (like MELEE or SLASHING) | All files. |
DOMAIN | NUMBER | class.lst, feat.lst - adds to number of domains character has access to. |
DR | type | all files - adds to a type of Damage Reduction. e.g. BONUS:DR|2|4 would add 4 points to your +2 damage reduction |
ESIZE | NUMBER ESIZE only effects the AC and HIDE check bonuses. It does not effect str, carry capacity, etc. For example: BONUS:ESIZE|NUMBER|-1 would decrease your characters size by one category (Small to Tiny or Medium to Small) for AC and HIDE checks calculations. | Class Files. |
SIZEMOD | NUMBER SIZEMOD effects all size related attributes (including str, carry capacity, AC, HIDE, etc) For example: BONUS:SIZEMOD|NUMBER|-1 would decrease your characters size by one category (Small to Tiny or Medium to Small) BONUS:SIZEMOD|NUMBER|+2 would increase your characters size by two categories (Medium to Huge) | Template, Equipment and Class Files. |
HD | MIN (adds to the minimum roll for a hit die) or MAX (adds to the maximum roll for a hit die). (BONUS:HD|MIN|2 for a d8 roll would mean the range would be 3-8, BONUS:HD|MAX|6 on the same d8 would make it a d14.) | |
HP | CURRENTMAX or WOUNDPOINTS | All files. |
LANGUAGES | NUMBER | All Files. Adds to the number of languages the character can learn. |
MISC | SPELLFAILURE | all files - affects total spell failure percent |
MISC | SR | all files - adds to spell resistance |
MOVE | one of LIGHT,LIGHTMEDIUM,LIGHTMEDIUMHEAVY or LIGHTMEDIUMHEAVYOVERLOAD to indicate the largest array of loads or armors for which the bonus applies |
All files. |
PCLEVEL | name - where name is the class which receives the bonus number of levels in terms of spellcasting ability. | class.lst only. |
RANGEADD | PROJECTILE, THROWN eg. RANGEADD|PROJECTILE|10 adds 10 ft. to the range increment of projectile weapons eg. RANGEADD|THROWN|20 adds 20 ft. to the range increment of thrown weapons NOTE: RANGEADD is applied before RANGEMULT |
All files. |
RANGEMULT | PROJECTILE, THROWN eg. RANGEMULT|PROJECTILE|50 adds 50 percent to the range increment of projectile weapons eg. RANGEMULT|THROWN|100 adds 100 percent to the range increment of thrown weapons (i.e. doubles it) |
All files. |
POSTRANGEADD | PROJECTILE, THROWN eg. POSTRANGEADD|PROJECTILE|10 adds 10 ft. to the range increment of projectile weapons eg. POSTRANGEADD|THROWN|20 adds 20 ft. to the range increment of thrown weapons NOTE: POSTRANGEADD is applied after RANGEMULT |
All files. |
SKILL | LIST where the bonus applies to all skills selected for this feat | All files. |
SKILL | skillname,skillname or STAT=label (where label is STR, DEX, CON, INT, WIS or CHA and the bonus would apply to all skills based on that stat) | All files. |
SKILL | TYPE=label (where label is any possible skill type, such as Knowledge, Craft, Profession, etc.) where the bonus applies to all skills of the type selected for this feat | All files. |
SKILLRANK | skillname,skillname where skillname is the name of the skill(s) for which the bonus ranks are accrued. | All files. |
SKILLMAXRANK | skillname,skillname where skillname is the name of the skill(s) whose maximum rank is adjusted by the bonus. | All files. |
SKILLPOINTS | NUMBER adds to the number of skill ranks gained when the character gains a level. Not retroactive. |
All files. |
SPELLCAST and SPELLKNOWN | TYPE=type;LEVEL=num or CLASS=name;LEVEL=num This means that BONUS:SPELLCAST|CLASS=Wizard;LEVEL=1|1 means the character can cast 1 more level 1 Wizard spells each day. If combined with the CHOOSE:tag (see discussion about this after this table) you can specify CLASS=%;LEVEL=% and the appropriate values will be inserted. Additionally, at the end of the mod for the BONUS tag you can append .LOCK which means that the ending value for the bonus is locked in place: so STR.LOCK would be calculated an converted to an actual number and stored that way instead of letting the value fluctuate as the character's STR bonus changes. | All files. |
SPELLCASTMULT | TYPE=type;LEVEL=num or CLASS=name;LEVEL=num This means that BONUS:SPELLCASTMULT|TYPE=Arcane;LEVEL=2|2 means the character can cast twice as many level 2 Arcane spells each day. | All files. |
SPELL | DC | All files. |
STAT | one of STR,DEX,CON,INT,WIS,CHA (you can append a + to any of these to indicate positive only values) or BASESPELLSTAT (you get the bonus on the associated class' base spell stat - so INT for Wizards, etc. only with regards to getting bonus spells and determining DCs) or CAST=label (label is STR, DEX, CON, INT, WIS or CHA) which would add to the specified stat to determine bonus spells. | All files. |
TOHIT | TOHIT | All files. |
VAR | variablename | All Files - where variablename is something that has been defined in the DEFINE: tag. see DEFINE discussion below. |
VISION | type (e.g. Darkvision) | All files. Adds specified bonus range to type of vision only if the character has that type of vision. |
WEAPON | DAMAGE,TOHIT | All files. |
WEAPONPROF=profname where profname is the proficiency with which the bonus occurs | DAMAGE,TOHIT,CRITMULTADD (add to crit multiplier), CRITRANGEDOUBLE (multiples of crit range), CRITRANGEADD (add to crit range) | All files. |
Special CHOOSE: tag which can be used with the ADD:LIST tag in class.lst and BONUS:SPELLCAST and BONUS:SPELLKNOWN
The syntax works like this:
CHOOSE:SPELLLEVEL|num|label|min_level|max_level
SPELLLEVEL is the only one that works with ADD:LIST currently.
num is the number of choices the character can make from the list. This can be a number or a Stat(STR, DEX, etc.).
label is either CLASS=name (e.g. CLASS=Wizard) or TYPE=name (TYPE=Arcane)
min_level is a number indicating the lowest level of spells from the class(es) specified to
be included in the list
max_level is a number indicate the highest level of spell - or it's MAXLEVEL to indicate the maximum
level of spells a character of that level in the selected class can cast. To either a number or
MAXLEVEL you can append a .A to indicate that only 1 of the highest-level spell indicated can be chosen.
e.g. 2.A would mean only 1 2nd level spell.
You can include multiple combinations of the |label|min_level|max_level portions, so
CHOOSE:SPELLLEVEL|2|CLASS=Wizard|0|MAXLEVEL|TYPE=Divine|1|3
would present a list of the character's castable Wizard levels of spells (e.g. Wizard 0 Wizard 1 Wizard 2 for a 5th level Wizard)
and Cleric 1 Cleric 2 Cleric 3 if the character had Cleric as a class.
CHOOSE:COUNT=1|STAT|Con[tab]BONUS:HP|CURRENTMAX|(%VAR-CON)
will allow the selection of a stat (excluding constitution) and then use that stat modifier to adjust the HP total. %VAR is replaced with the value of the stat modifier before calculations.
DEFINE|variablename|formula
For example: Clerics have DEFINE:Turn Undead|3+CHA
Clerics use this to determine how many times they can turn undead (3 + their charisma modifier).
You can define any variable you want - if it's defined more than once where there's a difference in the
formula (say the Cleric adds a Undead Hunter class that can turn 5+CHA, or DEFINE:Turn Undead|5+CHA
then the variable Turn Undead is defined for that character twice. The one that's used depends on
the character sheet token to output the result.
How can I get the BONUS: tag to work with DEFINE: variables?
BONUS:VAR|Turn Undead|3 is used with the Extra Turning feat in phbfeat.lst, and it adds 3 to the
DEFINE:Turn Undead|3+CHA formula. So BONUS:VAR|variablename|formula adds to DEFINE:variablename|formula2.
What options do I have with the formula?
Do not use any spaces. You can use parentheses (nest them too!), + for add, - for minus, / for divide
and * for multiply. You can also use STR, DEX, CON, INT, WIS and CHA for the appropriate stat's
modifier (as in the 3+CHA example). In the class.lst files you can use CLASS=name to get a 1 if they have the class or 0 if not, CL=name to represent that class's
level, and in any file you can use TL to represent the character's total level. Any file can use
SIZE to refer to their size (Fine=0, Dim=1, Tiny=2, Small=3, Medium=4, Large=5, Huge=6, Gargantuan=7 and
Collosal=8), and MOVEBASE to refer to their racial base movement rate.
Can I use any conditional logic?
Glad you asked! Yes... you can use IF THEN ELSE logic. e.g. BONUS:STAT|STR|.IF.formula1.label.formula2.THEN.formula3.ELSE.formula4
would compare the results of formula1 and formula2 using the label, which can be one of EQ (equals), NEQ (not equals), LTEQ (less than
equals to), LT (less than), GT (greater than) or GTEQ (greater than equal to), and if it's true then return a value of formula 3, otherwise
return a value of formula4. So BONUS:STAT|STR|.IF.TL.GTEQ.4.THEN.5.ELSE.1 would mean that if a character has 5 or more total levels, then
they would get a +5 to their strength, otherwise they get a +1.
VARDEFINED:varname is useful for adding to a variable only if it has been DEFINE'd. As in:
BONUS:VAR|Sneak Attack|.IF.VARDEFINED:Sneak Attack.EQ.0.THEN.0.ELSE.(TL/5)
which would add 1 to the Sneak Attack dice for every 5 character levels.
Can I apply any restrictions to the bonus formulas?
Yup - after the BONUS: tag's 3 fields (type, subtype, mod) you can attach any number of PRExxx tags. This way it works just like it does for
prestige classes, or prereqs for feats, etc. e.g. BONUS:SKILL|Climb|4|PREFEAT:1,Alertness|PRERACE:Halfling would give the character a +4
on their Climb skill if they were a Halfling with the Alertness feat.
Are there any additional operators allowed in the formula?
If you have formula_1MINformula_2 the result will be the lesser of the two, same if you have
formula_1MAXformula_2 you'll get the max of the two. At the end of the formula you can include
.INTVAL to truncate any decimals at that point - so (3+2)/2.INTVAL will result in 2.5 which will
be truncated to 2.
What order are the math operations done in?
Innermost parentheses are done first, but once all parentheses have been evaluations, everything
is done from left to right, so 3+4/2 equals 3.5 since it's basically 7/2. If you really want natural
ordering (* and / done first) you can specify 3+(4/2).
Are there any 'special' defined variables?
So far there is: BAB, REFLEXBASE, WILLBASE and FORTBASE. To use a formula instead of the ones defined by "G", "M" or "B", use an
"O" and then DEFINE: the formula. e.g. If a class gets +2 to hit per level, you could use "O" for the attack rate, and then DEFINE:BAB|2*CL
to get the classes base attack bonus.
How can I display the results of the formula in a character sheet?
Use a token like |VAR.variablename[.INTVAL][.MINVAL]|. [.INTVAL] means that .INTVAL is
an optional argument, which displays the result with no decimal points (as an integer), default
is with one decimal place of precision. .MINVAL should be included if instead of the default maximum
of multiple defines, you want the minimum. For the Cleric/Undead Hunter class above, |VAR.Turn Undead|
would normally return 5.0 (if the CHA bonus was 0), |VAR.Turn Undead.MINVAL.INTVAL| would return 3.
One of my hopes is that users will change lst files for their own purposes. If they add something they really like, or think others would like to have access to (e.g. Prestige classes, races, feats, etc.) they can post their modified lst files to www.yahoogroups.com/group/pcgen. There's a growing list of these campaign-oriented lst files growing in the Campaign+Central folder. Check it out - and make your own additions! If you notice any errors or omissions in any existing lst files, you can go ahead and report it to the yahoogroup, but it would also be nice if you could fix it and upload the fixed file to the Campaign+Central folder so others can take advantage of your fix. I like putting users to work. :)
Suppose you have a house rule that modifies something... a common example is a house rule
where Skill Focus grants a +3 instead of a +2 to the chosen skills. Instead of having to create
your own Skill Focus feat, you can modify the existing one. Create a source file (pcc) and
place it in a new directory (must be a subdirectory of PCGen's data directory so PCGen will find
it and list it when you launch PCGen). We'll call our example file house.pcc and place it in
a directory named house which is a subdirectory of data. In it we will place the following
lines:
CAMPAIGN:My House Rules
RANK:9
GAME:DnD
SOURCE:myself
FEAT:housefeat.lst
Then in the same directory create a file named housefeat.lst which contains the following:
Skill Focus.MOD[tab]BONUS:SKILL|LIST|1
and that will effectively tell PCGen to modify the existing Skill Focus feat and simply add a
BONUS:SKILL|LIST|1 to it. Since the existing one already grants a +2, this is an additional +1
adding to a total of +3.
What files is this available in, you ask? Good question! Just about all of them (class, deity, domain,
equipment, equipmentmodifier, template, feat, language, skill, race, spell and weaponprof. You can just include the tags you
want to override - though there are 2 important caveats:
1. in all files you do not specify the required fields (the first few that don't have tags)
2. tags that can be included any number of times (like BONUS: ADD: FEAT: etc.) you can't remove
previously existing entries - you can only add new ones.
Special Case: .CLEAR will empty out the old entries for that object. It is currently supported as PRE:.CLEAR (NOT PRExxx) , LANGAUTO:.CLEAR and SA:.CLEAR for races,
TEMPLATE for templates, and KNOWNSPELLS: for classes (but as CLEAR instead of .CLEAR). Templates also has a special .CLEARALL, .CLEARTEMPLATES, and .CLEARRACIAL in it's LANGAUTO tag.
Example:
Elf.MOD SA:.Clear SA:Pixie Dust 2/day LANGAUTO:.CLEAR LANGAUTO:Pixie
Creates and elf race without any of the old special abilities or languages which has pixie dust 2/day and speaks Pixie.