Starting Kit Files

The "Starting Kit" file defines the "Starting Kits", or kits for short, that are used to simplify the creation of NPCs and monsters as well as the random generation of treasure. The page is divided into two sections. The first section talks about Building a Starting Kit while the second contains the Starting Kit Tag Dictionary . The tag dictionary is further broken down into three sub-sections, one each for The Region Tag , Line Header Tags and Miscellaneous Tags .

For more information about creating kits, check out the Default Monster Kit LST File Class.


Building a Starting Kit

Unlike most LST file objects, which are implemented on a single line for each object, starting kits are defined as a block of lines with specific information contained on each line. The general block structure is as follows:

The Basic Starting Kit Block

Region Block (Optional)

Region line using the REGION tag.

Starting Kit Block

STARTPACK line using the STARTPACK , APPLY , EQUIPBUY , TOTALCOST and VISIBLE tags.

RACE line using the RACE and TBD tags.

NAME line using the NAME tag.

GENDER line using the GENDER tag.

AGE line using the AGE tag.

ALIGN line using the ALIGN and TBD tags.

STAT line using the STAT and TBD tags.

CLASS line using the CLASS and LEVEL tags.

SKILL line for Class using the SKILL and FREE , RANK and SELECTION tags.

DEITY line using the DEITY and TBD tags.

DOMAIN line using the DOMAIN and COUNT tags.

PROF line using the PROF , COUNT and RACIAL tags.

FEAT line using the FEAT , FREE and COUNT tags.

ABILITY line using the ABILITY:CATEGORY and TBD tags.

LEVELABILITY line using the LEVELABILITY and ABILITY:PROMPT tags.

TEMPLATE line using the TEMPLATE and TBD tags.

FUNDS line using the FUNDS and TBD tags.

GEAR line using the GEAR , EQMOD , LOCATION , LOOKUP , MAXCOST and QTY tags.

TABLE line using the TABLE , LOOKUP and VALUES tags.

SPELLS line using the SPELLS and COUNT tags.

Special Kit Block

SELECT line using the SELECT tag in conjunction with any line listed above containing the OPTION tag.

A Note on Prerequisites

All Starting Kit Lines are fully capable of being limited by the use of PRExxx tags. Many of these tags grant things to the character only if they can obtain it legally. This means that if you cannot afford all the gear in the list, the kit will purchase as much as possible until you run out of money. If you have previously gone to the inventory screen and set the program to make all purchases cost zero, the kit will purchase everything for zero. Or if the kit is set to try to give you a feat which would normally be unavailable to you, but you have set the program options to ignore requirements, then that is fine, the kit will give you the feat.

A Note on Kit/Race Interactions

Use of a KIT tag, calling out a racial kit, in a Race object will cause PCGen to crash if the following two conditions are met:

  1. The racial kit x contains a RACE:x tag, e.g. RACE:Goblin
  2. The race x object contains a KIT:x tag, e.g. KIT:Goblin

This combination of objects/tags will cause an infinite loop which in turn will cause PCGen to crash. To prevent this you must use the !PRERACE:1,x tag. For the example used above that would mean !PRERACE:1,Goblin .


Starting Kit Tag Dictionary


The Region Tag

*** Updated 5.9.3

Tag Name: REGION:x

Variables Used (x): Text (Region Name or None)

What it does:

Example:

REGION:Europa

Character must be from region Europa to apply any kits in the file.

REGION:None

There is no region prerequisite for these kits.


Line Header Tags

Each of the tags in this section will be the first tag on their respective line.


Tag Name: STARTPACK:x

Variables Used (x): Text (Kit name)

What it does:

Example:

STARTPACK:Bar1

Would create a new available kit called "Bar1".


*** New 5.11.11

Tag Name: ABILITY:CATEGORY=x|y|y

Variables Used (x): Text (Ability Category Pool)

Variables Used (y): Text (Ability name)

Variables Used (y): TYPE=Text (Ability TYPE)

What it does:

NOTE: While multiple categories can be defined currently, this syntax is strongly discouraged as the results may be unpredictable.

