# Lesson #00: Building a Homebrew Data Set

By Eric C. Smith (Maredudd)

### LST File Class Overview

This LST File class will briefly cover how to build a homebrew data set using the my_homebrew template provided by the PCGen team.

File Covered: my_homebrew files

my_campaign.pcc
my_abilities.lst my_ability_categories.lst my_armorprofs.lst my_classes.lst my_companionmods.lst | my_deities.lst my_domains.lst my_equipment.lst my_equipmods.lst my_races.lst | my_feats.lst my_kits.lst my_languages.lst my_races.lst my_shieldprofs.lst | my_skills.lst my_spells.lst my_templates.lst my_weaponprofs.lst

### Reading Conventions

A quick note on a few general conventions used within this class before we jump into it:

1) Throughout this lesson the angle brackets (<>) are used to indicate where your text will be entered when building a data file. Unless explicitly stated in the text, you will not include the angle brackets in your tags.

2) Coding examples and PCGen tags are identified by `<code>` style.

3) Files referenced in this lesson are identified by file.lst style.

4) When referencing a specific PCGen object, i.e. deity, feat, weapon, etc., the object name will be formated as BOLD text, except for when the object is part of a `<code>` example.

### Data Set Creation Overview

All PCGen data sets are made up of a collection of text files called LST files, each of which contains a particular type of LST Object, e.g. Class, Deity, Feat, Race, etc. For the new LST monkey this can be confusing so the PCGen team has provided a basic template for a data set. This template can be found in PCGen's data/<gamemode - 35e or pathfinder>/my_homebrew folder. In this LST Class we will provide an introduction to the my_homebrew data set template and get you started building your own data set, whether it's for your own homebrewed campaign or a simple addition or modification of an existing one to incorporate house rules.

You will find below a short introduction to the data set template itself, followed by a section that will cover each of the files which can be found in the data set, covering each of the files listed below:

### Introduction to the my_homebrew Files

The my_homebrew template forms a framework for building a dataset for use with PCGen. It is meant to be used by beginners who want to take their first steps in entering their own custom data into PCGen and have found that the built-in List Editors are too limiting. The template consists of a collection of LST files, one each for the different LST objects possible in PCGen. Copy these files into your own folder to make your dataset, leaving the original my_homebrew files as a clean template for future use. You can rename the copied files to anything you wish but it is generally a good idea to use some part of the name for the RPG source material you plan on encoding. Also it is a good idea to retain the type of LST object contained in the file as part of the file names. An example of this might be rsrd_feat.lst for the file containing the feats for WotC's Revised Standard Reference Document (gamemode 35e). For the purposes of this class though we will continue using the standard my_homebrew.lst naming convention. To use this template you will find the LST file corresponding to the kind of LST object you wish to create, i.e. my_classes.lst if you want to add a new class, and enter your new data there. Each LST file includes an example to give you a feel for what an entry in that particular type of file would look like.

You will find below more information about each LST file, and the LST objects that are defined in them, but you will also need to become familiar with PCGen's included documentation. You will find this documentation by starting PCGen and clicking on "Documentation" in the Help menu. That will bring up a browser window in which you will find in the navigation bar on the left a link to the 'List Files'. Clicking this link will open a menu tree that includes the option 'LST File Tag Index' which points to PCGen LST Tag Dictionary. You will also see a 'List File Class' links that take you to the same classes linked to below. Nnot all LST object types are covered by a LST File Class, but those that are covered are covered well. For the rest, you can stop by ListFileHelp@Yahoo! to get help.

Once you have created or editing your LST file you will need to edit the my_campaign.pcc file. For every one of the LST files included, you must set up a line that calls it inside of the campaign file, but is commented out by use of a '#' character. Remove the '#' from the beginning of the corresponding line. You might also want to change the game mode, as it is now set to '35e', if your custom data is meant for a different game mode.

You may also note a file called OGL.txt, which we always need to distribute with data that is coming from an Open Game Content Source. It is here because the examples in the *.lst files were mostly drawn from our dataset for the 3.5 System Reference Document. It is not needed for your dataset to function.

If you use this framework to set up a dataset of your own, then you may want to rename the folder and files to something different. Otherwise if you ever should install a newer version of PCGen into your existing directory or needed to re-install your existing installation of PCGen, your changes would get overwritten and thus be lost.

### The PCGen Campaign Configuration (PCC) File

The PCC file is the most important file in a data set as it is the file that PCGen uses to identify what data sets are available. Without the PCC file, no data set would be loaded, so it is important when building a homebrew data set that we start with the PCC file. Beyond identifying the data set as a loadable set, the file also provides PCGen with information on the campaign itself as well as the specific LST files to be loaded.

For more information on building a PCC file see LST File Class #1: The PCC - Campaign Information and LST File Class #2: The PCC - Basic File Types.

### The Ability File

This section TBD.

For more information on converting Feats to Abilities see LST File Class #17: Feats to Abilities, The Basic Conversion.

### The Ability Category File

This section TBD.

### The Armor Proficiency File

This section TBD.

### The Class File

This section TBD.

### The Companion Modification File

This section TBD.

### The Deity File

This section TBD.

For more information on building a Deity file see LST File Class #14: Deities.

### The Domain File

This section TBD.

For more information on building a Domain file see LST File Class #15: Domain Basics and LST File Class #16: Domain Advanced Topics.

### The Equipment File

This section TBD.

### The Equipment Modification File

This section TBD.

### The Feat File

This section TBD.

For more information on building a Feat file see LST File Class #2: Feat Basics and LST File Class #13: Feat Prereqs.

### The Language File

This section TBD.

For more information on building a Language file see LST File Class #10: Languages.

### The Race File

This section TBD.

For more information on building a Feat file see LST File Class #3: Races 1, LST File Class #4: Race 2, LST File Class #2: Race 3, and LST File Class #4: Race 4.

### The Shield Proficiency File

This section TBD.

### The Skill File

This section TBD.

### The Spell File

This section TBD.

For more information on building a Spell file see LST File Class #07: Spells.

### The Starting Kit File

This section TBD.

For more information on building a Starting Kit file see LST File Class #11: Default Monster Kits.

### The Template File

This section TBD.

### The Weapon Proficiency File

This section TBD.

For more information on building a Weapon Proficiency file see LST File Class #09: Weaponprofs.

You should now have at least a basic understanding of how a homebrew data set should be organized. Take a look at the LST File Classes linked to in this article for more detail.

Maredudd