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.
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:
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.
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.
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:
RACE:Goblin
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
.
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.
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".
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:
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.
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.
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.
Tag Name: CLASS:x
Variables Used (x): Text (Class name)
What it does:
LEVEL
tag.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.
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".
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
tag is deprecated. Use
ABILITY
instead.FEAT
tags have been
deprecated and replaced by the
ABILITY
system, which is more general. The
ABILITY
system can model feats, racial features, class features, traits, flaws, temporary bonuses, and so on, all using a common format.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.
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".
Tag Name: LANGBONUS:x|x
Variables Used (x): Text (Language)
What it does:
LANGBONUS
chooses from the Bonus Language Selections if there are enough language bonuses to be spent.LANGBONUS
tag be included in the
race.lst file in which the character upon which the kit is being applied to is defined.Where it is used:
LANGBONUS is used in kit lines.
Example:
LANGBONUS:Dwarven|Elvish
Selects Dwarven and Elvish langauges.
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.
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:
RACIAL:YES
tag is included on the line, PCGen will fill any racial bonus proficiency choices first, otherwise it will try to fill any class bonus proficiency choices. If there are any choices left they will be granted as bonus proficiencies.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.
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.
Tag Name: SELECT:x
Variables Used (x): JEP formula or VAR
What it does:
OPTION
tag, to randomly determine if an item will be granted by the kit.OPTION
tag can be added to any kit line and the object will only be granted if the range specified by the OPTION tag matches the number generated by the
SELECT
tag.SELECT
tag is used in a kit, each use of it will reset the value for the OPTION tags below it.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:
RANK
tag immediately following the
SKILL
tag.RANK
tag MUST be used on all SKILL lines.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.
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.
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.
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)".
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.
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
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
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
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
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
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
Tag Name: LEVEL:x
Variables Used (x): Number (Levels to add)
What it does:
CLASS
tag.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
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
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
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:
OPTION
specifies a number range in which the line will be granted if it matches the number generated by the last preceding
SELECT tag.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:
SKILL
tag, to the character if they can legally have that many additional ranks of that skill.RANK
tag MUST be used on all SKILL lines.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
Tag Name: SELECTION:x,x
Variables Used (x): Text (Language)
What it does:
SKILL
and
RANK
tags, to select languages.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
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
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
Tag Name: VISIBLE:x
Variables Used (x): YES (Default)
Variables Used (x): NO
Variables Used (x): QUALIFY
What it does:
YES
- Displays the name of the KIT in the KIT selection window.NO
- Hides the name of the KIT in the KIT selection window.QUALIFY
- Displays the name of the KIT only if the character passes the prerequisites.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