# Equipment Modification Files

The first field in the equipmods.lst files must be the name of the modifier, after that, the tags do not need to be in any special order.

Tag Name: ADDPROF:x.x

Variables Used (x): Text (proficiency name)

What it does:

This will take the base items required proficiency and assign it the type specified.

Example:

`ADDPROF:Exotic.Heavy`

Item requires the "Exotic" and "Heavy" proficiencies.

Tag Name: ARMORTYPE:x|y

Variables Used (x): Text (Current armor TYPE)

Variables Used (y): Text (New armor TYPE)

What it does:

This will change the armor type and is | (pipe) delimited.

Example:

`ARMORTYPE:Medium|Heavy`

Changes the armor type from "Medium" to "Heavy".

Tag Name: ASSIGNTOALL:x

Variables Used (x): Boolean (YES)

What it does:

This is for double weapons only. If this tag is present then the modifiers will be applied to both heads.

Example:

`ASSIGNTOALL:YES`

Assigns modifiers to both heads.

Tag Name: CHARGES:x|y

Variables Used (x): Number (Minimum number of charges)

Variables Used (y): Number (Maximum number of charges)

What it does:

Sets the charges for a magic item.

Example:

`CHARGES:1|50`

Sets the charges for a magic item at a minimum of 1 and maximum of 50.

*** New

Tag Name: CHOOSE:EQBUILDER.SPELL|w|x|y|z

Variables Used (w): :Text (Spell Type, i.e. Arcane, Divine, Psionic, ANY)

Variables Used (x): :SCHOOL.Text (School Name, optional)

Variables Used (x): :SUBSCHOOL.Text (Sub-School Name, optional)

Variables Used (x): :DESCRIPTOR.Text (Descriptor Text, optional)

Variables Used (y): :Number (Minimum Level, optional, default 0)

Variables Used (z): :Number (Maximum Level, optional, default MAX_LEVEL)

What it does:

- Allows the selection of magic/psionic spells/powers by specific type, school, sub-school, descriptor, and level, and then adds the spell/power to the item being modified.
- Filtering by multiple types may be done joining several types using a comma (,), logocal AND function, or a pipe (|), logical OR function.
- Multiple schools, sub-schools, and descriptors may be logically joined by a comma (,), logocal AND function, or a pipe (|), logical OR function.
- Minimum and maximum level of spell may be set by using y and z.

Example:

`CHOOSE:EQBUILDER.SPELL|SCHOOL.Enchantment;SUBSCHOOL.Compulsion`

Show all spells that are Evocation AND Compulsion.

`CHOOSE:EQBUILDER.SPELL|SCHOOL.Enchantment|SCHOOL.Abjuration`

Show all spells that are Evocation OR Abjuration.

`CHOOSE:EQBUILDER.SPELL|Arcane,Divine|0|3`

Allows the user to quickly generate a minor scroll

`CHOOSE:EQBUILDER.SPELL|Arcane|SCHOOL.Evocation|0|3`

Allows the user to quickly generate a minor wand with only evocation spells

`CHOOSE:EQBUILDER.SPELL|Psionics|0|3`

Allows a minor powerstone

`CHOOSE:EQBUILDER.SPELL|Arcane|SCHOOL.Illusion,DESCRIPTOR.Fear|SCHOOL.Abjuration`

indicates Spells which are: (School Illusion AND Descriptor Fear) OR School Abjuration

*** New 5.10.1 RC3

Tag Name: CHOOSE:EQUIPMENT|x|x

Variables Used (x): TYPE=Text (Type Name)

What it does:

- Will present a list of equipement of types x with each type being given separately.
- At least one (1) equipment type must be designated for this tag to function properly.
- There is no specific weapon chooser.

Example:

`CHOOSE:EQUIPMENT|TYPE=Goods`

A list of all equipement of type 'Goods'.

`CHOOSE:EQUIPMENT|TYPE=Martial|TYPE=Finesseable`

A list of all equipement of types 'Martial' and 'Finesseable'.

`CHOOSE:EQUIPMENT|TYPE=Natural|TYPE=Bludgeoning`

A list of all equipement of types 'Natural' and 'Bludgeoning'.

`CHOOSE:EQUIPMENT|TYPE=Alchemical|TYPE=Consumable`

A list of all equipement of types 'Alchemical' and 'Consumable'.

Tag Name: COST:x

Variables Used (x): Number (Cost or Formula)

What it does:

