# Equipment Files

Equipment files are where all equipment is listed, given it's important information for the correct output.

This section consists of two major sections: Building Equipment and the Equipment Tag Dictionary.

## Building a Piece of Equipment

The Equipment file consists of a number of lines with tab-delimited text entries with each line representing one piece of equipment.

The first entry on any line is the item's name and is required. This first list of tags is relevant to all equipment

`Clothing Outfit (Business)`

The item named "Clothing Outfit (Business)" is to be created.

`Handbag.MOD`

The item named "Handbag" is to be modified.

`Light-Duty Vest.COPY=Vest (Concealable/w.Outershell)`

Copy the equipment "Light-Duty Vest" and rename to "Vest (Concealable/w.Outershell)" in all aspects.

## Equipment Tag Dictionary

The Equipment Tag Dictionary is broken into two sub-sections: The General Tag List, and the Weapon/Armor Tag List.

### General Equipment Tags

The following tags may be used in all equipment.

Tag Name: BASEITEM:x

Variables Used (x): Text (name of base item)

What it does:

- This tag allows the creation of a new specific item based upon an existing item.
- `BASEITEM` must be used in conjunction with the `EQMOD` tag.
- Eqmods listed in the `EQMOD` tag are applied to the base item prior to the application of any other included tags.

NOTE: This tag will not copy any of the base item's existing tags so you will need to add them yourself. The `.COPY` tag will perform this same function but will copy all tags to the new item, verbatim, prior to adding any new tags. (See .COPY docs)

Example:

> `Davril's Longsword <tab> BONUS:COMBAT|DAMAGE,TOHIT|2 <tab> BASEITEM:Longsword <tab> EQMOD:BANE_M|Undead.HOLY_M.KEEN`

Creates a piece of equipment called "Davril's Longsword" that is a +2 weapon. The SPROPS and effects from the equipment modifiers "Bane Undead", "Holy" and "Keen" will appear in the attack numbers and special properties as appropriate.

Tag Name: BASEQTY:x

Variables Used (x): Number (standard bundle quantity)

What it does:

The numeric value supplied is the number of items in this bundle. ie. Arrows (20) should have.

Example:

`BASEQTY:20`

20 items in a bundle (e.g. Arrows).

*** Updated 5.14.0

Tag Name: CONTAINS:x|y=z

Variables Used (x): Number (Weight held)

Variables Used (y): Text (Item type)

Variables Used (y): Total

Variables Used (z): Number (Quantity allowed)

What it does:

- This tag is used to define how much, by weight and what type of object, a container can hold.
- Any object with `CONTAINS` must also include a `TYPE:Container` tag for the `CONTAINS` tag to be activated.
- The first parameter (x) is the maximum weight the container can hold.
  - An asterisk (*) means that the weight added doesn't change the weight of the container (e.g. a Bag of Holding).
  - A number followed by a percentage (%) symbol before the quantity will reduce the total encumbrance weight of items in the container by the percentage specified.
  - The name of the weight unit is defined in the game mode system files in the miscinfo.lst file with the tag `WEIGHTUNITABBREV`.
- The second parameter (y) identifies the type of items the container may hold.
  - If there are no type's specified the container may hold anything
  - Specific tags (Potions, Rings, Armor, etc) can be specified with a limit to how many can be in the container (e.g. Scroll Case)
  - If specific tags are used the container may only hold the listed object types.
  - A limit to the total number of things contained can be specified by setting a Total=x tag.
- The third parameter (z) identifies the quantity allowed for the associated type of items.

Note: `UNLIM` may be used, in either (x) or (z), to indicate an unlimited weight allowance for the container or the item type quantity. If no value is provided for (z), `UNLIM` is assumed. PCGen's Data Converter will remove `UNLIM` when converting a data file.

Examples:

`CONTAINS:500`

500 units of weight can fit in this container.

`CONTAINS:*500`

500 units of weight can fit in this container and this is not added to the PCs carried weight.

`CONTAINS:50%50|Any=25`

Holds up to 25 items of up to 50 units of weight, but the total weight contained is reduced 50%.

`CONTAINS:25%UNLIM|Any=100`

Holds up to 100 items no matter the weight, but total weight contained is reduced 25%.

`CONTAINS:500|Potions=100`

500 units of weight can fit in this container, but only 100 potions fit.

`CONTAINS:UNLIM`

This container has an unlimited weight allowance.

`CONTAINS:UNLIM|Any=100`

Holds 100 things, no matter what the weight.

