# PCC files

The PCGen Campaign Configuration files are where you specify what you want included in your campaign. It is the PCGen team's recommended practice that your pcc files be located in the same directory as your list files with the notable exception being if you have many files spread between multiple directories. In this situation you should locate a "master" pcc file in the main directory.

This page is divided into two sections:

Campaign File Building 101

This section covers a few basic points to keep in mind when building your own PCC file.

PCC File Tag List

This section covers the syntax and function provided by the tags used in the PCGen Campaign (PCC) files.

## Campaign File Building 101

#### Notes on File Loading Order

LST file loading order is enforced by PCGen's loading system so it is important to keep the following issues in mind when building a custom PCC file:

- PCC files will be loaded in the order of their appearance.
- All LST files (e.g. Ability, Deity, Equipment, etc., but excluding embedded PCC files.) will be loaded in the order listed in the PCC file with the exception that Ability Category files will be loaded before Ability files.
- Embedded PCC files, i.e. those contained within other PCC files, will be loaded after the files contained in the embedding PCC file. As an example:
  - Given two PCC files, a.pcc and b.pcc, each containing an embedded PCC file aa.pcc and ba.pcc respectively, the order of processing is as follows:
    - All LST files contained in a.pcc are loaded with any Ability Category files being loaded before Ability files.
    - All LST files contained in aa.pcc are loaded with any Ability Category files being loaded before Ability files.
    - All LST files contained in b.pcc are loaded with any Ability Category files being loaded before Ability files.
    - All LST files contained in ba.pcc are loaded with any Ability Category files being loaded before Ability files.

#### Global Bonuses in PCC Files

Global `BONUS` tags can be included within a PCC file and will apply the relevant bonus to every character created while that PCC file is loaded, but it should be noted that this is the case only if the PCC is loaded directly. Bonuses contained within embedded PCC files will NOT be applied.

Note: You cannot use a colon (:) in the PCC file anywhere other than immediately after LST tags, e.g. `CAMPAIGN:`, etc. Doing so will cause PCGen to report errors and not load correctly.

Additional information on building your own Campaign files can be found in LST File Classes Lesson #1: The PCC File: Campaign Information and Lesson #2: The PCC File: Basic File Types.

## PCC File Tag List

This section is divided into three sub-sections:

Data Set and Campaign 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.

### Data Set and Campaign Information Tags

The first two tags in the PCC file should be `CAMPAIGN` and `GAMEMODE`. These are presented below out of alphabetical order to emphasize that they are required tags which must be the first two 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
- 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.

NOTE: The comma (,) should not be used in campaign names.

Example:

`CAMPAIGN:FGI - FooB Core Rulebook I - FHB`

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.
- The `GAMEMODE` tag is case-sensitive.

Examples:

`GAMEMODE:3e`

This PCC file uses the Third Edition SRD gamemode.

*** Updated 6.1.1

Tag Name: BOOKTYPE:x|x

Variables Used (x):Text (Book type)

What it does:

- This tells PCGen what the book types are.
- The book types identified by this tag can be used as a prerequisite for loading data sets. See the PRECAMPAIGN tag docs for more information.

Example:

`BOOKTYPE:Supplement`

The source data set that this PCC file represents is a "Supplement".

`BOOKTYPE:Supplement|Traits`

The source data set that this PCC file represents is a "Supplement" and also provides the basics for Traits rules.

Tag Name: COPYRIGHT:x

Variables Used (x):Text (Copyright information)

What it does:

- Used to display copyright information when a source is selected in the source selection page.
- 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 &copy 2003 Foo Games, Inc.`

Note(s):`&copy` - This code coverts to a copyright symbol (©) when put in the text of a COPYRIGHT tag.

*** New 5.13.9

Tag Name: DESC:x

Variables Used (x): Text (Information)

What it does:

- Provides text information that is displayed in the Source Information Panel, on the Source Tab, when the source material is selected.
- This tag shall be used only once per pcc.
- This text will appear just below the cover image (if there is one) or the CAMPAIGN header (if there is no cover image).
- The text is a short description of the selected source such as one might find at amazon.com or other book/pdf seller.
- Functionally this is the same as INFOTEXT except where it appears in the Source Info panel.

Example:

`DESC:This pcc loads all the Foo source materials minus the FooWorld races`

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`

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.
- Multiple `INFOTEXT` tags may be used in a PCC file with each `INFOTEXT` tag starting a new line of text.