Example:

ABILITY:CATEGORY=FEAT|Weapon Focus (Greataxe)

Would grant the "Greataxe Weapon Focus" feat.

ABILITY:CATEGORY=Fighter Feat|Dodge PRESTAT:1,DEX=13

Would grant "Dodge" if the character has a Dexterity of at least 13.

ABILITY:CATEGORY=Fighter Feat|Dodge|Improved Initiative

Would grant the choice of Dodge or Improved Initiative.

ABILITY:CATEGORY=Wizard Feat|TYPE=ItemCreation

Would grant the choice of an ItemCreation type feat.

ABILITY:CATEGORY=Salient Divine Ability|Alter Size

Would grant the Alter Size salient divine ability.

ABILITY:CATEGORY=Salient Divine Ability|Alter Size|Divine Blessing

Would grant a choice of the Alter Size and Divine Blessing salient divine abilities.

ABILITY:CATEGORY=Salient Divine Ability|Alter Form<tab>FREE:YES

Would grant the Alter Form salient divine ability without charging the salient divine ability pool.


*** New 6.1.3

Tag Name: AGE:x

Variables Used (x): Number (The character's age)

What it does:

Sets the age of the kit recipient.

Example:

AGE:46

Sets the character's age to 46.


*** New 5.9.3

Tag Name: ALIGN:x|x

Variables Used (x): Text (Alignment abbreviation)

What it does:

Sets the Alignment of the PC. If the tag specifies multiple options a pop up window allows the user to select one.

Examples:

ALIGN:LG|NG|CG

Grants a choice of any good alignment.

ALIGN:CE

Sets the alignment to Chaotic Evil.


*** New 5.9.3

Tag Name: CLASS:x

Variables Used (x): Text (Class name)

What it does:

Examples:

CLASS:Warrior <tab> LEVEL:2

Would grant the character two levels of the Warrior class.

CLASS:Fighter <tab> LEVEL:4 <tab> PRECLASS:1,Fighter=1

Would grant four levels of Fighter if the character has at least one level in Fighter already.


*** New 5.9.3

Tag Name: DEITY:x

Variables Used (x): Text (Name of Deity)

What it does:

Sets character's Deity if qualified.

Example:

DEITY:Kong

Sets character's Deity to "Kong".


*** New 5.9.3

Tag Name: DOMAIN:x|x

Variables Used (x): Text (Domain Name)

What it does:

Sets character's Domains if qualified. COUNT can be used to limit the number of choices granted by the kit. If not present the character can take as many as he is normally allowed.

Where it is used:

DOMAIN must be used in lines that start with DEITY.

Example:

DOMAIN:Animal

Sets the character's Domain to "Animal" if qualified.


FEAT

** Updated 5.9.7

Tag Name: FEAT:x|x

Variables Used (x): Text (Feat name)

Variables Used (x): TYPE=Text (Feat TYPE)

What it does:

Examples:

FEAT:Weapon Focus (Greataxe)

Would grant the "Greataxe Weapon Focus" feat.

FEAT:Dodge PRESTAT:1,DEX=13

Would grant "Dodge" if the character has a Dexterity of at least 13.

FEAT:Dodge|Improved Initiative

Would grant the choice of Dodge or Improved Initiative.

FEAT:TYPE=ItemCreation

Would grant the choice of an ItemCreation type feat.


*** New 5.8

Tag Name: FUNDS:x

Variables Used (x): Currency Abbreviation found in miscinfo file (i.e. gp, euro, dollars, etc)

What it does:

Adds a specified amount of currency to the character's cash pool in the Gear Sub-tab of the Inventory Tab. The FUNDS tag is paired with a QTY tag which is used to set the amount granted. When used in a FUNDS line QTY will take a number or formula with variables. It is possible to generate a random number with the roll() JEP operator , for example roll("1d6") simulates a 1d6.

Example:

FUNDS:gp <tab> QTY:100

Adds 100 gp to the Gold pool which the character may now spend on equipment.

FUNDS:gp <tab> QTY:10*TL

Adds 10 times the character's total level of gp to the Gold pool.

FUNDS:gp <tab> QTY:10*roll("2d4")

Adds 2d4 times 10 gp to the Gold pool.


Tag Name: GEAR:x

Variables Used (x): Text (Item name)

What it does:

Grants the gear indicated to the character if they can afford to purchase it.

Example:

GEAR:Sack

Would put a "Sack" into the PC's equipment if they can afford it.


Tag Name: GENDER:x

Variables Used (x): Text (Gender designation)

What it does:

Example:

GENDER:Male

The character's/creature's gender is "Male".


*** New 5.15.4

Tag Name: LANGBONUS:x|x

Variables Used (x): Text (Language)

What it does:

Where it is used:

LANGBONUS is used in kit lines.

Example:

LANGBONUS:Dwarven|Elvish

Selects Dwarven and Elvish langauges.


*** New 5.9.7

Tag Name: LEVELABILITY:x=y

Variables Used (x): Text (Class name)

Variables Used (y): Number (Level ability is granted at)

What it does:

LEVELABILITY signifies what class and level the following ABILITY tag is specifying the choice for.

Where it is used:

LEVELABILITY is used in kit lines.

Example:

LEVELABILITY:Ranger=1 <tab> ABILITY:PROMPT:FEAT(TYPE.Favored Enemy)|CHOICE:Favored Enemy (Humanoid (Elf))

Selects Humanoid (Elf) as a ranger's first favored enemy selection.


*** New 5.9.3

Tag Name: NAME:x

Variables Used (x): Text (The character's new name)

What it does:

Sets a name to the kit recipient.

Example:

NAME:Code Monkey

Sets the character's name to "Code Monkey".


Tag Name: PROF:x

Variables Used (x): Text (Proficiency name)

What it does:

Example:

PROF:Greataxe

Would give a proficiency in the use of "Greataxe" if the PC can afford it.

PROF:Longsword <tab> RACIAL:YES

Would select Longsword as the bonus proficiency choice if the character can legally select that choice.

PROF:Longbow|Shortbow

Would grant the choice of Longbow or Shortbow as a bonus proficiency.


*** New 5.9.3

Tag Name: RACE:x

Variables Used (x): Text (Race Name)

What it does:

Sets the character's race.

Example:

RACE:Bugbear

Sets the character's race to Bugbear.


*** New 5.9.5

Tag Name: SELECT:x

Variables Used (x): JEP formula or VAR

What it does:

Example:

SELECT:roll("1d100")

Selects a number from 1 to 100 which can be checked by the OPTION tag.


Tag Name: SKILL:x

Variables Used (x): Text (Skill name)

Variables Used (x): TYPE=Text (Skill type)

What it does:

Examples:

SKILL:Climb RANK:4

Gives four ranks of "Climb" skill if they can afford it.

SKILL:TYPE=Knowledge RANK:4

Gives four ranks of "Knowledge" type skills if they can afford it.

SKILL:Bluff|Concentration|Hide RANK:18 COUNT:2

This would offer a chooser and allow you to pick 2 of the three listed skills and grant 18 ranks to the chosen skills.


Tag Name: SPELLS:x|x

Variables Used (x): Text (Spell name)

What it does:

Examples:

SPELLS:Detect Magic|Ghost Sound|Light|Read Magic

Would give the Detect Magic , Ghost Sound , Light and Read Magic spells if the PC has free spells.

SPELLS:LEVEL=0

Grants ALL 0-level spells.


*** New 5.9.3

Tag Name: SPELLS:SPELLBOOK=v|CLASS=w|x|x[y]=z

Variables Used (v): Text (Spellbook name)

Variables Used (w): Text (Spellcasting class name)

Variables Used (x): Text (Spell name)

Variables Used (y): Text (Metamagic Feat name, optional)

Variables Used (z): Number (Number of time the spell appears in the book)

What it does:

Examples:

SPELLS:SPELLBOOK=Prepared Spells|CLASS=Cleric|Aid=3|Align Weapon|Banishment

Would add Aid, Align Weapon and Banishment to the Prepared Spells spellbook, Aid appears three times.

SPELLS:SPELLBOOK=Known Spells|CLASS=Sorcerer|Daze|Detect Magic|Ghost Sound

Adds Daze, Detect Magic and Ghost Sound to the Sorcerer's Known Spells spellbook.


*** New 5.9.3

Tag Name: STAT:x=y|x=y

Variables Used (x): Text (Stat abbreviation)

Variables Used (y): Number, Variable or Formula (Stat value)

What it does:

This sets the ability scores for the character. This is done as if the user had set them in the GUI, setting the editable scores before racial and other bonuses are added in. Specifying all the Stats is not required, a single Stat or more can be set and any which are not specified are left alone.

Example:

STAT:STR=15|DEX=14|WIS=10|CON=10|INT=10|CHA=18

Sets the editable scores to those specified.


*** New 5.9.3

Tag Name: SUBCLASS:x

Variables Used (x): Text (Subclass name)

What it does:

Sets a subclass choice. Will avoid the subclass chooser.

Example:

SUBCLASS:Fast Hero

Sets a subclass choice to "Fast Hero".


Tag Name: TABLE:x

Variables Used (x): Text (Table name)

What it does:

Identifies a table of values to be used in conjunction with the VALUES tag and called by a LOOKUP tag.

Example:

TABLE:Minor Special Ability (P/S)

Would create a table called "Minor Special Ability (P/S)".


*** New 5.9.2

Tag Name: TEMPLATE:x|x

Variables Used (x): Text (Template Name)

What it does:

This is a pipe (|) delimited list of templates that are granted by the starting kit.

Example:

TEMPLATE:Celestial

Adds the "Celestial" template to the character.


Miscellaneous Tags


*** New 5.9.7

Tag Name: ABILITY:PROMPT:FEAT(x)|CHOICE:y

Variables Used (x): Text (Feat choices)

Variables Used (y): Text (Feat to select)

What it does:

The ABILITY tag is used to select the choice presented by an ADD:FEAT chooser in a class level line.  The Feat choices parameter must match the choices used in the ADD:FEAT this ABILITY is selecting for.  The Feat to select should be a valid selection but this is not checked by the kit.

Example:

LEVELABILITY:Ranger=1 <tab> ABILITY:PROMPT:FEAT(TYPE.Favored Enemy)|CHOICE:Favored Enemy (Humanoid (Elf))

Selects Humanoid (Elf) as a ranger's first favored enemy selection.

Where it is used:

LEVELABILITY line


*** New 5.9.6

Tag Name: APPLY:x

Variables Used (x): Text (INSTANT or PERMANENT)

What it does:

Selects if the selection of this kit is stored with the character or not.

Examples:

APPLY:INSTANT

Sets this kit to be usable multiple times.

Where it is used:

STARTPACK line


*** New 5.8

Tag Name: COUNT:x

Variables Used (x): Number (Maximum number of choices to allow)

What it does:

Where it is used:

Examples:

FEAT:Dodge|Improved Initiative|Alertness <tab> COUNT:2

Would allow the choice of two of Dodge, Improved Initiative, and Alertness.

PROF:Longsword|Rapier|Longbow|Shortbow <tab> COUNT:2

Would allow the choice of two of Longsword, Rapier, Longbow, and Shortbow.

SPELLS:LEVEL=1 <tab> COUNT:2

Would allow the choice of two first level spells.

Where it is used:

SKILL, DOMAIN, FEAT, PROF, or SPELLS lines


*** New 5.9.2

Tag Name: EQMOD:x|y|y.x|y|y

Variables Used (x): Text, period delimited (Equipment modifier name)

Variables Used (y): Text, pipe delimited (Modifiers applied to the equipment modifier name)

What it does:

Example:

EQMOD:Bane.Holy.Keen

The equipment modifiers "Bane", "Holy" and "Keen" (as seen in the item customizer in PCGen) are added to the granted equipment item.

EQMOD:KEEN.BANE|Undead or EQMOD:BANE|Undead.KEEN

Bane Undead is added to the item.

EQMOD:ABILITYPLUS|STR+2

Applies a +2 STR bonus to the character when using the item.

Where it is used:

GEAR line


*** New 5.8

Tag Name: EQUIPBUY:x

Variables Used (x): Number (Percentage)

What it does:

This sets the percentage that the total cost of all the gear in the kit is discounted (or inflated by). If set to 0 the gear is granted for free.

Example:

EQUIPBUY:0

The gear granted by the KIT is free.

EQUIPBUY:50

The gear granted by the KIT is granted for half the normal cost.

EQUIPBUY:200

The gear granted by the KIT is granted for twice the normal cost.

Where it is used:

STARTPACK lines


*** New 5.8

Tag Name: FREE:x

Variables Used (x): Property (YES or NO)

What it does:

Grants this item for free.

Example:

FREE:YES

The item that appears on this line will be granted to the character without subtracting from the character's available pool.

Where it is used:

FEAT or SKILL line


*** New 5.9.3

Tag Name: LEVEL:x

Variables Used (x): Number (Levels to add)

What it does:

Examples:

CLASS:Warrior <tab> LEVEL:2

Would grant the character two levels of the Warrior class.

CLASS:Fighter <tab> LEVEL:4 <tab> PRECLASS:1,Fighter=1

Would grant four levels of Fighter if the character has at least one level in Fighter already.

Where it is Used:

CLASS line


*** New 5.9.3

Tag Name: LOCATION:x,x

Variables Used (x): Text (Location to be equipped)

What it does:

Example:

GEAR:Morningstar <tab> LOCATION:Primary Hand

Equips the Morningstar to the Primary Hand slot.

GEAR:Leather <tab> LOCATION:Equipped

Equips the Leather armor to the Armor slot.

GEAR:Shield (Light/Wood) <tab> LOCATION:Equipped

Equips the Shield to the Shield slot.

GEAR:Javelin <tab> LOCATION:Carried

Equips the Javelin to Carried.

Where it is used:

GEAR lines


Tag Name: LOOKUP:x,y

Variables Used (x): Text (Table name)

Variables Used (y): JEP formula or VAR

What it does:

Matches the value of the JEP formula or VAR (y variable) with the associated table's (x variable) VALUES tag's upper and lower selection range and returns the relevant "value".

Example:

LOOKUP:Minor Special Ability (P/S),roll("1d100")

A random number is generated between 1 and 100 and the item corresponding to that number will be selected from the "Minor Special Ability (P/S)" table.

Where it is Used:

GEAR and TABLE lines


*** New 5.8

Tag Name: MAXCOST:x

Variables Used (x): Number (maximum cost of equipment item)

What it does:

Sets the maximum cost a given piece of equipment will be purchased for. If the equipment would cost more than this number it will not be purchased.

Example:

MAXCOST:10

This equipment will only be purchased if it costs less than 10.

Where it is used:

GEAR lines


*** New 5.9.5

Tag Name: OPTION:x,y|x,y

Variables Used (x): Number, JEP formula or VAR (Low range)

Variables Used (y): Number, JEP formula or VAR (High range, Optional)

What it does:

Example:

SELECT:roll("1d100")

GEAR:Scimitar <tab> OPTION:1,50

GEAR:Falchion <tab> OPTION:51,100

GEAR:Full Plate <tab> OPTION:1,STR*5

GEAR:Shield<tab> OPTION:1,10|75,100

GEAR:The One Ring <tab> OPTION:100

The SELECT tag sets a value between 1 and 100. If that value falls within 1-50 the Scimitar is granted, if the value is between 51 and 100 the Falchion is granted, if the value is between 1 and the character's Strength bonus times 5 the Full Plate is granted, if the value is between 1 and 10 or 75 and 100 the Shield is granted. If the SELECT value is exactly 100 The One Ring is granted and you had better start packing.

Where it is used:

GEAR, SKILL, CLASS, RACE, FEAT, etc. lines.


Tag Name: QTY:x

Variables Used (x): Number (Number of items)

What it does:

Example:

QTY:3

Three items are given.

Where it is used:

GEAR line


Tag Name: RACIAL:x

Variables Used (x): Boolean (YES or NO)

What it does:

Example:

RACIAL:YES

Elves naturally have the ability, during creation, to have a weapon proficiency with either the Longsword OR the rapier.

Where it is used:

PROF line


Tag Name: RANK:x

Variables Used (x): Number (Skill rank)

What it does:

Examples:

SKILL:Climb RANK:4

Gives four ranks of "Climb" skill if they can afford it.

SKILL:TYPE=Knowledge RANK:4

Gives four ranks of "Knowledge" type skills if they can afford it.

Where it is Used:

SKILL line


*** New 5.15.4

Tag Name: SELECTION:x,x

Variables Used (x): Text (Language)

What it does:

Example:

SKILL:Speak Language <tab> RANK:2 <tab> SELECTION:Dwarven,Elven

Selects Dwarven and Elven languages with the ranks bought.

Where it is used:

SKILL lines


*** New 5.9.2

Tag Name: SIZE:x

Variables Used (x): Size category (F,D,T,S,M,L,H,G,C)

Variables Used (x): PC (matches the equipment to the character's size)

What it does:

Enlarges or reduces the GEAR item to the size specified.

Example:

SIZE:S

The item is set to size small.

Where it is used:

GEAR lines


*** New 6.01.06

Tag Name: TOTALCOST:x

Variables Used (x): Formula (Cost)

What it does:

This sets a total monetary cost for kit. It overrides EQUIPBUY and individual item costs but is affected by the buy rate selected on the purchase tab. If a character cannot afford the TOTALCOST the kit will be regarded as not qualified. It is used where a source provides a kit at a specific cost.

Example:

TOTALCOST:170

The KIT costs 170gp for all gear.

TOTALCOST:if(var("SIZE==3||SIZE==4"),5,10)

The kit will cost 5 gp if the SIZE variable is 3 or 4, otherwise it will cost 10 gp.

Where it is used:

STARTPACK lines


Tag Name: VALUES:x|y,z|x|y.z

Variables Used (x): EQMOD:Text (Eqmod key)

Variables Used (x): LOOKUP Tag (See LOOKUP Tag docs)

Variables Used (y): Number (Lower selection range)

Variables Used (z): Number (Upper selection range)

What it does:

Defines the {"value",selection range} pairs for the associated TABLE .

Example:

VALUES:EQMOD:BANE_M|1,10|EQMOD:DEFEND|11,17|EQMOD:FLM_M|18,27|EQMOD:FROST_M|28,37| EQMOD:SHOCK_M|38,47|EQMOD:GHOST_M|48,67|EQMOD:KIFOC|68,71|EQMOD:MERC_M|72,75| EQMOD:MI_CLE|76,82|EQMOD:SPL_STR|83,87|EQMOD:THROW|88,91|EQMOD:THNDR_M|92,95| EQMOD:VICIOU|96,100

This table consists of the following eqmods, granted by random determination of 1d100, BANE_M on a 1-10, DEFEND on an 11-17, FLM_M on a 18-27, FROST_M on a 28-37, SHOCK_M on a 38-47, GHOST_M on a 48-67, KIFOC on a 68-71, MERC_M on a 72-75, MI_CLE on a76-82 SPL_STR on a 83-87, THROW on a 88-91, THNDR_M on a 92-95, or VICIOU on a 96-100.

Where it is Used:

TABLE lines


*** Updated 5.9.2

Tag Name: VISIBLE:x

Variables Used (x): YES (Default)

Variables Used (x): NO

Variables Used (x): QUALIFY

What it does:

Example:

VISIBLE:YES

Shows the KIT name in PCGen.

VISIBLE:NO

Hides the KIT name in PCGen.

VISIBLE:QUALIFY

The KIT name will be displayed in PCGen if the character meets all prerequisites.

Where it is used:

STARTPACK lines