`CONTAINS:UNLIM|Total=10|Paper=10|Scroll=10`

Holds 10 papers or 10 scrolls, or any combination of these up to 10, no matter what the weight.

Tag Name: COST:x

Variables Used (x): Number (gold coin cost)

What it does:

The cost of the item.

Example:

`COST:5`

Item costs 5 gold pieces.

*** Updated 5.14.0

Tag Name: EDR:x

Variables Used (x): Number (Integer greater than zero)

What it does:

Sets the Effective Damage Resistance of an item.

Example:

`EDR:5`

Item takes 5 points to destroy.

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

Variables Used (x): Text (Equipment modifier KEY)

Variables Used (y): Text (Variable values)

Variables Used (y): Text (Chooser responses)

What it does:

- Applies the included eqmods to an item.
- The eqmods are a period-delimited (.) list of equipment modifier KEYs.
- Eqmods (x) may include a pipe-delimited (|) list of variable values (y) or chooser responses (y) determined by the built-in variables or choosers of the eqmod itself. See rsrd_equipmods_enhancing.lst for examples of eqmods.
- When used in conjunction with `BASEITEM`, the eqmod is automatically applied to the base item and is applied before looking at other tags.

Example:

`EQMOD:KEEN.BANE|Undead`

Creates a sword that is keen and also has Bane Undead.

`EQMOD:ABILITYPLUS|STR+2`

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

`Leather Armor.MOD <tab> EQMOD:DR_CONVERSION_ARCHAIC|2`

Applies a damage reduction bonus of 2 to the character when using the item.

> `Rod (Absorption) <TAB> OUTPUTNAME:Rod of [NAME] <TAB> TYPE:Magic.Rod <TAB> COST:50000 <TAB> WT:5 <TAB> BASEITEM:Rod <TAB> EQMOD:CHARGED_ITEM_50|CHARGES[50] <TAB> SOURCEPAGE:MagicItemsIII.rtf`

Creates a magical rod called "Rod of Absorption" with 50 charges.

*** Added 5.17.7

Tag Name: ICON:x

Variables Used (x): Text (file path)

What it does:

This occurs on an equipment line and sets the path to the icon to be used for the equipment item. The path is relative to the pcgen install folder. The same @, & and * shortcuts as are used in PCC files may be used in the path to specify where the path is relative to.

Example:

`ICON:@/d20ogl/srd35/icons/backpack.png`

The icon for this item will be d20ogl/srd35/icons/backpack.png relative to the data directory.

Tag Name: MODS:x

Variables Used (x): YES

Variables Used (x): NO

Variables Used (x): REQUIRED

What it does:

Is either YES (default), which means it can have equipment modifiers added to it, NO, no equipment modifiers can be added, or REQUIRED, must have at least 1 equipment modifier in order to purchase the item.

Example:

`MODS:YES`

Item can have equipment modifiers added.

*** Added 5.9.6

Tag Name: NUMPAGES:x

Variables Used (x): Number (Number of pages in spell book)

What it does:

Defines the number of pages in the spellbook. Any equipment item with TYPE:Spellbook will appear in the Spellbook sub-tab of the Spells Tab.

Example:

`NUMPAGES:100`

Spell book with 100 pages.

*** Added 5.9.6

Tag Name: PAGEUSAGE:x

Variables Used (x): Formula (Number of pages each spell will use)

What it does:

Defines the how many pages of the spellbook each spell would use. The variable SPELLLEVEL can be used to make calculations based on the spell's level. Any equipment item with TYPE:Spellbook will appear in the Spellbook sub-tab of the Spells Tab.

Example:

`PAGEUSAGE:max(SPELLLEVEL*2,1)`

Each spell will use 2 pages per level (3.0 standard spellbook).

`PAGEUSAGE:1`

Each spell will use a single page (Blessed Book).

Tag Name: PRETYPE:x,y,y

Variables Used (x): Number (The number of types that must match the specified requirements).

Variables Used (y): Text (Equipment type).

Variables Used (y): EQMODTYPE=Text (Equipment Modifier type).

Variables Used (y): EQMOD=Text (Equipment Modifier KEY).

What it does:

- Make specific Types or Equipment Modifiers a prerequisite.
- `EQMODTYPE` checks for the TYPE in the applied Equipment Modifiers, not Equipment type.
- `EQMOD` checks for the specified EQMOD by name or key.
- `EQMOD` can take an optional parameter of the form `EQMOD=<key>(<choice>)`, where the "choice" represents an item previously selected by an internal chooser for the specified EQMOD.