Example:

`INFOTEXT:This pcc loads all the Foo source materials minus the FooWorld races`

Displays the text "This pcc loads all the Foo source materials minus the FooWorld races"

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."

Default Value:

`NO`

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`

Default Value:

`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`

Default Value:

`NO`

*** 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.

*** Updated 6.01.02

Tag Name: PRECAMPAIGN:x,y,y

Variables Used (x): Number (Number of items required to pass)

Variables Used (y): Text (Data set name as set by the CAMPAIGN tag).

Variables Used (y): BOOKTYPE=Text (Matches data set BOOKTYPE tag).

Variables Used (y): INCLUDES=Text (Data set name as set by the CAMPAIGN tag that is included in any selected campaign or one of its included sources).

Variables Used (y): INCLUDESBOOKTYPE=Text (Data set BOOKTYPE of any selected campaign or one of its included sources).

What it does:

- This tag is used as a stand alone tag in .pcc files as well as an appended tag on Main Body Tags.
- `PRECAMPAIGN` sets specific data sets as required or prohibited for the associated data set to be loaded. In the Source tab a data set which requires another data set will appear in red until that set is added to the right load pane.
- When the tag is used inversely (i.e. !PRECAMPAIGN) a data set which prohibits itself from being used with another data set will appear in red when that data set is added to the right load pane.
- Incompatible data sets will not load together. When incompatible data sets are selected in the right hand pane (i.e. one or more appears in red) an error message will be displayed if you click the load button.
- Enclosing the data set name or `BOOKTYPE` sub-tag and text in square-brackets ([]) will exclude the relevant data sets from the prerequisite evaluation.
- This tag is a global tag and so may be used in any LST file to set prerequisites for specific data sets. For more information see the Global PRExxx page.

Example:

`PRECAMPAIGN:1,3.5 RSRD,3.5 RSRD Basics`

Will cause a data set to be loaded only if the "3.5 RSRD" or the "3.5 RSRD Basics" data set is loaded.

`!PRECAMPAIGN:1,3.5 RSRD`

Will prohibit the loading of the associated data set if the "3.5 RSRD" data set is loaded.

`PRECAMPAIGN:1,3.5 RSRD Basics`

Will cause the associated data set to be loaded only if the "3.5 RSRD Basics" data set is loaded.

`PRECAMPAIGN:1,BOOKTYPE=Core,[3.5 RSRD Basics]`

Will cause the associated data set to be loaded only if the a "Core" data set is loaded but does not include the "3.5 RSRD Basics" data set in the evaluation.

`!PRECAMPAIGN:1,BOOKTYPE=Core,[3.5 RSRD Basics]`

Will cause the associated data set to be loaded only if the a "Core" data set other than the "3.5 RSRD Basics" data set is loaded.

`PRECAMPAIGN:1,INCLUDES=3.5 RSRD Basics`

Will cause a data set to be loaded only if the "3.5 RSRD Basics" data set is loaded or a data set that includes the "3.5 RSRD Basics" set is loaded.

`PRECAMPAIGN:1,INCLUDESBOOKTYPE=Core`

Will cause the associated data set to be loaded only if the a "Core" data set is loaded or a set that includes a "Core" data set is loaded.

*** 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`

*** Updated 5.12 RC3

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).

It is recommended that all RANK numbers should be expressed a positive numbers as negative numbers will load before the positive.

Defaults to 9 if no RANK is set in the PCC file.

Example:

`RANK:1`

This pcc file is given first priority when loading.

Officially sanctioned use of ranks:

RANK:0 - Whatever has to be loaded before the Core

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: 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.

*** 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 5.17.4

Tag Name: STATUS:x

Variables Used (x): RELEASE (Default)

Variables Used (x): ALPHA

Variables Used (x): BETA

Variables Used (x): TESTONLY

What it does:

Defines the development status of a dataset.

Example:

`STATUS:RELEASE`

This dataset has been approved as release quality.

`STATUS:ALPHA`

