These are the PCGen Campaign Configuration files. Here you can specify what you want included in this campaign. Note - you cannot anywhere, other than immediately after the tag, use a colon (:) in the CAMPAIGN tag. Doing so will cause PCGen to report errors and not load correctly. It is recommended practice that your pcc files be located in the same directory as your list files, the notable exception being if you have multiple directories, with multiple list files, then you locate a "master" pcc file in the main directory. This will be explained below in the TAGs section.
This page is divided into three sections
Source and Header Information Tags - are used to provide information about the dataset
Main Body Tags - are used to load the specific .lst files which make up the dataset.
Other .pcc file tags - are used to provide additional functionality.
NOTE: The first three tags, CAMPAIGN, GAMEMODE and TYPE, are presented first out of alphabetical order to emphasize that they are required tags which must be the first three lines in a .pcc file.
Tag Name: CAMPAIGN:x
Variables Used (x): Text (Name of source)
What it does:
This MUST be the first line in the file. The standard format used is Company Short Name (Foo) - Campaign Name - Name of material
Example:
CAMPAIGN:FGI - FooB Core Rulebook I - FHB
WARNING: The use of the ampersand (&) sign will cause significant problems with PCGen, so recommended usage is to replace with the word "and" or the letter "n" to avoid this.
Tag Name: GAMEMODE:x
Variables Used (x):Text (Name of GameMode)
What it does:
This MUST be 2nd in the file. This tells PCGen what genre this is in PCGen and must be entered exactly as shown.
Examples:
GAMEMODE:3e
Tag Name: TYPE:x.x
Variables Used (x):Text (Source types)
What it does:
This MUST be third in the file. The tag elements are as follows:
Example:
TYPE:Foo Games.Core Rules.Core
Tag Name: COPYRIGHT:x
Variables Used (x):Text (Copyright information)
What it does:
Used to display copyright information when a source is single clicked on, in the source selection page, upon program start.
Sources included with PCGen should have the copyright information from section 15 of the Open Game License included in the source reproduced verbatim.
An additional entry should be made listing all who worked on the PCGen conversion in the format shown below.
Example:
COPYRIGHT:PCGen dataset conversion for "X Book" Copyright XXXX-YYYY,
PCgen Data Team including, but not limited to, "Original Author", "Any secondary authors".
This is the Sec. 15 that should be added to all sources going into PCGen. X Book should be the name of the source, XXXX should be the year the dataset was created and YYYY is the current year. Please list all contributors to the dataset.
COPYRIGHT:Foo Reference Document © 2003 Foo Games, Inc.
Note(s):©
- This code coverts to a copyright symbol (©) when put in the text of a COPYRIGHT tag.
Tag Name: HELP:x
Variables Used (x):Text (Internet address)
What it does:
Provides an internet link to a web page for help with the source. The link can be accessed in the GUI by right clicking the source name in the source tab and selecting "Product Help...".
Example:
HELP:http://www.foogames.com/producthelp.html
Tag Name: INFOTEXT:x
Variables Used (x):Text (Information)
What it does:
Provides Text information that is displayed in the Information Window on the Source Tab when the source material is selected.
Example:
INFOTEXT:This pcc loads all the Foo source materials minus the FooWorld races
Deprecated 5.4
*** Deprecated 5.4 - Remove 6.0 - Use ISOGL tag instead.
Tag Name: ISD20:x
Tag Name: ISMATURE:x
Variables Used (x):Boolean (YES or NO)
What it does:
This tag is so that we have the ability to include datasets based upon sources of a
more mature nature. If ISMATURE:YES
then the following info gets inserted into a pop-up
window "This dataset contains content of a mature nature. User discretion is advised." This tag is
optional.
Examples:
ISMATURE:YES
Causes a pop-up to fire saying "This dataset contains content of a mature nature. User discretion is advised."
ISMATURE:NO
Does not cause a pop-up to fire saying "This dataset contains content of a mature nature. User discretion is advised."
Tag Name: ISOGL:x
Variables Used (x):Boolean (YES or NO)
What it does:
Used to indicate if sources are OGL compliant. If ISOGL:YES
then its COPYRIGHT info gets inserted into the OGL license. This tag is optional.
Examples:
ISOGL:YES
ISOGL:NO
*** New 5.3.3
Tag Name: ISLICENSED:x
Variables Used (x):Boolean (YES or NO)
What it does:
Used to indicate if sources have a special license, and activated the LICENSE tag, which will display information about the license to the end-user.
Examples:
ISLICENSED:YES
ISLICENSED:NO
*** Deprecated <5.8.1 - Remove 6.0 - Use GAMEMODE tag instead.
Tag Name: GAME:x
Tag Name: GENRE:x
Variables Used (x):Text (Genre)
What it does:
This tells PCGen what genre this is.
Eventually This will be used to filter sources.
Example:
GENRE:Fantasy
*** New 5.3.3
Tag Name: LICENSE:x
Variables Used (x):Text (License information)
Variables Used (x):FILE=Text (HTML file)
What it does:
Displays special license information in a pop-up at time of source load. Requires a ISLICENSED:YES
tag to be active.
Examples:
LICENSE:This set included with special permission from Foo Games
Would display the text in a nice box with other licenses.
LICENSE:FILE=foolicense.html
Doing a FILE=
allows PCC to point to an HTML formatted file, which will display in a box of its own.
Tag Name: RANK:x
Variables Used (x): Number (Rank)
What it does:
Sets the priority in loading .pcc files. 1 is the highest priority and 9 is the lowest priority for loading .pcc files.
When PCGen encounters certain objects with duplicate names from different sources (such as Classes) the object in the source with the highest priority rank will be loaded while the duplicate will generate an error message (and will not be loaded).
Example:
RANK:1
This pcc file is given first priority when loading.
Officially sanctioned use of ranks:
RANK:1 - Core rules
RANK:2 - Campaign settings
RANK:3 - Supplements
RANK:4 - Web enhancements
RANK:5 - 3rd party campaign books
RANK:6 - 3rd party supplements
RANK:7 - 3rd party web enhancements
RANK:8 and 9 - Homebrew
Tag Name: SETTING:x
Variables Used (x):Text (Setting)
What it does:
This tells PCGen what the setting is (if there is one).
Eventually This will be used to filter sources.
Example:
SETTING:Ravenloft
Tag Name: BOOKTYPE:x
Variables Used (x):Text (Book type)
What it does:
This tells PCGen what the book type is.
Eventually This will be used to filter sources.
Example:
BOOKTYPE:Supplement
*** Updated 4.3.10
Tag Name: SOURCELONG:x
Variables Used (x):Text (Long name of source)
What it does:
The full product/book name.
Example:
SOURCELONG:Core Rulebook I (Foo Handbook)
The long source name for this file is "Core Rulebook I (Foo Handbook)".
*** Updated 4.3.10
Tag Name: SOURCESHORT:x
Variables Used (x):Text (Short name of source)
What it does:
The short product/book name.
Example:
SOURCESHORT:FHB
The short source name for this file is "FHB".
*** Updated 4.3.10
Tag Name: SOURCEWEB:x
Variables Used (x):Text (Web address)
What it does:
The URL that points directly to this product/book.
Example:
SOURCEWEB:http://www.foogames.com/product.php?products=654321
The web site for this source is "SOURCEWEB:http://www.foogames.com/product.php?products=654321".
*** New 5.9.5
Tag Name: SOURCEDATE:x
Variables Used (x):Date (Release date of source in format YYYY-MM)
What it does:
Allows PCGen to determine which of two sources is newer. A source without this tag will be considered older than a source with a set date. There is a preference which must be checked to activate this feature. In Preferences/PCGen/Sources check the box for "Allow newer sources to override duplicate object from older sources".
Example:
SOURCEDATE:2005-12
This source was published in December 2005.
*** New 4.3.10
Tag Name: PUBNAMELONG:x
Variables Used (x):Text (Long name of publisher)
What it does:
The Publisher's full name.
Example:
PUBNAMELONG:Foo Games, Inc.
*** New 4.3.10
Tag Name: PUBNAMESHORT:x
Variables Used (x):Text (Short name of publisher)
What it does:
The Publisher's abbreviated name (usually their initials).
Example:
PUBNAMESHORT:FGI
*** New 4.3.10
Tag Name: PUBNAMEWEB:x
Variables Used (x):Text (Web link)
What it does:
The Publisher's website/URL.
Example:
PUBNAMEWEB:http://www.foogames.com/index.php
Tag Name: SHOWINMENU:x
Variables Used (x):Boolean (YES or NO, TRUE or FALSE also accepted)
Example:
SHOWINMENU:YES
What it does:
When set to YES, this tag tells PCGen to display this campaign in the Settings -> Campaigns menu. When selected, it will unload all other campaigns, and load this campaign. It will also set any options listed in the PCC file. It will appear in a submenu of its gamemode.
The function of all the main body tags is tell PCGen to load a specific file. There are three ways of doing this.
The first and most common is by a relative file path. The path is relative to the .pcc file so if the file and the .pcc file that calls it are in the same directory then all that is needed is the name of the file.
The second method is a special absolute path which is useful if you need to call a specific file from a known location in the data folder. by using an '@' symbol and a file path PCGen will locate the file by looking in the data folder by the path specified. In the same way you can use the '&' symbol to access a file path in the vendor data directory.
The third method is by loading data files over the internet. To do this you must set PCGens preferences to allow this. You can then create a .pcc file which uses web address instead of file paths to load source files.
Examples:
CLASS:fhbclasses.lst
Loads the file fhbclasses.lst which is in the same directory as the .pcc file calling it.
Examples:
SPELL:@/d20ogl/srd/srdspells.lst
Loads the file from a path relative to the data folder.
Examples:
CLASS:&/complete_monkey/complete_monkey_classes.lst
Loads the file from a path relative to the vendor data folder.
Examples:
CLASS:http://www.foogames.com/fhandbook/fhbclasses.lst
Loads the source file from a web site.
WARNING: Do not use backslashes (\) for directory separators in file paths, use only forward slashes (/). backslashes work correctly on Windows systems but cause problems on Unix flavored systems such as Linux and Max OS X.
IMPORTANT NOTE: The following tags can (and it is recommended for equipment)
have multiple lines.
The names of the list files in the example column are also only suggestions.
To include the same type of files from the same directory on the same line
you would separate each file to be loaded (of the appropriate type, i.e., fhbarmorshields.lst|fhbequip|etc
).
Sometimes, not all of these tags are required by a source material.
If a tag is not required, it cannot be left blank, it must be commented out or deleted entirely.
These tags only tell PCGen where to go to get the information it needs, it points it to the right spot.
Each list file will be fully explained below, separated by the list file name, with a full list of the
tags that can be used in each one.
*** New 5.11.1
Tag Name: ABILITY:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the Ability list file specified
Example:
ABILITY:specialabilities.lst
Tag Name: BIOSET:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the biosettings list file specified
Example:
BIOSET:biosettings.lst
Tag Name: CLASS:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the classes list file specified
Example:
CLASS:fhbclasses.lst
Tag Name: COMPANIONMOD:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the companion modifiers list file specified
Example:
COMPANIONMOD:foocompanionmods.lst
*** New 5.9.7
Tag Name: COVER:x
Variables Used (x):Text (Image file path)
What it does:
Tells PCGen to load the image file specified. The image is displayed in the Source Tab in the Source Info panel when the dataset is selected.
Example:
COVER:foohandbookcover.jpg
Tag Name: DEITY:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the deities list file specified
Example:
DEITY:foodeities.lst
Tag Name: DOMAIN:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the domains list file specified
Example:
DOMAIN:foodomains.lst
Tag Name: EQUIPMENT:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the equipment list file specified
Examples:
EQUIPMENT:fooallequip.lst
EQUIPMENT:fooequiparmorsshields.lst
Tag Name: EQUIPMOD:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the equipment modifiers list file specified
Example:
EQUIPMOD:fooequipmods.lst
Tag Name: FEAT:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the feats list file specified
Example:
FEAT:foofeats.lst
Tag Name: KIT:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the starting kits list file specified
Example:
KIT:foostartingkits.lst
Tag Name: LANGUAGE:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the languages list file specified
Example:
LANGUAGE:foolanguages.lst
Tag Name: PCC:x
Variables Used (x):Text (File path)
What it does:
Use to include other pcc files. It is recommended that you include this tag before any tags that load LST files. When including data 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:
PCC:../peerdirectory/myothersource.pcc
), or;PCC:@/foogames/sourcebooks/foo/core/fhandbook/fhb.pcc
).Using the special character @
indicates that you want to start the file search from the root data directory of PCGen instead of the directory where the current PCC file is located.
WARNING: Do not use backslashes (\) for directory separators in file paths, use only forward slashes (/). backslashes work correctly on Windows systems but cause problems on Unix flavored systems such as Linux and Max OS X.
Example:
PCC:../foodir/foobook.pcc
Tag Name: RACE:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the races list file specified
Example:
RACE:fooraces.lst
Tag Name: SKILL:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the skills list file specified
Example:
SKILL:fooskills.lst
Tag Name: SPELL:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the spells list file specified
Example:
SPELL:foospells.lst
Tag Name: TEMPLATE:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the template list file specified
Example:
TEMPLATE:footemplates.lst
Tag Name: WEAPONPROF:x
Variables Used (x):Text (File path)
What it does:
Tells PCGen to load the weapon proficiencies list file specified
Example:
WEAPONPROF:fooweapprofsimple.lst
The tags below do not provide information about the dataset nor do they load files by themselves but instead provide additional functionality.
Tag Name: LSTEXCLUDE:x|x
Variables Used (x):Text (File names)
What it does:
This is a | (pipe) delimited tag which allows you to customize which LST files are loaded. This must be before PCC/LST file INCLUDE statements if used. All of the files listed 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 "|" (pipe) character. The full path to the file is needed unless the .pcc file containing the LSTEXCLUDE tag is in the same directory as the files to be excluded.
Examples:
LSTEXCLUDE:fooraces.lst
LSTEXCLUDE:fooraces.lst|foogods.lst
LSTEXCLUDE:@d20ogl/foogames/foohandbook/fooclasses.lst
Tag Name: INCLUDE:x
Variables Used (x):LST object name
Variables Used:CLASS, COMPANIONMODS, DEITY, DOMAIN, EQUIPMENT, EQUIPMOD, FEAT, KIT, LANGUAGE, RACE, SKILL, SPELL, TEMPLATE, WEAPONPROF
What it does:
This would first load all the races from the fhbrace.lst
file,
then add to that list all the races defined in myrace.lst
but then include only the Happy Elf class from myrace.lst
.
The resulting list of races would then be available for character creation.
The INCLUDE tag will not prevent other .pcc files from loading the same LST files.
Example:
RACE:fhbrace.lst|myrace.lst|(INCLUDE:Happy Elf)
IMPORTANT NOTE: Using INCLUDE for the same file on multiple lines will cause only the first line with INCLUDE to be processed.
Tag Name: EXCLUDE:x
Variables Used (x):LST object name
Variables Used:CLASS, COMPANIONMODS, DEITY, DOMAIN, EQUIPMENT, EQUIPMOD, FEAT, KIT, LANGUAGE, RACE, SKILL, SPELL, TEMPLATE, WEAPONPROF
What it does:
This would first load all the races from the fhbrace.lst
file
and exclude the Fooman and Foowarf from it, then add to that list all the races defined in myrace.lst
.
The resulting list of races would then be available for character creation.
The EXCLUDE tag will not prevent other .pcc files from loading the same LST files.
Example:
RACE:fhbrace.lst|(EXCLUDE:Fooman|Foowarf)|myrace.lst
*** New 5.9.1
Tag Name: HIDETYPE:x|y|y
Variables Used (x):EQUIP (Equipment Types will be hidden)
Variables Used (x):FEAT (Feat Types will be hidden)
Variables Used (x):SKILL (Skill Types will be hidden)
Variables Used (y):Text (Type to be hidden)
What it does:
This tag will prevent the listed Types from appearing within the user interface while allowing it to be used internally by PCGen. This is useful when types need to be added for internal purposes but it is not desirable to have the type show in the GUI. HIDETYPE will effect all sources loaded but only when the .pcc file it is in is loaded.
Example:
HIDETYPE:EQUIP|Starting|SpecialTools
The Types Starting and SpecialTools will not be visible in the user interface. The equipment type "Starting" is hardcoded into the feature which provides free clothing at first level.
Tag Name: OPTION:x
Variables Used (x):Text (Option)
What it does:
Specifies an option which should be set when the campaign is loaded. The format is the same as in the options.ini
file. The user can stop these options from being set by unselecting the PCGen -> Sources -> Allow options to be set by sources setting in the Preferences dialog. Note: Only the pcgen.options lines can be used. pcgen.files settings are not valid for this tag.
Examples:
OPTION:hpMaxAtFirstLevel=true
OPTION:pcgen.options.maxWandSpellLevel=4
Tag Name: REQSKILL:x
Variables Used (x):ALL or REQSKILL:ALL or UNTRAINED or REQSKILL:UNTRAINED or Text
What it does:
A "|" (pipe) delimited list can include:
UNTRAINED
- all untrained skills will be automatically included on any character as if the skill had the REQ tag (see skill.lst
for details);ALL
- all skills will have the REQ tag, or;If this tag is included it should be after the SKILL:
tag.
Example:
REQSKILL:Alchemy|Bluff|Diplomacy|etc