Note: `PRETYPE` has a different use outside of Equipment and Equipment Modifier files, it checks for race types. See the Global PRETYPE entry for usage outside of Equipment and Equipment Modifier files.

Examples:

`PRETYPE:1,Magic <tab> PRETYPE:1,Piercing,Slashing`

Type must be magic and piercing or slashing

`PREMULT:2,[PRETYPE:1,Magic],[PRETYPE:1,Piercing,Slashing]`

This example, utilizing the PREMULT tag, accomplishes the same thing as the example above it but as it is one statement it can be attached to a BONUS statement.

`!PRETYPE:1,Heavy`

Type must NOT be Heavy

`PRETYPE:1,EQMODTYPE=Mundane`

Use to test for any modifier with "Mundane" type.

`PRETYPE:1,EQMOD=IRONWOOD`

Use to test for the "Ironwood" Equipment Modifier.

Secondary Syntax: PRETYPE:y,y|y

Variables Used (y): Same as above.

What it does:

- PRETYPE has a second older syntax which is still in use in the release files.
- The comma (,) represents a logical AND function, indicating that all types listed are required to pass.
- The pipe (|) represents the logical OR function, indicating that only one of the types listed are required to pass.
- Pipes (|) and commas (,) can be combined with the logical OR being processed first and then the logical AND. As an example, `PRETYPE:Heavy,Armor|Shield` translates to: Must have "Heavy" AND either "Armor" OR "Shield" types.

Examples of secondary syntax:

`PRETYPE:Magic,Piercing,Slashing`

Type must be Magic, Piercing and Slashing.

`PRETYPE:Magic,Armor|Shield,Piercing,Slashing`

Type must be Magic, Piercing, Slashing and (Armor OR Shield).

*** Added 5.9.7

Tag Name: QUALITY:x|y

Variables Used (x): Text (Name of the quality)

Variables Used (y): Text (Text string value of the quality)

What it does:

Sets the name and value of a quality which will be attached to the equipment. Qualities can be output by the `EQ.0.QUALITY` tag

Example:

`QUALITY:Restriction|Licensed`

The equipment has the "Restriction" quality which has a value of "Licensed".

`QUALITY:Black Market DC|(+1)`

The equipment has the "Black Market DC" quality which has a value of "(+1)".

*** Updated 5.5.2

Tag Name: SIZE:x

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

What it does:

- Determines the size of the Item. (F=Fine, D=Diminutive, T=Tiny, S=Small, M=Medium, L=Large, H=Huge, G=Gargantuan, C=Colossal.)
- The size designations, including abbreviations, are dependant upon the gamemode used and may be redefined in the sizeadjustments.lst file.
- In third edition rules size of weapons is used in determining Proficiency qualifications and wielding abilities for weapons.
- In 3.5 edition rules weapon size no longer determines the actual size of the weapon but instead determines the size of the creature the weapon was made for. WIELD tag is used in determining Proficiency qualifications and wielding abilities for weapons.

Example:

`SIZE:M`

Item is medium size.

Tag Name: SLOTS:x

Variables Used (x): Number (Number of slots it takes to equip an item)

What it does:

This tag is used in weapon lines to set the number of slots required to equip a character with the weapon. The default is one.

Example:

`SLOTS:2`

Weapon requires two hands to wield it.

*** Updated 5.7.1

Tag Name: SPROP:x

Variables Used (x): Text (Special property)

What it does:

- The special property is text that will appear on output sheets under the equipment it is assigned to.
- Variable substitution can be used in the same manor as the SA tag
- The "%" symbol will fill in a number from a variable listed after a "|" (pipe).
- This can be done numerous times, with each successive "%" relating to the next variable listed after another "|" (pipe).
- Each variable needs to be defined (via the global DEFINE tag.)
- SPROP tags can be qualified with PRExxx tags. SPROP tags qualified with PRExxx tags will not display unless the character meets the prerequisites.
- Variable substitution and PRExxx qualifying can be combined in one SPROP tag.

Examples:

`SPROP:Shines with an inner light`

Output sheet reads "Shines with an inner light" under the item.

`SPROP:Squash code bugs % times per day|TL`

For a 5th level character the output sheet would read "Squash code bugs 5 times per day" under the item.

`SPROP:+2 against undead|PRECLASS:1,Paladin=1`

Outputs the text if the character has at least 1 level of Paladin.

`SPROP:+% vs. code bugs|ColaIntake|PRESKILL:1,Programming=10`