This dataset is a work in progress, use it at your own risk.

`STATUS:BETA`

This dataset is finished, but not yet approved as release quality.

`STATUS:TESTONLY`

This data is set of internal testing use only.

Tag Name: TYPE:x.x - See global TYPE for more information

*** New 5.13.9

Tag Name: URL:x|y|z

Variables Used (x): Text (E-commerce site name. i.e. Amazon, DriveThruRPG, etc.)

Variables Used (x): WEBSITE

Variables Used (x): SURVEY

Variables Used (y): Text (Hypertext link)

Variables Used (z): Text (Link description)

What it does:

- Specifies the URL for hyper-links that will be displayed in the Source Tab in the Source Info panel when the dataset is selected.
- Multiple HYPERLINK tags may be entered into the *.pcc file.

Example:

> `URL:Barcommerce|http://www.barcommercesite.com/product_info.php?products_id=12345&affiliate_id=54321|Support PCGen by buying this source now!`

> Displays the text "Support PCGen by buying this source now!" as an active link to the URL "http://www.foobarcommercesite.com/product_info.php?products_id=12345&affiliate_\id=5432".

> `URL:WEBSITE|http://www.foopublisher.com|Visit FooPublishers website.`

> Displays the text "Visit Foopublishers website" as an active link to the website "http://www.foopublisher.com"

> `URL:SURVEY|http://www.pcgenubersite.com|Help PCGen out by visiting our user feedback page and letting us know what you think.`

> Displays the text "Help PCGen out by visiting our user feedback page and letting us know what you think!" as an active link to the website "http://www.pcgenubersite.com"

### Main Body Tags

The function of all main body tags is to tell PCGen to load a specific file as part of that campaign file. There are three ways of doing this, each dependant on where the file to be loaded can be found relative to the PCC file.

#### Direct Loading

The first and most common is by a relative file path assuming a starting point in the folder where the PCC file is stored. If the file to be loaded and the PCC file that calls it are in the same directory then all that is needed is the name of the file.

Examples:

`CLASS:fhbclasses.lst`

Loads the file fhbclasses.lst which is in the same directory as the .pcc file calling it.

#### Absolute Loading

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 or vendor folder.

- Using the 'at' symbol (@) and a file path will direct PCGen to look for the file in the DATA folder using the path specified.
- Using the ampersand (&) and a file path will direct PCGen to look for the file in the VENDOR folder using the path specified.
- Using the asterisk (*) and a file path will direct PCGen to first attempt to locate the file in the VENDOR folder and then will look in the DATE folder.

Examples:

`SPELL:@/d20ogl/srd/srdspells.lst`

Loads the file from a path relative to the data folder.

`CLASS:&/complete_monkey/complete_monkey_classes.lst`

Loads the file from a path relative to the vendor data folder.

`EQUIPMENT:*/d20ogl/srd35/basics/rsrd_equip.lst`

Loads the file from a path relative to the vendor data folder and if that does not exist, uses a path relative to the data folder.

#### Internet Loading

The third method is by loading data files over the internet. To do this you must set PCGen's Preferences to allow this. You can then create a PCC file which uses a web address instead of a file path to load source files.

Examples:

`CLASS:http://www.foogames.com/fhandbook/fhbclasses.lst`

Loads the source file from a web site.

NOTE: 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.

#### Multiple Files Per Object