- The cost applied to the item after resizing it.
- Formulas can be used with this tag, and valid variables for the formulas are:
  - BASECOST - The unmodified cast value of the equipment.
  - CRITMULT - The critical multiplier of the weapon.
  - DMGDICE - The damage dice of the weapon.
  - DMGDIE - The damage die of the weapon.
  - RANGE - The range of the weapon.
  - SIZE - The size of the equipment.
  - WT - The weight of the equipment.
  - %CASTERLEVEL - The caster level of the spell being added by the modifier.
  - %CHARGES - The number of charges being added by the modifier.
  - %SPELLCOST - The spell cost of the spell being added by the modifier.
  - %SPELLLEVEL - The spell level of the spell being added by the modifier.
  - %SPELLXPCOST - The experience point cost of the spell being added by the modifier.

Example:

`COST:300`

Adds 300 gold to the equipments cost.

`COST:BASECOST/2`

Adds half the base cost of the equipment to the cost.

`COST:500*WT`

Adds 500 gold per lb. to the equipments cost.

`COST:((BASECOST/50)*%CHARGES)-BASECOST`

Assuming this modifier adds 50 charges to the item, this formula makes the value of a charge one fiftieth of the basecost making the cost of the equipment proportional to the number of charges left in it.

`COST:(25*((%SPELLLEVEL)MAX(1/2))*%CASTERLEVEL)+%SPELLCOST+(5*%SPELLXPCOST)`

This is the cost formula from a scroll EQMOD.

Tag Name: COSTDOUBLE:x

Variables Used (x): Boolian ('YES' or 'NO')

What it does:

- This will double the BASECOST of an item being modified as long as it's TYPE is not 'MANTLE', 'POTION', 'SCROLL', 'STAFF', or 'WAND'.
- Abbreviations for 'YES' and 'NO' are not allowed.

Example:

`COSTDOUBLE:YES`

Cost of item is doubled.

Tag Name: COSTPRE:x

Variables Used (x): Number (Cost before resizing)

What it does:

The cost applied to the equipment before resizing an item occurs.

Example:

`COSTPRE:100`

Item cost is 100 gold before resizing.

*** New 5.11.4

Tag Name: (EQUIPNAME).MOD or .COPY or .CLEAR

Variables Used (x): Text (.MOD or .COPY or .CLEAR)

What it does:

- Allows for changes to the defined Equipment in the Equipment Modification file.

Example:

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

Copy the Equipment possesses the "Light-Duty Vest" identifyer to "Vest (Concealable/w.Outershell)" in all aspects.

`Padded.MOD <tab> TYPE:Padded`

Modifies the equiment "Padded".

`Autofire.FORGET`

Forget the equiment "Autofire".

*** New 5.11.0

Tag Name: FORMATCAT:x

Variables Used (x): FRONT

Variables Used (x): MIDDLE

Variables Used (x): PARENS

What it does:

Defines how the equipment modifier's name will be displayed when an equipment item name is being automatically generated. The valid values and their actions are listed below:

- FORMATCAT:FRONT - The eqmod name appears before the base equipment item name.
- FORMATCAT:MIDDLE - The eqmod name appears after the base equipment item name but before the parenthesis.
- FORMATCAT:PARENS - (Default) The eqmod name appears in brackets after the base equipment item name.

Example:

`Masterwork[tab]FORMATCAT:PARENS[tab]NAMEOPT:TEXT=MW`

when applied to a battleaxe would give battleaxe (MW)

`MAGIC_PLUS_1[tab]FORMATCAT:FRONT[tab]NAMEOPT:TEXT=+1`

when applied to a battleaxe would give +1 battleaxe

`MAGIC_PLUS_1[tab]FORMATCAT:MIDDLE[tab]NAMEOPT:TEXT=+1`

when applied to a battleaxe would give battleaxe +1

*** New 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 Equipment 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: IGNORES:x,x

Variables Used (x): Text (List of Keys)

What it does:

This is a comma (,) delimited list of Keys that the modifier will ignore when making custom items.

Example:

`IGNORES:ARMRMW,WEAPWM`

The "ARMRMW" & "WEAPWM" keys are ignored.

Tag Name: ITYPE:x.x

Variables Used (x): Text (Type name)

What it does:

This is a period (.) delimited list of types that will be granted, in addition to any existing types, to the item being created.

Example:

`ITYPE:Magic.Ranged.Thrown`

The item gains the types "Magic", "Ranged" & "Thrown".

*** Updated 5.9.8

Tag Name: NAMEOPT:x

Variables Used (x): NOLIST

Variables Used (x): NONAME

Variables Used (x): NORMAL

Variables Used (x): NOTHING

Variables Used (x): SPELL

Variables Used (x): TEXT=<text>

What it does:

This is used to set the naming convention used when an EQMOD is added to an equipment item. Without this tag the EQMOD name is added as is to the equipment name in parentheses after the original equipment name and separated from other EQMOD names by slashes. If an EQMOD has a CHOOSE in it normally the choice made will follow the name of the EQMOD in parentheses. Available options work as follows:

- NAMEOPT:NORMAL - Passes the name and choice to the equipment, same effect if the NAMEOPT tag is not present.
- NAMEOPT:NOLIST - Passes the name of the EQMOD but not the choice (if any) to the equipment.
- NAMEOPT:NONAME - Passes the choice made to the equipment but not the name of the EQMOD.
- NAMEOPT:NOTHING - No text is added to the equipment name.
- NAMEOPT:SPELL - If the EQMOD has a spell chooser this option passes the spell details to the equipment. The details displayed are: SpellName/Metamagic feat applied/Class/Level.
- NAMEOPT:TEXT=<Text> - Specified text is passed to the equipment.

Example:

`Craft[tab]CHOOSE:SKILL|TYPE=CRAFT[tab]BONUS:SKILL|%CHOICE|2[tab]`

selecting "Craft (Armorsmithing)" in the chooser with:

- NAMEOPT:NOLIST - generate "Craft" as the name.
- NAMEOPT:NONAME - generate "Craft (Armorsmithing)" as the name.
- NAMEOPT:NORMAL - generate "Craft (Craft (Armorsmithing))" as the name.

Example:

`NAMEOPT:SPELL`

Customizing boots with an invisibility spell might generate: Boots (Invisibility/Extend Spell/Wizard/5th).

Tag Name: PLUS:x

Variables Used (x): Number

What it does:

The numeric value supplied is the plus of the item.

Example:

`PLUS:1`

Item is treated as +1.

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=y (Equipment Modifier type).

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

What it does:

Make specific TYPES or Equipment Modifier a prerequisite.

- 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.
- EQMODTYPE="type" checks for TYPE in applied Equipment Modifiers not Equipment type.

Secondary syntax:

PRETYPE has a second older syntax which is still in use in the release files.

- PRETYPE:y,y|y
- When comma (,) delineated PRETYPE requires all the types listed to pass.
- When pipe (|) delineated PRETYPE requires only one of the types listed to pass.
- Pipes and commas can be combined, for example `PRETYPE:Heavy,Armor|Shield` translates to: Must have "Heavy" AND "Armor" OR "Shield" types.

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.

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

Tag Name: REPLACES:x,x

Variables Used (x): Number (Key Name)

What it does:

This is the list of eqmod keys that are replaced in the existing item by the specified eqmod keys in this tag.

Example:

`REPLACES:WEAP+1,WEAP+2,WEAP+3,WEAP+4,WEAP+5`

Replaces keys "WEAP+1", "WEAP+2", "WEAP+3", "WEAP+4" or "WEAP+5" with the keys specified in this tag.

*** Updated 5.7.7

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.
- Support has been added for %CHOICE substitution so that the SPROP will pick up and display the selection from the CHOOSE.

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: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:+2 against %CHOICE`

If one of the choices offered by the EQMOD were "Dragons" the SPROP might read "+2 against Dragons".

`SPROP:Unreliable (%CHOICE) <tab> CHOOSE:5%|10%|15%|20%|25%|30%|35%|40%|45%|50%|55%|60%|65%|70%|75%|80%|85%|90%|95%|100%`

Chooser to select the level of unreliablty.

*** Updated 4.3.8

Tag Name: TYPE:x.x

Variables Used (x): Text (Type name)

What it does:

- This is a list of the TYPE's of items that the modifiers can be applied to.
- The Special TYPE BaseMaterial is used by PCGen to denote what material the item is composed of. Any equipment modifier with TYPE:BaseMaterial will replace any other equipment modifier which also has TYPE:BaseMaterial, no REPLACES tag is needed.
- Used in conjunction with PRETYPE and ITYPE.

Example:

`TYPE:Armor.Shield`

Item is of the "Armor" & "Shield" types.

`EDF Combat Armor.MOD <tab> TYPE:.CLEAR <tab> TYPE:Armor.Medium.Suit.Tactical.PL6`

Modifies the item is of the "Armor" "Medium" "Suit" "Tactical" "PL6" types.

Tag Name: VISIBLE:x

Variables Used (x): Text (Yes, No, or Qualify)

What it does:

- YES - This will always show the modifier in the customizer window.
- No - This will never show the modifier in the customizer window.
- Qualify - This will always show the modifier in the customizer window if the item meets the requirements to obtain this modifier.
- The default for this tag is 'YES'.

Example:

`VISIBLE:Yes`

This will always show the modifier in the customizer window.