If the character has the Programming skill of at least 10 and the variable "ColaIntake" is defined as equal to 4 then the output sheet reads "+4 vs. code bugs".

`SPROP:+1 luck bonus to saves vs. %|%CHOICE <tab> CHOOSE:Abjuration|Conjuration|
Divination|Evocation|Necromancy|Enchantment|Transmutation|Universal`

Allows for the selection of the type of luck bonus and inserts it in the %CHOICE.

Tag Name: WT:x

Variables Used (x): Number (Item Weight)

What it does:

- Provides the weight of the item in question.
- The `WT` tag will take a number greater than or equal to zero (0) for the weight.
- The units for the weight is set with the `WEIGHTUNIT` tag in the gameMode miscinfo.lst file.

Example:

`WT:5`

Item weighs 5 lbs.

### Weapon/Armor Tags

The following tags are for equipment with TYPE:Weapon, TYPE:Armor, or TYPE:Shield.

Notes:

- Every TYPE:Weapon item must be also have either TYPE:Melee or TYPE:Ranged.
- Armor items should also have the type of SLOTS it takes up. This is usually TYPE:Suit

Tag Name: ACCHECK:x

Variables Used (x): Number (Armor Check Penalty)

What it does:

The numeric value supplied is the Armor Check penalty applied to certain skills that have an Armor Check.

Example:

`ACCHECK:-6`

Item has an armor check penalty of -6.

*** Updated 5.11.4

Tag Name: ALTCRITMULT:x