The tags in this section 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 as a pipe-delimited (|) list of files, e.g. `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.

#### Prerequisites on Main Body Tags

The `PRECAMPAIGN` tag can be appended to the end of any main body tag to either include or exclude the loading of LST files, either in whole or in part.

Examples:

`FEAT:source_feats_apg.lst|!PRECAMPAIGN:1,APG`

The source_feats_apg.lst file will be loaded only if the APG Campaign file is not loaded.

`FEAT:source_feats_um.lst|!PRECAMPAIGN:1,UM`

The source_feats_um.lst file will be loaded only if the UM Campaign file is not loaded.

`FEAT:source_feats_apg.lst|(INCLUDE:foo|bar)|PRECAMPAIGN:1,APG`

The source_feats_apg.lst file will be loaded only if the APG Campaign file is not loaded.

`EQUIPMENT:../ultimate_combat/pfuc_equip_armor.lst|!PRECAMPAIGN:1,INCLUDES=Paizo - Pathfinder Roleplaying Game Ultimate Combat`

The ../ultimate_combat/pfuc_equip_armor.lst file will be loaded only if the loaded campaign files includes the Paizo - Pathfinder Roleplaying Game Ultimate Combat campaign file.

*** 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.
- See INCLUDE and EXCLUDE for more information on the use of these sub-tags with the `ABILITY` tag.

Example:

`ABILITY:specialabilities.lst`

*** New 5.13.5

Tag Name: ABILITYCATEGORY:x

Variables Used (x):Text (File path)

What it does:

- Tells PCGen to load the abilitycategory list file specified.
- The abilitycategory list file is optional and is used as part of the source dataset to define dataset specific ability categories.

Example:

`ABILITYCATEGORY:myabilitycategories.lst`

Tag Name: ARMORPROF:x

Variables Used (x):Text (File path)

What it does:

Tells PCGen to load the armor proficiencies list file specified.

Example:

`ARMORPROF:fooarmorproflight.lst`

Load the armor proficiencies fooarmorproflight.lst file.

`ARMORPROF:fooarmorproflight.lst.FORGET`

Forgets to load the armor proficiencies fooarmorproflight.lst file.

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`

*** New 5.13.9

Tag Name: LOGO: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.
- The image represents the publishers "logo" with multiple datasets, from the same publisher, referencing the same image.

Example:

`LOGO:../barcompanylogo.jpg`

Tag Name: PCC:x

Variables Used (x):Text (File path)

What it does:

- Tells PCGen to load additional pcc files along with the current pcc file.
- If the campaign file to be loaded by this tag isn't located in the same folder as the current campaign file then file path must be included.
  - The `@` symbol used at the beginning of the file path will set the data folder as the top folder in the path.
  - The `&` symbol used at the beginning of the file path will set the vendor folder as the top folder in the path.
  - The `$` symbol used at the beginning of the file path will set the homebrew folder as the top folder in the path.
- It is recommended that this tag be placed before any tags that load LST files.

Example:

`PCC:@/d20ogl/paizo/pathfinder_rpg/pathfinder_rpg_for_players_advanced.pcc`

Loads the campaign file pathfinder_rpg_for_players_advanced.pcc found in the data/d20ogl/paizo/pathfinder_rpg/ folder.

`PCC:&/foodir/foobook.pcc`

Loads the campaign file foobook.pcc found in the vendor/foodir/ folder.

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: SHIELDPROF:x

Variables Used (x):Text (File path)

What it does:

Tells PCGen to load the shield proficiencies list file specified.

Example:

`SHIELDPROF:fooshieldproflight.lst`

Load the shield proficiencies fooshieldproflight.lst file.

`SHIELDPROF:fooshieldproflight.lst.FORGET`

Forgets to load the shield proficiencies fooshieldprofsimple.lst file.

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`

Load the weapons proficiencies fooweapprofsimple.lst file.

### Other .pcc file tags

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`

*** New 5.15.10

Tag Name: ALLOWDUPES:x

Variables Used (x): LANGUAGE

Variables Used (x): SPELL

What it does:

- Suppresses the "Duplicate Object" error messages for the listed LST object type.
- This tag will only work if the PCC file it is contained in is the exact PCC file selected by the user.

Examples:

`ALLOWDUPES:SPELL`

Duplicate spells loaded by the user selected PCC files will be allowed.

Tag Name: (INCLUDE:y|y)

Tag Name: (INCLUDE:CATEGORY=x,y,y|x,y,y) - Special syntax for feats and abilities

Variables Used (x): Text (Ability category)

Variables Used (y): Text (LST object name)

What it does:

- The INCLUDE tag and its arguments are enclosed within a pair of parentheses.
- The tag will add the pipe-delimited list of LST objects from the LST file the tag is associated with.
- The tag will not prevent other .pcc files from loading the same LST file.
- LST objects can include any of the following types: ABILITY, CLASS, COMPANIONMODS, DEITY, DOMAIN, EQUIPMENT, EQUIPMOD, FEAT, KIT, LANGUAGE, RACE, SKILL, SPELL, TEMPLATE, WEAPONPROF