Variables Used (x): Text (Secondary attack's critical modifier)

What it does:

- The secondary attack's critical multiplier as outputted to the character sheet.
- This is used for double weapons only.
- The special character (-) is used to indicate no critical multiplier for the secondary attack.

Example:

`ALTCRITMULT:x3`

2nd head has a critical modifier of x3.

`ALTCRITMULT:-`

2nd head has no critical modifier.

Tag Name: ALTCRITRANGE:x

Variables Used (x): Number (Secondary attack's critical chance)

What it does:

- The secondary attack's critical chance.
- This is used for double weapons only.
- 1 = 20, 2 = 19 & 20, 3 = 18 - 20, etc

Example:

`ALTCRITRANGE:2`

2nd head criticals on roll of 19 or 20.

Tag Name: ALTDAMAGE:x

Variables Used (x): Text (Secondary attack's damage)

What it does:

- The secondary attack's damage.
- This is used for double weapons only.

Example:

`ALTDAMAGE:1d6-1`

2nd head does 1d6-1 damage.

*** Added 5.7.15

Tag Name: ALTEQMOD: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:

- This is a period (.) delimited list of equipment modifiers applied to the secondary head of a double weapon.
- With the exception that it is applied to the secondary head is functions in the same way as the EQMOD tag.
- This is utilized by other EQMODs which contain the ASSIGNTOALL tag. For example the Darkwood EQMOD has ASSIGNTOALL:YES and it replaces wood, for this to work correctly a double weapon needs to have both the EQMOD:WOOD and ALTEQMOD:WOOD tags present. When they are present the Darkwood EQMOD is applied to and replaces the WOOD EQMOD on both heads.

Example:

`ALTEQMOD:WOOD`

2nd head has the WOOD EQMOD applied to it.

Tag Name: ALTTYPE:x

Variables Used (x): Number (Secondary attack's type)

What it does:

- The secondary attack's type.
- This is used for double weapons only.
- Since this is always in a weapon type, "weapon" should not be included.
- Melee or Ranged MUST be listed and may be different from the 1st head.

Example:

`ALTTYPE:Simple.Melee.Bludgeoning`

2nd head is Simple Melee Bludgeoning.

Tag Name: CRITMULT:x

Variables Used (x): Text (Critical Modifier)

What it does:

- This is the weapon's critical multiplier as outputted to the character sheet.
- The special character (-) is used to indicate no critical multiplier for the equipment.

Example:

`CRITMULT:x2`

Item has a critical modifier of x2.

`CRITMULT:-`

Item has no critical modifier.

Tag Name: CRITRANGE:x

Variables Used (x): Number (Attack's critical chance)

What it does:

- This is the weapon's critical threat range.
- 1 = 20, 2 = 19 & 20, 3 = 18 - 20, etc

Example:

`CRITRANGE:2`

Item criticals on roll of 19 or 20.

Tag Name: DAMAGE:x

Variables Used (x): Text (Item Damage)

What it does:

The damage that a weapon does, this is part of the character sheet output.

Example:

`DAMAGE:1d6`

Item damage is 1d6.

*** Added 5.7.15

Tag Name: FUMBLERANGE:x

Variables Used (x): Text (Equipment fumble range)

What it does:

This is text which indicates the equipments fumble or error range. This tag may also be used in EQMOD lines. If an equipment item has EQMODs, the FUMBLERANGE text from the EQMOD supersedes the text from the item itself (EQMODs applied to the primary weapon head trumps text in EQMODs applied to the secondary weapon head).

Example:

`FUMBLERANGE:1-3`

Indicates and error range of 1-3.

`FUMBLERANGE:Natural 1`

Indicates and error range of a natural 1.

Tag Name: MAXDEX:x

Variables Used (x): Number (Maximum Dexterity Bonus)

What it does:

The numeric value supplied is used for armor to determine the maximum dexterity bonus that can be had while wearing the armor.

Example:

`MAXDEX:3`

Item allows a maximum dexterity bonus of three when equipped.

*** Updated 5.13.8

Tag Name: PROFICIENCY:x|y

Variables Used (x): Text (WEAPON, ARMOR, or SHIELD)

Variables Used (y): Text (Proficiency Name)

What it does:

This tells PCGen what Proficiency name to use from the appropriate profs.lst file. (i.e. weaponprofs.lst, armorprofs.lst, or shieldprofs.lst)

Example:

`PROFICIENCY:WEAPON|Sword (Long)`

Item uses the "Longsword" weapon proficiency.

`PROFICIENCY:ARMOR|Chainmail`

Item uses the "Chainmail" armor proficiency.

`PROFICIENCY:SHIELD|Buckler`

Item uses the "Buckler" shield proficiency.

Tag Name: RANGE:x

Variables Used (x): Number (Distance of one range increment)

What it does:

Sets the distance of the weapon's range increment.

Example:

`RANGE:50`

One range increment for this weapon is 50 ft.

Tag Name: RATEOFFIRE:x

Variables Used (x): Text (Rate of Fire Text)

What it does:

This is the weapon's rate of fire (given as text suitable for output). Most likely only useful in modern and futuristic games.

Example:

`RATEOFFIRE:1`

1 shot per round.

`RATEOFFIRE:0/10/20`

0 shots first round, 10 shots second round and 20 shots on the third.

`RATEOFFIRE:S,A`

Single or Automatic.

`RATEOFFIRE:Single`

Single shot only.

*** Updated 5.11.6

Tag Name: REACH:x

Variables Used (x): Number (Weapon Reach)

What it does:

The numerical value supplied is used by the WEAPONREACH miscinfo.lst tag to calculate the reach the wielder gains with the weapon. In general it adds to the weapon's Reach minus the first 5 feet of the character's natural reach, so a character with a natural reach of 10 wielding a weapon with a REACH value of 10 will have a reach of 15 with that weapon.

Example:

`REACH:10`

Item reaches 10 feet.

*** Added 5.11.6

Tag Name: REACHMULT:x

Variables Used (x): Number (Weapon Reach Multiplier)

What it does:

The numerical value supplied is used by the WEAPONREACH miscinfo.lst tag to calculate the reach the wielder gains with the weapon. In general it multiplies the character's natural reach, so a character with a natural reach of 10 wielding a weapon with a WEAPONREACH value of 2 will have a reach of 20 with that weapon.

Example:

`REACHMULT:2`

Item reaches 2 times the character's normal reach.

Tag Name: SPELLFAILURE:x

Variables Used (x): Number (Spell Failure percentage)

What it does:

The numeric value supplied is to show the percentage chance of spell failure when casting a spell while wearing/wielding this item (when item is equipped).

Example:

`SPELLFAILURE:5`

Item causes 5% of arcane spells to fail.

*** Added 5.5.2

Tag Name: WIELD:x

Variables Used (x): Light (Weapon is Light)

Variables Used (x): OneHanded (Weapon can be wielded in one hand)

Variables Used (x): TwoHanded (Weapon requires both hands to be wielded effectively)

What it does:

Sets the wield category of a weapon.

In 3.5 edition the rules for wielding a weapon are based on the size category of the weapon and the size category of the PC. Each size category difference between the weapon and PC changes the effective wield category by one step. Thus a Large sized Longsword, a 'OneHanded' weapon, is effectively wield category 'TwoHanded' for a Medium sized PC.

Example:

`WIELD:TwoHanded`

Weapon must be wielded with two hands.

Where it is used:

Equipment files in melee weapon lines.