IMPORTANT NOTE: Using INCLUDE for the same file on multiple lines will cause only the first line with INCLUDE to be processed.

Example:

`RACE:myrace.lst|(INCLUDE:Happy Elf|Dower Dwarf)`

This loads only the "Happy Elf" and the "Dower Dward" from `myrace.lst`.

`ABILITY:myability.lst|(INCLUDE:CATEGORY=Class Ability,Monkey See,Monkey Do)`

This loads only the "Monkey See" and "Monkey Do" Class Abilities from `myability.lst`.

Tag Name: (EXCLUDE:y|y)

Tag Name: (EXCLUDE:CATEGORY=x,y,y|x,y,y) - Special syntax for feats and abilities

Variables Used (x): Text (Ability category)

Variables Used (y): Text (LST object name)

What it does:

- The EXCLUDE tag and its arguments are enclosed within a pair of parentheses.
- The tag will prevent the pipe-delimited list of LST objects from being loaded from the LST file the tag is associated with.
- The tag will not prevent other .pcc files from loading the same LST file.
- The tag will not prevent other .pcc files from loading the excluded LST objects from another LST file.
- LST objects can include any of the following types: CLASS, COMPANIONMODS, DEITY, DOMAIN, EQUIPMENT, EQUIPMOD, FEAT, KIT, LANGUAGE, RACE, SKILL, SPELL, TEMPLATE, WEAPONPROF

Example:

`RACE:fhbrace.lst|(EXCLUDE:Fooman|Foowarf)`

This loads all the races from the `fhbrace.lst` file except for the "Fooman" and "Foowarf" races.

`ABILITY:fhbability.lst|(EXCLUDE:CATEGORY=Class Ability,Monkey See,Monkey Do)`

This loads all the abilities from the `fhbability.lst` file except for the "Monkey See" and "Monkey Do" Class Abilities.

*** New 5.15.10

Tag Name: FORWARDREF:x|y,y

Variables Used (x): ABILITY=Text (Ability category)

Variables Used (x): ARMORPROF

Variables Used (x): CLASS

Variables Used (x): DEITY

Variables Used (x): DOMAIN

Variables Used (x): EQMOD

Variables Used (x): EQUIPMENT

Variables Used (x): FEAT

Variables Used (x): LANGUAGE

Variables Used (x): RACE

Variables Used (x): SHIELDPROF

Variables Used (x): SKILL

Variables Used (x): SPELL

Variables Used (x): TEMPLATE

Variables Used (x): WEAPONPROF

Variables Used (x): CLASSSKILLLIST

Variables Used (x): CLASSSPELLLIST

Variables Used (x): DOMAINSPELLLIST

Variables Used (y): Text (Object name)

What it does:

- This tag will suppress the "Unconstructed Object" error reports for the listed LST objects from appearing within the user interface.
- This is useful during source loading when objects are referenced that will not be loaded with the given source.
- The FORWARDREF only applies if the PCC is directly loaded. Since the FORWARDREF tag's purpose is to hide intentional omissions it always needs to be intentionally placed.

Example:

`FORWARDREF:CLASSSPELLLIST|Assassin,Black Guard`

"Unconstructed Object" errors for the "'Assassin" and "Black Guard" spell lists will be suppressed during source loading.

*** 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` or `legacy.ini` files. For options from `legacy.ini` only the pcgen.options lines may be used and they need to have the pcgen.options. part removed from their key when provided here.

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.

Examples:

`OPTION:hpMaxAtFirstLevel=true`

Set the pcgen.options.hpMaxAtFirstLevel preference stored in legacy.ini to true.

`OPTION:gameMode.Pathfinder_RPG.purchaseMethodName=Epic Fantasy`

Set the selected stats purchase mode (stored in options.ini) for the Pathfinder_RPG game mode to "Epic Fantasy".

`OPTION:pcgen.options.autoResizeEquip=true`

Set the auto resize equipment for PC option (stored in options.ini) to true.

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;
- a list of specified skill names.

If this tag is included it should be after the `SKILL:` tag.

Example:

`REQSKILL:Alchemy|Bluff|Diplomacy|etc`