# The Global BONUS Tags

The BONUS tag tells PCGen that the following information is to be added to a character as well as where it is to be added.

The general format for bonus tags are as follows:

> `BONUS:<category>|<group>|<formula>`

This can be followed by pipe-delimitated `PRExxx` or `TYPE=<type>` tags.

Each of the "Tag Names" in this page go in the <category> field, and the "Variables Used" go in the <group> field.

For the Formula syntax, see the Math Operators and Formulas page.

`LIST` is a special case in feats.lst. It can be placed in most <group> categories. `LIST` will be replaced by the choice from a `CHOOSE` tag contained within the feat.

## BONUS Types

Each bonus comes in four different types.

1. The Typeless bonus with no type
2. The Standard bonus with type (TYPE=name)
3. The .REPLACE bonus type (TYPE=name.REPLACE)
4. The .STACK bonus type (TYPE=name.STACK)

Bonus Type: Typeless

What it Does:

- These have no `TYPE=` statement, and are always added into the final result.
- Because it is typeless, it can not be tracked in the OS sheets in a breakdown by bonus type.

Examples:

`BONUS:HP|CURRENTMAX|3`

This bonus would grant the character an additional three hit points.

`BONUS:SKILL|Bluff,Listen|4`

This bonus would grant the character a bonus to the listed skills of four.

`BONUS:SKILL|STAT=DEX|1`

This would grant the character a bonus of one to all skills based on DEX.

Bonus Type: Standard

What it Does:

- These have a TYPE=name and are used for stacking purposes.
- There is a special system file called system\miscinfo.lst.
- If a TYPE is listed in that file, then these TYPEs behave just like a type-less bonus.
- Otherwise, only the highest value of the same type is used in the final result.

Examples:

`BONUS:HP|CURRENTMAX|2|TYPE=Luck
BONUS:HP|CURRENTMAX|3|TYPE=Luck`

So long as the 'Luck' type is not listed in miscinfo.lst, these two would result in a final value of 3, since 3 is the largest 'Luck' type.

`BONUS:SKILL|Bluff,Listen|3|TYPE=Luck
BONUS:SKILL|Bluff,Listen|4|TYPE=Divine`

These would return a 3 from Luck, and a 4 from Divine, for a total of 7. They are different Types.

`BONUS:SKILL|Bluff,Listen|2|TYPE=Luck
BONUS:SKILL|Bluff,Listen|3|TYPE=Luck
BONUS:SKILL|Bluff,Listen|4|TYPE=Divine`

This would also return a value of 7, since 3 is the highest Luck bonus, and 4 is the highest Divine bonus.

Bonus Type: .REPLACE

What it Does:

- This is subtype of the TYPE= standard type.
- .REPLACE items are counted together to determine the final value of a particular TYPE.

Examples:

`BONUS:SKILL|Bluff,Listen|3|TYPE=Luck.REPLACE
BONUS:SKILL|Bluff,Listen|2|TYPE=Luck.REPLACE
BONUS:SKILL|Bluff,Listen|4|TYPE=Luck
BONUS:SKILL|Bluff,Listen|2|TYPE=Luck`

This would take the 2 and 3 with the .REPLACE (total 5) and compares it to the standards, which are 2 and 4, and takes the highest value, for 5.

`BONUS:SKILL|Bluff,Listen|1|TYPE=Luck.REPLACE
BONUS:SKILL|Bluff,Listen|1|TYPE=Luck.REPLACE
BONUS:SKILL|Bluff,Listen|2|TYPE=Luck.REPLACE
BONUS:SKILL|Bluff,Listen|2|TYPE=Luck
BONUS:SKILL|Bluff,Listen|6|TYPE=Luck`

This would take the values from the .REPLACE (total 4), and compares it to the standards, which are 2 and 6, and takes the highest value, for 6.

Bonus Type: `.STACK`

What it Does:

- This is subtype of the `TYPE=<type>` standard type.
- `.STACK` items are counted in addition to the normal and `.REPLACE` to determine the final value of a particular type.
- `.STACK` stacks together with itself like `.REPLACE`, but is also added to normal types.

Examples:

`BONUS:SKILL|Bluff,Listen|4|TYPE=Luck`

`BONUS:SKILL|Bluff,Listen|2|TYPE=Luck.STACK`

This would take the 4 of type `Luck`, and then add 2 more from the `Stack`, on top of it.

`BONUS:SKILL|Bluff,Listen|4|TYPE=Luck.REPLACE`

`BONUS:SKILL|Bluff,Listen|4|TYPE=Luck.STACK`

This would take the 4 of type `Luck`, and then add 4 more from the `Stack`, on top of it.

`BONUS:SKILL|Bluff,Listen|4|TYPE=Luck`

`BONUS:SKILL|Bluff,Listen|3|TYPE=Luck.REPLACE`

`BONUS:SKILL|Bluff,Listen|3|TYPE=Luck.REPLACE`

`BONUS:SKILL|Bluff,Listen|1|TYPE=Luck.STACK`

This would take the 4 normal, compare to the `.REPLACE` (6) and give the higher value, then add in the `.STACK`, for a final value of 7.

`BONUS:SKILL|Bluff,Listen|4|TYPE=Luck`

`BONUS:SKILL|Bluff,Listen|1|TYPE=Luck.REPLACE`

`BONUS:SKILL|Bluff,Listen|1|TYPE=Luck.REPLACE`

`BONUS:SKILL|Bluff,Listen|3|TYPE=Luck.STACK`

`BONUS:SKILL|Bluff,Listen|3|TYPE=Luck.STACK`

This would take the normal (4), compare it to the total `.REPLACE` (2), give the higher value, then add in the `.STACK` (6) for a final value of 10.

## Special BONUS Types

There are two types of special "types" defined in the miscinfo.lst file in the system/gamemode folders. These are the Bonus Stack Types and the AC Types.

> ### Bonus Stacks

> Within PCGen, tags which do not have a `TYPE=<type>` sub-tag appended are assumed to stack, tags which do have a type appended do not normally stack. Some games have exceptions to this rule and list specific types which always do stack. In the fantasy gameModes Dodge and Circumstance always stack. The BONUSESTACKS tag in the miscinfo.lst file lists those exceptions. The following are commonly used types that are defined within the miscinfo.lst file for this purpose.

> `Defense`

> `Dodge`

> `Circumstance`

> `NotRanged`

> `NotFlatFooted`

> ### Armor Class Types

> PCGen tracks bonuses to the armor class through the use of several AC types. The following are commonly used types that are defined with the ACTYPE tag in the GameMode's miscinfo.lst file.

> `Total`

> `Flatfooted`

> `Touch`

> `Base`

> `Equipment`

> `Armor`

> `Shield`

> `Ability`

> `Size`

> `NaturalArmor`

> `NaturalArmorEnhancement`

> `Misc`

> `ClassDefense`

> `Dodge`

## Miscellaneous BONUS Type Notes

Bonuses with negative numbers have been found to stack even when they have matching types.

While you can't `.CLEAR` a `BONUS` tag you can add a counter bonus that would negate it. In this case you would add a counter bonus and `PRExxx` tag it with the reverse of the feat's prerequisite.

## BONUS Tag List

*** New 5.11.1

Tag Name: BONUS:ABILITYPOOL|x|y

Variables Used (x): Text (Ability Category)

Variables Used (y): Number (Amount added to pool)

What it Does:

Adds to the number of available Abilities the character can take.

Example:

`BONUS:ABILITYPOOL|Salient Divine Ability|1`

The character may take one additional Salient Divine Ability.

*** Updated 5.7.1

Tag Name: BONUS:CASTERLEVEL|x|y

Variables Used (x): Text (Class name)

Variables Used (x): ALLSPELLS

Variables Used (x): DESCRIPTOR.Text (Spell descriptor name)

Variables Used (x): DOMAIN.Text (Domain name)

Variables Used (x): RACE.Text (Race name)

Variables Used (x): SCHOOL.Text (School name)

Variables Used (x): SPELL.Text (Spell name)

Variables Used (x): SUBSCHOOL.Text (Subschool name)

Variables Used (x): TYPE.Text (Class type)

Variables Used (y): Number, variable or formula (Number to add to caster level)

What it Does:

- Each spellcasting class should have a CASTERLEVEL bonus associated with it.
- If no CASTERLEVEL bonus is present for a spell casting class, it will default to class level.
- The CASTERLEVEL tag is only used in spell.lst lines for DESC, DURATION and TARGETAREA tags.
- This BONUS statement can be used to increase just these output items.
- This BONUS statement will NOT increase spells known or spell slots. You must use BONUS:PCLEVEL for that.
- This BONUS statement can be used to set the caster level of innate racial spells.

Examples:

`BONUS:CASTERLEVEL|Sorcerer|1`

Adds 1 to Sorcerer spell caster level.

`BONUS:CASTERLEVEL|TYPE.Arcane|1`

Adds 1 to Arcane spell caster level.

`BONUS:CASTERLEVEL|RACE.Gelfling|4`

Sets Gelfling innate racial spell caster level to 4.

`BONUS:CASTERLEVEL|SPELL.Levitate|2`

Adds 2 to caster level for the 'Levitate' spell.

`BONUS:CASTERLEVEL|SCHOOL.Transmutation|2`

Adds 2 to caster level for all spells of the 'Transmutation' school.

`BONUS:CASTERLEVEL|Paladin|CL/2|PRECLASSLEVEL:Paladin=4`

Sets the Paladin's spell caster level to half his class level after he reaches level 4.

(Note that the syntax used in this last example is only valid in a class line)

`CLASS:Defender.MOD <tab> SPELLSTAT:INT <tab> BONUSSPELLSTAT:NONE <tab> SPELLTYPE:Arcane <tab> SPELLBOOK:NO <tab> BONUS:CASTERLEVEL|Defender|TL <tab> SPELLLIST:1|Channeler`

Modifying the class Defender changes all of these tags to determine bonus spells and maximum casting level.

Additional qualifier: .RESET

.RESET is an additional qualifier that can be used for all subtags except CLASS and RACE. What .RESET does is resets the caster level to the value specified instead of adding it to PC's caster level (which is what would usually be done). Note that if any .RESET qualifier is encountered then the caster level is reset even if other bonus tags do not have them. Also, multiple .RESET encountered do not overwrite each other.

The syntax is: `BONUS:CASTERLEVEL|subtag.text.RESET|number`

Examples using .RESET:

`CASTERLEVEL|TYPE.Divine.RESET|max(CASTERLEVEL.TOTAL,10)`

In this example all Divine spells would have a caster level of either 10 or the PC's default caster level, whichever is higher.

`BONUS:CASTERLEVEL|SPELL.Fireball.RESET|7`

`BONUS:CASTERLEVEL|SCHOOL.Evocation.RESET|3`

These two bonuses in combination would result in a caster level of 10 for Fireball (because it is also in the school of Evocation) and 3 for all other Evocation spells

*** deprecated 6.03.00 - Remove for 6.6 - Use BONUS:SAVE

Tag Name: BONUS:CHECKS|x,x|y

Variables Used (x): Text (Check name)

Variables Used (x): BASE.Text (Check name)

Variables Used (x): ALL

Variables Used (y): Number, variable or formula (Save Bonus)

What it Does:

- Adds to the indicated check.
- Using the `BASE.x` syntax adds to indicated base check (normally only used in class progressions).
- Valid checks, e.g. Fortitude,Reflex,Will, are defined in the GameMode.
- Substitution is allowed through the use of `%LIST`.

Example:

`BONUS:CHECKS|Fortitude,Reflex|1`

Adds one to "Fortitude" and "Reflex" saves.

`CHOOSE:NUMCHOICES=1|CHECK|Fortitude|Reflex|Will <tab> BONUS:CHECKS|%LIST|1`

The selection, "Fortitude", "Reflex" or "Will", is put into the `BONUS:CHECKS` tag in place of the `%LIST`

`BONUS:CHECKS|Willpower||max(CHA,WIS)-WIS`

How does one code up something like 'you can add your Charisma modifier instead of Wisdom for Willpower saves'?

`BONUS:CHECKS|Fortitude|2|TYPE=Resistance`

Adds two to Fortitude checks due to Resistance.

`BONUS:CHECKS|BASE.Fortitude,BASE.Reflex|1`

Adds one to the base "Fortitude" and "Reflex" saves.

`BONUS:CHECKS|ALL|1`

Adds one to the all saves.

`TEMPBONUS:ANYPC|CHECKS|ALL|3|TYPE=Morale`

Adds three to all saves, due to morale, to all PC Characters.

*** Updated 6.03.04

Tag Name: BONUS:COMBAT|x|y

Variables Used (x): AC

Variables Used (x): ATTACKS

Variables Used (x): BAB This sub-token is deprecated - Use BASEAB instead.

Variables Used (x): BASEAB

Variables Used (x): DAMAGE.Text (Weapon or damage type)

Variables Used (x): DAMAGEMULT:Number (0 for off-hand, 1 for primary, and 2 for two-handed)

Variables Used (x): DAMAGESIZE

Variables Used (x): DAMAGE-SHORTRANGE

Variables Used (x): EPICAB

Variables Used (x): INITIATIVE

Variables Used (x): REACH

Variables Used (x): RANGEPENALTY

Variables Used (x): SECONDARYATTACKS

Variables Used (x): SECONDARYDAMAGE

Variables Used (x): TOHIT

Variables Used (x): TOHIT.Text (Weapon type)

Variables Used (x): TOHIT-PRIMARY

Variables Used (x): TOHIT-SECONDARY

Variables Used (x): TOHIT-SHORTRANGE

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

What it Does:

- Adds to indicated combat bonus, i.e.:
  - Using the `AC` syntax adds to the armor class.
  - Using the `ATTACKS` syntax adds to the number of attacks the primary hand gets.
  - Using the `BASEAB` syntax increases the base attack bonus and may increase the number of attacks the primary hand gets.
  - Using the `DAMAGE` syntax increases the damage bonus but the weapon and damage types specified must be valid equipment types assigned to a weapon in the current data set or must have been defined by the `WEAPONTYPE` tag in the current gamemode. Examples of standard Weapon and Weapon Damage types can be found on the Global Type page.
  - Using the `DAMAGEMULT` syntax increases the damage multiplier for the designated hand(s) wielding the weapon. Bonuses are additive between each `BONUS`. Two `BONUS:COMBAT|DAMAGEMULT:0|1.5` tags will do a total of x3 damage, not 2.25.
  - Using the `DAMAGESIZE` syntax increases, or decreases, the damage die size along the same scale as is used for weapon size, i.e.:
    - Base Damage Dice:1d2
      - Scaling Up:1d3,1d4,1d6,1d8,2d6,3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1,0
    - Base Damage Dice:1d3
      - Scaling Up:1d4,1d6,1d8,2d6,3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1d2,1,0
    - Base Damage Dice:1d4
      - Scaling Up:1d6,1d8,2d6,3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1d3,1d2,1,0
    - Base Damage Dice:1d6
      - Scaling Up:1d8,2d6,3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1d4,1d3,1d2,1
    - Base Damage Dice:1d8
      - Scaling Up:2d6,3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1d6,1d4,1d3,1d2
    - Base Damage Dice:1d10
      - Scaling Up:2d8,3d8,4d8,6d8,8d8,12d8
      - Scaling Down:1d8,1d6,1d4,1d3
    - Base Damage Dice:1d12
      - Scaling Up:3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1d10,1d8,1d6,1d4
    - Base Damage Dice:2d4
      - Scaling Up:2d6,3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1d6,1d4,1d3,1d2
    - Base Damage Dice:2d6
      - Scaling Up:3d6,4d6,6d6,8d6,12d6
      - Scaling Down:1d10,1d8,1d6,1d4
    - Base Damage Dice:2d8
      - Scaling Up:3d8,4d8,6d8,8d8,12d8
      - Scaling Down:2d6,1d10,1d8,1d6
    - Base Damage Dice:2d10
      - Scaling Up:4d8,6d8,8d8,12d8
      - Scaling Down:2d8,2d6,1d10,1d8
  - Using the `DAMAGE-SHORTRANGE` syntax adds to the damage of a weapon at short range as defined in the GameMode files.
  - Using the `EPICAB` syntax increases the epic attack bonus and may increase the number of attacks the primary hand gets.
  - Using the `INITIATIVE` syntax increases the character's initiative.
  - Using the `REACH` syntax modifies the character's reach.
  - Using the `RANGEPENALTY` syntax modifies the character's range increment penalty.
  - Using the `SECONDARYATTACKS` syntax increases the number of secondary attacks.
  - Using the `SECONDARYDAMAGE` syntax increases the damage modifier for secondary attacks.
  - Using the `TOHIT` syntax increases the primary attack bonus.
  - Using the `TOHIT.x` syntax increases the attack bonus for the designated attack, i.e. by weapon type, grapple, melee, or ranged attack.
  - Using the `TOHIT-PRIMARY` syntax increases the primary attack bonus.
  - Using the `TOHIT-SECONDARY` syntax increases the secondary attack bonus.
  - Using the `TOHIT-SHORTRANGE` syntax adds to the ranged attack rolls that are less than the gamemode defined SHORTRANGEbut does not affect attacks per round.

Examples:

`BONUS:COMBAT|AC|2|TYPE=Enhancement`

Increases the enhancement armor bonus by two.

`BONUS:COMBAT|AC|7|TYPE=NaturalArmor.REPLACE`

Replaces the natural armor bonus to seven.

`BONUS:COMBAT|ATTACKS|2`

Increases number of attacks by two.

`BONUS:COMBAT|BASEAB|1`

Increases base attack bonus by one.

`BONUS:COMBAT|BAB|CL|TYPE=Base.REPLACE`

Increases base attack bonus by Character Level, replacing the Base value.

`BONUS:COMBAT|DAMAGE.Piercing|2`

Increases "Piercing" damage bonus by two.

`BONUS:COMBAT|DAMAGE.Unarmed,DAMAGE.Thrown|DEX`

Adds the character's dexterity modifier to both "Unarmed" and "Thrown" damage.

`BONUS:COMBAT|DAMAGEMULT:0|0.5`

Increases the damage multiplier by half your strength bonus. Combined with the existing bonus this bonus will total your full strength bonus for an off hand weapon.

`BONUS:COMBAT|DAMAGEMULT:1|1`

Increases the damage multiplier of the weapon by your strength bonus when wielding in your primary hand.

`BONUS:COMBAT|DAMAGEMULT:2|1.5`

Increases the damage multiplier of the weapon by one and a half your strength bonus when wielding it two-handed.

`BONUS:COMBAT|DAMAGESIZE|2`

If the base damage dice is 1d8 this would scale it up to 3d6.

`BONUS:COMBAT|DAMAGESIZE|-1`

If the base damage dice is 1d4 this would scale it down to 1d3.

`BONUS:COMBAT|DAMAGE-SHORTRANGE|1`

Increases the damage done by a weapon at short range by 1.

`BONUS:COMBAT|EPICAB|1`

Increases epic attack bonus by one.

`BONUS:COMBAT|INITIATIVE|3`

Increases initiative by three.

`BONUS:COMBAT|INITIATIVE|2|TYPE=Competence`

Increases initiative by two for Competence.

`BONUS:COMBAT|REACH|10`

Increases reach by ten feet.

`BONUS:COMBAT|RANGEPENALTY|1`

Reduces the range increment penalty by 1 (for example from -2 to -1).

`BONUS:COMBAT|RANGEPENALTY|-2`

Increases the range increment penalty by 2 (for example from -2 to -4).

`BONUS:COMBAT|SECONDARYATTACKS|1`

Increases secondary attacks by one.

`BONUS:COMBAT|SECONDARYDAMAGE|2`

Increases the secondary attack damage bonus by two.

`BONUS:COMBAT|TOHIT|2|TYPE=Luck`

Increases Attack bonus by two.

`CHOOSE:WEAPONPROFS|3 <tab> BONUS:COMBAT|TOHIT.%LIST|1|TYPE=Talent`

Increases Attack bonus by one for three WEAPONPROFS based on Talent.

`BONUS:COMBAT|TOHIT.THROWN|2|TYPE=Racial`

Increases Attack for thrown weapon's bonus by two.

`BONUS:COMBAT|TOHIT.SLASHING|2|TYPE=Enhancement`

Increases Attack bonus by two when using a Slashing weapon.

`BONUS:COMBAT|TOHIT-PRIMARY|2`

Increases Primary Attack bonus by two.

`BONUS:COMBAT|TOHIT-SECONDARY|1`

Increases Secondary Attack bonus by one.

`BONUS:COMBAT|TOHIT-SHORTRANGE|1`

Adds one to character's short range To-Hit attack rolls.

Deprecated Syntax: Remove for 6.6

`BONUS:COMBAT|BAB|1`

Becomes `BONUS:COMBAT|BASEAB|1`

*** New 5.17.7

Tag Name: BONUS:CONCENTRATION|x|y

Variables Used (x): Text (Class name)

Variables Used (x): ALLSPELLS

Variables Used (x): DESCRIPTOR.Text (Spell descriptor name)

Variables Used (x): DOMAIN.Text (Domain name)

Variables Used (x): SCHOOL.Text (School name)

Variables Used (x): SPELL.Text (Spell name)

Variables Used (x): SUBSCHOOL.Text (Subschool name)

Variables Used (x): TYPE.Text (Class type)

Variables Used (y): Number, variable or formula (Number to add to caster level)

What it Does:

- Adds to the base concentration bonus for spells, both innate racial spells and those granted by spellcasting class, per the criteria identified.
- Each spellcasting class will have a concentration check bonus associated with it.

NOTE: This bonus is defined with the `SPELLBASECONCENTRATION` game mode tag. If the game mode does not contain a SPELLBASECONCENTRATION tag the output tokens, SPELLLISTCLASS.y.CONCENTRATION and SPELLMEM.v.w.x.y.CONCENTRATION, will generate an empty string. Output sheets should check the value of these tokens, and if empty should not display concentration check bonuses.

Examples:

`BONUS:CONCENTRATION|ALLSPELLS|1`

Adds 1 the concentration check bonuses for all spells.

`BONUS:CONCENTRATION|Sorcerer|1`

Adds 1 to Sorcerer spell concentration check bonuses.

`BONUS:CONCENTRATION|TYPE.Arcane|1`

Adds 1 to Arcane spell concentration check bonuses.

`BONUS:CONCENTRATION|SPELL.Levitate|2`

Adds 2 to concentration check bonuses for the 'Levitate' spell.

`BONUS:CONCENTRATION|SCHOOL.Transmutation|2`

Adds 2 to concentration check bonuses for all spells of the 'Transmutation' school.

`BONUS:CONCENTRATION|SPELL.Fireball|2`

Adds 2 to concentration check bonuses for the "Fireball' spell.

*** Updated 5.5.5

Tag Name: BONUS:DC|x|y

Variables Used (x): SPELL.Text (Spell name)

Variables Used (x): ALLSPELLS

Variables Used (x): CLASS.Text (Class name)

Variables Used (x): DESCRIPTOR.Text (Spell descriptor)

Variables Used (x): DOMAIN.Text (Domain name)

Variables Used (x): FEATBONUS

Variables Used (x): SCHOOL.Text (Spell school)

Variables Used (x): SUBSCHOOL.Text (Spell subschool)

Variables Used (x): TYPE.Text (Spell type)

Variables Used (y): Number, variable or formula (DC increase)

What it Does:

- Adds to the Difficulty Class (DC) of spell(s) by name, class, descriptor, domain, school, subschool, or type.
- Use of ALLSPELLS adds to the DC of all spells.
- Use of FEATBONUS raises the DC of spells that receive the applied feat bonus, i.e. through the application of a metamagic feat, by raising the spell level of the affected spells.
- `%LIST` can be used with this tag to insert a choice made with a `CHOOSE` tag.

Example:

`BONUS:DC|SPELL.Fireball|7`

Adds 7 to the DC of the spell Fireball.

`CHOOSE:DC|SCHOOLS|ALL <tab> BONUS:DC|SCHOOL.%LIST|1`

Choose 1 School and add 1 to its DC.

`BONUS:DC|ALLSPELLS|1`

Adds 1 to the DC of all spells.

`BONUS:DC|CLASS.Sorcerer|2`

Adds 2 to the DC of sorcerer spells.

`BONUS:DC|DESCRIPTOR.Law|4`

Adds 4 to the DC of any spells with the Law descriptor.

`BONUS:DC|DESCRIPTOR.Law,DOMAIN.Law|3`

Adds 3 to the DC of any spells with the Law domain or descriptor and would add 6 to a spell with both the Law Domain and Law Descriptor.

`BONUS:DC|DOMAIN.War|6`

Adds 6 to the DC of War Domain spells.

`MULT:YES <tab> CHOOSE:|Air|Earth|Fire|Water <tab> BONUS:DC|DOMAIN.%LIST|1`

Choose a domain and add 1 to the DC of spells for that domain. This may be used multiple times.

`BONUS:DC|FEATBONUS|1`

Adds 1 to the DC of spells that this bonus applies to by raising the spell's level by 1. The Heighten Spell metamagic feat is an example of where this is used.

`BONUS:DC|SCHOOL.Enchantment|2`

Adds 2 to Enchantment school spells.

`MULT:YES <tab> CHOOSE:FEAT=Psionic Focus <tab> BONUS:DC|SCHOOL.%LIST|2|TYPE=Psychic`

Adds 2 to 1 psychic school focus DC.

`BONUS:DC|SCHOOL.Telepathy|SPELLSTAT-CHA|TYPE=Subdiscipline`

Subtracts the Chrisma Modifier to Telepathy School with a bonus type of "Subdiscipline".

`BONUS:DC|SUBSCHOOL.something|5`

Adds 5 to the any spell with a subschool of "something".

`BONUS:DC|TYPE.Arcane|3`

Adds 3 to arcane spell DCs.

Tag Name: BONUS:DR|x|y

Variables Used (x): Text (Damage reduction type)

Variables Used (y): Number, variable or formula (Damage reduction amount)

What it Does:

Adds a bonus to a Damage Reduction type, previously defined by a standard DR tag (the BONUS tag needs to be coordinated with a DR:#/<string>).

Example:

`BONUS:DR|+1|10`

If the +1 DR type was currently at 5/+1 this tag would add 10 making it 15/+1.

Tag Name: BONUS:DOMAIN|NUMBER|x

Variables Used (x): Number, variable or formula (Number of additional Domains)

What it Does:

Add additional domain selections to the character. If this is in a CLASS with SPELLSTAT: and SPELLTYPE tags, it will also grant 1 spell per level from 1-9 that the class chose from the domains.

Examples:

`BONUS:DOMAIN|NUMBER|1`

Character gains access to one additional Domain.

`BONUS:DOMAIN|NUMBER|3`

Character gains access to three additional Domains.

*** New 5.7.6

Tag Name: BONUS:FEAT|POOL|x

Variables Used (x): Number, variable or formula (Number to add or subtract from the feat pool)

What it Does:

Modifies the character's feat pool total. Can be qualified by PRExxx tags and TYPE tags like other BONUS tags.

Example:

`BONUS:FEAT|POOL|1`

Increases the feat pool by one.

`BONUS:FEAT|POOL|1|TYPE=Enhancement`

Increases the feat pool by one and will not stack with other BONUS:FEAT|POOL tags with TYPE=Enhancement.

`BONUS:FEAT|POOL|-1|PREFEAT:1,Alertness`

Decreases the feat pool by one if the character has the feat Alertness.

*** New 5.10.1+

Tag Name:BONUS:FOLLOWERS|x|y

Variables Used (x): Text (The type of companion list to add to).

Variables Used (y): Number, variable or formula (Number of additional followers of this type of companion the master can have)

What it Does:

- Adjusts the number of this type of companion the master can have.
- If the character has no FOLLOWERS tag of the same type this tag has no effect.

Where it is used:

Global BONUS

Example:

`BONUS:FOLLOWERS|Familiar|1`

A character is allowed 1 additional Familiar.

Tag Name: BONUS:HD|x|y

Variables Used (x): Property (MIN or MAX)

Variables Used (y): Number, variable or formula (Number to increase the Hit Dice by)

What it Does:

Increases character's Hit Dice size. Valid only in Class lines.

Example:

`BONUS:HD|MAX|2`

Increases maximum of the HD by two points (1d4 goes to 1d6).

`BONUS:HD|MIN|1`

Increases the minimum of the HD by 1 point (1d4 goes to 1d3+1, for example, and 2 - 4 are the possibilities).

Tag Name: BONUS:HP|x|y

Variables Used (x): ALTHP

Variables Used (x): CURRENTMAX

Variables Used (y): Number, variable or formula (Number to add to hit points, as defined in miscinfo.lst)

What it Does:

- Adds to the number of either the current maximum (CURRENTMAX) hit points or to the secondary (ALTHP) hit points.
- Both CURRENTMAX and ALTHP hit points are defined in the miscinfo.lst file.

Example:

`BONUS:HP|ALTHP|3`

Adds three to the total secondary hit points.

`BONUS:HP|ALTHP|5|TYPE=Species`

Adds five to the total secondary hit points for species reasons.

`BONUS:HP|CURRENTMAX|2`

Character gains two additional hit points.

`STACK:NO <tab> MULT:YES <tab> CHOOSE:NUMCHOICES=1|STAT|CON <tab> BONUS:HP|CURRENTMAX|%LIST-CON`

Character gains between 1 and CON Bonus additional hit points, can be used multiple time, does not stack.

`TEMPBONUS:PC|HP|CURRENTMAX|AidSoulHitPoints*%CHOICE|TYPE=Temporary`

Character gains additional hit points temporary based on the calculation.

Tag Name: BONUS:ITEMCOST|TYPE.x.x|y

Variables Used (x): Text (Item Type)

Variables Used (y): Number, variable or formula (Cost formula)

What it Does:

Used in Equipment and Equipment Modifiers, applies the cost formula to the equipment if it has all the listed types. Any formula that is valid in an EQMOD COST tag can be used.

Example:

`BONUS:ITEMCOST|TYPE.Weapon|200`

Adds 200 to the cost if the item has the Weapon type.

`BONUS:ITEMCOST|TYPE.Armor.Light|BASECOST*2`

Doubles the cost if the item has the Armor and Light types.

Tag Name: BONUS:LANGUAGES|NUMBER|x

Variables Used (x): Number, variable or formula

What it Does:

Used to increase or decrease the number of available language slots available.

Example:

`BONUS:LANGUAGES|NUMBER|1`

Adds 1 to the available language pool.

`BONUS:LANGUAGES|NUMBER|-1`

Reduces the available language pool by 1.

*** New 6.01.03

Tag Name: BONUS:LOCKEDSTAT|x|y

Variables Used (x): Text (Stat defined in loaded gameMode)

Variables Used (y): Number or formula

What it Does:

Used to bonus a locked ability score.

Example:

`BONUS:LOCKEDSTAT|INT|2`

Adds 2 to a locked "Intelligence" ability score.

*** Updated 5.13.6

Tag Name: BONUS:MISC|x|y

Variables Used (x): ACCHECK

Variables Used (x): CR

Variables Used (x): MAXDEX

Variables Used (x): SPELLFAILURE

Variables Used (x): SR

Variables Used (y): Number, variable or formula (Number to apply as a bonus)

What it Does:

Modifies the parameter specified:

- ACCHECK - Armor Check Penalty
- CR - Challenge Rating
- MAXDEX - Maximum Dexterity Bonus
- SPELLFAILURE - Arcane Spell Failure
- SR - Spell Resistance

Example:

`BONUS:MISC|ACCHECK|1`

Adds one to total Armor Check.

`BONUS:MISC|CR|2`

Adds 2 to the challange rating.

`BONUS:MISC|MAXDEX|1`

Adds one to total Maximum Dex allowed while wearing armor.

`BONUS:MISC|SPELLFAILURE|20|PREEQUIP:2,TYPE=Armor,TYPE=Light`

Adds 20% to Spell Failure chance if equipped with light armor.

`BONUS:MISC|SR|10+CL|TYPE=EbonLink`

Adds 10 plus the Character Level to the spell resistance due to EbonLink.

*** New 4.3.8

Tag Name: BONUS:MOVEADD|x|y

Variables Used (x): TYPE.Text (Movement type)

Variables Used (x): TYPE.All

Variables Used (y): Number, variable or formula (Number to add to movement rate)

What it Does:

- Adds to movement of the listed type.
- Done before `MOVEMULT` and `POSTMOVEADD` calculations.
- It only works on MOVE types that have been defined in a `MOVE` or `MOVECLONE` tag.

Examples:

`BONUS:MOVEADD|TYPE.Walk|10`

Adds 10 to Walk.

`BONUS:MOVEADD|TYPE.Walk|5|PREVARLT:ENCUMBERANCE,1`

Adds 5 to Walk so long as the character is not at medium load.

`TEMPBONUS:ANYPC|MOVEADD|TYPE.Walk|10|TYPE=Enhancement`

Adds 5 to the character's Walk as an enhancement of some sort.

*** New 4.3.8

Tag Name: BONUS:MOVEMULT|x|y

Variables Used (x): TYPE.Text (Movement type)

Variables Used (x): TYPE.All

Variables Used (y): Number, variable or formula (Number to multiply the movement rate)

What it Does:

- Multiplies the movement of the listed TYPEs.
- Done before `MOVEMULT` and `POSTMOVEADD` calculations.
- It only works on MOVE types that have been defined in a `MOVE` or `MOVECLONE` tag.

Note: PCGen does not use both `BONUS:MOVEMULT` and `BONUS:POSTMOVEADD` in calculating the total move adjustment. The total move adjustment is set to the greatest value between (Base Move + POSTMOVEADD) and (Base Move x MOVEMULT).

Example:

`BONUS:MOVEMULT|TYPE.Walk,TYPE.Fly|2`

Multiplies the Walk & Fly movement rates by two.

`BONUS:MOVEMULT|TYPE=Walk,TYPE=Fly,TYPE=Climb,TYPE=Hover,TYPE=Swim|2`

Multiplies the Walk, Fly, Climb, Hover, Swim movement rates by two.

Tag Name: BONUS:PCLEVEL|x|y

Variables Used (x): Text (Class name)

Variables Used (x): TYPE.Text (Class or Spell type)

Variables Used (y): Number, variable or formula (Bonus value)

What it Does:

- Increases the spellcasting level Class, class type, or spell type identified.
- The character must already have a level in a spellcasting class to gain the bonus spellcasting level.
- The syntax `BONUS:PCLEVEL|TYPE=x|y` is valid but in the context of this tag it is converted to `BONUS:PCLEVEL|TYPE.x|y` by PCGen on the fly.

Examples:

`BONUS:PCLEVEL|Sorcerer|1`

Adds 1 to Sorcerer spell caster level.

`BONUS:PCLEVEL|TYPE.Arcane|1`

Adds 1 to Arcane spell caster level.

*** New 4.3.8

Tag Name: BONUS:POSTMOVEADD|x|y

Variables Used (x): TYPE.Text (Movement type)

Variables Used (x): TYPE.All

Variables Used (y): Number, variable or formula (Number to add to movement rate)

What it Does:

- This tag will increase the movement of the listed types.
- Done after `MOVEMULT` and `MOVEADD` calculations.
- It only works on MOVE types that have been defined in a `MOVE` or `MOVECLONE` tag.

Note: PCGen does not use both `BONUS:MOVEMULT` and `BONUS:POSTMOVEADD` in calculating the total move adjustment. The total move adjustment is set to the greatest value between (Base Move + POSTMOVEADD) and (Base Move x MOVEMULT).

Example:

`BONUS:POSTMOVEADD|TYPE.Walk|10`

Adds 10 to Walk.

`TEMPBONUS:PC|POSTMOVEADD|TYPE.Walk,TYPE.Burrow,TYPE.Climb,TYPE.Fly,TYPE.Swim|30|TYPE=Enhancement`

Adds 30 to Walk, Burrow, Climb, Fly and Swim to any PC Character that has this enhancement.

Tag Name: BONUS:POSTRANGEADD|x|y

Variables Used (x): Text (PROJECTILE or THROWN)

Variables Used (y): Number, variable or formula (Number to add to range)

What it Does:

- Increases range by integer.
- PROJECTILE and THROWN are hardcoded types (will be changed later).
- See also RANGEMULT and POSTRANGEADD.
- POSTRANGEADD is applied after all RANGEADD and RANGEMULT tags.

Examples:

`BONUS:POSTRANGEADD|PROJECTILE|5`

Would increase the range of projectile weapons by 5.

`BONUS:POSTRANGEADD|THROWN|10`

Would increase the range of thrown weapons by 10.

Tag Name: BONUS:RANGEADD|x|y

Variables Used (x): Text (PROJECTILE or THROWN)

Variables Used (y): Number, variable or formula (Number to add to range)

What it Does:

- Increases range by integer.
- PROJECTILE and THROWN are hardcoded types (will be changed later).
- See also RANGEMULT and POSTRANGEADD.
- RANGEADD will be applied before any RANGEMULT and POSTRANGEADD tags.

Examples:

`BONUS:RANGEADD|PROJECTILE|5`

Would increase the range of projectile weapons by 5.

`BONUS:RANGEADD|THROWN|10`

Would increase the range of thrown weapons by 10.

Tag Name: BONUS:RANGEMULT|x|y

Variables Used (x): Text (PROJECTILE or THROWN)

Variables Used (y): Number, variable or formula (Number to add to range)

What it Does:

- Increases range by percent.
- PROJECTILE and THROWN are hardcoded types (will be changed later).
- See also RANGEADD and POSTRANGEADD.
- RANGEMULT will be applied after all RANGEADD tags, but before all POSTRANGEADD tags.

Examples:

`BONUS:RANGEMULT|PROJECTILE|50`

Would increase the range of projectile weapons by 50% (x1.5).

`BONUS:RANGEMULT|PROJECTILE|-50`

Would decrease the range of projectile weapons by 50% (x.5).

`BONUS:RANGEMULT|THROWN|100`

Would increase the range of thrown weapons by 100% (x2).

`BONUS:RANGEMULT|TYPE=Starship|50`

Would increase the range of starship weapons by 50% (x1.5).

*** New 6.03.00

Tag Name: BONUS:SAVE|x,x|y

Variables Used (x): Text (Save name)

Variables Used (x): BASE.Text (Save name)

Variables Used (x): ALL

Variables Used (y): Number, variable or formula (Save Bonus)

What it Does:

- Adds to the indicated save.
- Using the `BASE.x` syntax adds to indicated base save (normally only used in class progressions).
- Valid saves, e.g. Fortitude,Reflex,Will, are defined in the GameMode.
- Substitution is allowed through the use of `%LIST`.

Example:

`BONUS:SAVE|Fortitude,Reflex|1`

Adds one to "Fortitude" and "Reflex" saves.

`CHOOSE:NUMCHOICES=1|CHECKS|Fortitude|Reflex|Will <tab> BONUS:SAVE|%LIST|1`

The selection, "Fortitude", "Reflex" or "Will", is put into the `BONUS:SAVE` tag in place of the `%LIST`

`BONUS:SAVE|Willpower||max(CHA,WIS)-WIS`

How does one code up something like 'you can add your Charisma modifier instead of Wisdom for Willpower saves'?

`BONUS:SAVE|Fortitude|2|TYPE=Resistance`

Adds two to Fortitude saves due to Resistance.

`BONUS:SAVE|BASE.Fortitude,BASE.Reflex|1`

Adds one to the base "Fortitude" and "Reflex" saves.

`BONUS:SAVE|ALL|1`

Adds one to the all saves.

`TEMPBONUS:ANYPC|SAVE|ALL|3|TYPE=Morale`

Adds three to all saves, due to morale, to all PC Characters.

*** New 6.03.00

Tag Name: BONUS:SITUATION|x=y,x=y|z

Variables Used (x): Text (Skill Name)

Variables Used (x): Text (Situation)

Variables Used (y): Number, variable or formula (Number to add to skill level)

What it Does:

Adds to the situational skill bonus.

Example:

`BONUS:SITUATION|Stealth=Woodlands|2`

Adds two to "Stealth (Woodlands)" situational skill bonus.

Tag Name: BONUS:SIZEMOD|NUMBER|x

Variables Used (x): Number, variable or formula (Number of size categories to adjust)

What it Does:

- Moves the character's size up or down the size range by the indicated number of steps.
- All stat modifications caused by a size change will take effect.
- Size Categories in order are: Fine, Diminutive, Tiny, Small, Medium, Large, Huge, Gargantuan, Colossal.

Examples:

`BONUS:SIZEMOD|NUMBER|1`

Adds one to size. A "Medium" character would become "Large".

`BONUS:SIZEMOD|NUMBER|-2`

Reduces size by two. A "Medium" character would become "Tiny".

`BONUS:SIZEMOD|NUMBER|1|PRESIZEGT:T`

If size is greater than Tiny (T) add 1 to SIZEMOD.

`BONUS:SIZEMOD|NUMBER|-1|PRERACE:Wolf,Dire Animal (Dire Rat)|PREVARGT:TL,3|PREVARLT:TL,7`

If Total Levels (TL) are more than 3 and less than 7, and you are a Dire Wolf, reduce the SIZEMOD by 1.

`BONUS:SIZEMOD|NUMBER|-1|PRERACE:Wolf,Dire Animal (Dire Rat)|PREVARGT:TL,3|PREVARLT:TL,7.CLEAR`

Removes the if Total Levels (TL) are more than 3 and less than 7, and you are a Dire Wolf, reduce the SIZEMOD by 1.

`BONUS:SIZEMOD|NUMBER|1|PRESIZEGT:T.MOD <tab> BONUS:SIZEMOD|NUMBER|2|PRESIZEGT:T`

Changes the if size is greater than Tiny (T) add 1 to SIZEMOD to add 2 to the SIZEMOD.

`TEMPBONUS:PC|SIZEMOD|NUMBER|1`

Add 1 to SIZEMOD of any PC.

*** Updated 5.7.14

Tag Name: BONUS:SKILL|x,x|y

Variables Used (x): Text (Skill name)

Variables Used (x): STAT.Text (Stat name)

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

Variables Used (x): LIST

Variables Used (x): ALL

Variables Used (y): Number, variable or formula (Number to add to skill level)

What it Does:

- Adds bonus to skills matchng the listed criteria.
- When the `STAT` subtag is used this will add to skills based on the listed stat.
- When the `TYPE` subtag is used this will add to skills of the listed type.
- The `LIST` subtag is used in conjunction with a `CHOOSE` tag and will add to skills chosen.
- There is no leading space between the comma groups.

Note: Don't forget the space in subsets (i.e. between Craft and (Metalworking),Craft (Metalworking))

Example:

`BONUS:SKILL|Bluff,Listen|10`

Adds 10 to "Bluff" & "Listen".

`BONUS:SKILL|TYPE=Charisma|2`

Adds 2 to Charisma type skills.

`BONUS:SKILL|Spot|5|!PRESKILL:1,Spot=1`

Adds 5 to Spot skill if you don't already have it. Otherwise adds one to get you started.

`BONUS:SKILL|Hide|1|TYPE=Talent.STACK`

Adds 1 to Hide skill due to Talent and does Stack with all other Talent type.

`Balance.MOD <tab> BONUS:SKILL|Balance|max(0,floor((var("SKILLRANK=Tumble")-5)/20))*SynergyBonus|TYPE=Synergy.STACK`

Modifies the Balance skill to include the Synergy Bonus.

`BONUS:SKILL|STAT.STR|1`

Adds one to all "Strength" based skills.

`BONUS:SKILL|LIST|2`

Adds two to selected "Strength" skill.

`CHOOSE:SKILLSNAMEDTOCSKILL|2 <tab> BONUS:SKILL|LIST|6|TYPE=Legendary`

Adds six to the two selected Class Skills skill learned during Legendary Class.

`BONUS:SKILL|ALL|1`

Adds one to all skills.

`TEMPBONUS:ANYPC|SKILL|Hide|min(floor((%CHOICE+3)/4)*10,30)|TYPE=Competence <tab> CHOOSE:NUMBER|MIN=1|MAX=20|TITLE=Choose spell caster level`

A chooser that figures your hide % (I think) 1 to 20 points in Casterlevel, you figure out the math.

*** Updated 5.7.14

Tag Name: BONUS:SKILLRANK|x|y

Variables Used (x): Text (Skill Name)

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

Variables Used (y): Number, variable or formula (Number to add to skill level)

What it Does:

Adds to skill ranks (Maximum ranks still apply).

Example:

`BONUS:SKILLRANK|Bluff,Listen|2`

Adds two to "Bluff" & "Listen" skills.

`BONUS:SKILLRANK|TYPE=Strength|2`

Adds two to Strength type skills.

`BONUS:SKILLRANK|Speak Language,Decipher Script,Innuendo|2|TYPE=Insight`

Adds two to three skills for insight purposes.

Tag Name: BONUS:SKILLPOINTS|NUMBER|x

Variables Used (x): Number, variable or formula (Number to add to skill level)

What it Does:

- Adds to the number of skill ranks gained when the character gains a level.
- Not retroactive.
- PRExxx tags may be used with this tag. Exception: Do NOT mix PRELEVELMAX with this tag.

Examples:

`BONUS:SKILLPOINTS|NUMBER|1`

Adds one skill point per level.

`BONUS:SKILLPOINTS|NUMBER|4|PRELEVELMAX:1`

Adds 4 additional skillpoints to the character at first level only, above and beyond any other skillpoints gained for race or class, etc.

`BONUS:SKILLPOINTS|NUMBER|6|PRELEVELMAX:3`

Adds 6 additional skillpoints to the character at first to third levels only, above and beyond any other skillpoints gained for race or class, etc.

*** New 5.3.9

Tag Name: BONUS:SKILLPOOL|CLASS=x;LEVEL=y|z

Variables Used (x): Text (Class the points are to be awarded to)

Variables Used (y): Number (Class Level the points are to be awarded to)

Variables Used (z): Number (Number of points to be added to skill the pool)

What it Does:

Adds to the number of points in the skill pool of the class at the level specified.

Examples:

`BONUS:SKILLPOOL|CLASS=Fighter;LEVEL=2|2`

Adds 2 additional skillpoints to the character's skill pool at the second level of the character's Fighter Class.

`BONUS:SKILLPOOL|CLASS=Wizard;LEVEL=5|4|PRESTAT:1,INT=18`

Adds 4 additional skillpoints to the character's skill pool at the fifth level of the character's Wizard Class if he has an intelligence of 18 or better.

*** Updated 5.7.3

Tag Name: BONUS:SLOTS|x|y

Variables Used (x): Text (Slot type)

Variables Used (x): LIST (When used in conjunction with CHOOSE)

Variables Used (y): Number, variable or formula (Number of item slots)

What it Does:

- Adds to the number of items usable in the defined slot.
- These slots are defined in the equipmentslots.lst file for each gameMode.
- Slot Types defined in most gameModes are:
  - AMULET
  - ARMOR
  - BELT
  - BOOT
  - BRACER
  - CAPE
  - CLOTHING
  - EYEGEAR
  - GLOVE
  - HEADGEAR
  - LEGWEAR
  - PSIONICTATTOO (in the 3.0 and 3.5 gameModes)
  - RING
  - ROBE
  - SHIELD
  - SHIRT
  - TATTOO (in the Modern gameMode)
  - TRANSPORTATION (in the Modern gameMode)
  - VEHICLE (in the Spycraft gameMode)
  - WEAPON

Example:

`BONUS:SLOTS|RING|1`

Adds one ring slot to character.

`BONUS:SLOTS|LIST|1 <tab> CHOOSE:STRING|Armor|Shield|Bracer`

Adds one slot chosen from Armor, Shield or Bracer to the character.

*** New 6.01.7

Tag Name: BONUS:SPECIALTYSPELLKNOWN|x;y|z

Variables Used (x): CLASS=Text (Class name)

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

Variables Used (y): LEVEL=Number (Spell level)

Variables Used (z): Number (Number of spells)

What it Does:

Adds additional known specialty spells.

Example:

`BONUS:SPECIALTYSPELLKNOWN|CLASS=Abjurer;LEVEL=1|1`

You know and may cast 1 more 1st lvl specialist Abjurer spell.

`BONUS:SPECIALTYSPELLKNOWN|CLASS=Conjurer;LEVEL=1|2`

You know and may cast 2 more 1st lvl specialist Conjurer spells.

Tag Name: BONUS:SPELLCAST|x;y|z

Variables Used (x): CLASS=Text (Class name)

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

Variables Used (y): LEVEL=Number (Spell level)

Variables Used (y): LEVEL=ALL

Variables Used (z): Number (Number of spells)

What it Does:

Adds additional spell slots.

Example:

`BONUS:SPELLCAST|CLASS=Wizard;LEVEL=1|1`

You can cast 1 more 1st lvl `Wizard` spell.

`BONUS:SPELLCAST|TYPE=Arcane;LEVEL=1|1`

You can cast 1 more 1st lvl spell of Arcane type.

Tag Name: BONUS:SPELLCASTMULT|x;y|z

Variables Used (x): CLASS=Text (Class name)

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

Variables Used (y): LEVEL=Number (Spell level)

Variables Used (z): Number (Number of spells)

What it Does:

Adds additional spell slots.

Example:

`BONUS:SPELLCASTMULT|CLASS=Wizard;LEVEL=1|2`

You can cast 2 times as many 1st lvl `Wizard` spells as normal.

`BONUS:SPELLCASTMULT|TYPE=Arcane;LEVEL=1|2`

You can cast 2 times as many 1st lvl spells of Arcane type as normal.

Tag Name: BONUS:SPELLKNOWN|x;y|z

Variables Used (x): CLASS=Text (Class name)

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

Variables Used (y): LEVEL=Number (Spell level)

Variables Used (z): Number (Number of spells)

What it Does:

Adds additional known spells.

Example:

`BONUS:SPELLKNOWN|CLASS=Bard;LEVEL=1|1`

You know 1 more 1st lvl Bard spell.

`BONUS:SPELLKNOWN|CLASS=Bard;LEVEL=1|2`

You know 2 more 1st lvl Bard spells.

*** New 5.5.2

Tag Name: BONUS:SPELLKNOWNMULT|x;y|z

Variables Used (x): CLASS=Text (Class name)

Variables Used (x): TYPE=Text (Stat name)

Variables Used (y): LEVEL=Number (Spell level)

Variables Used (z): Number (Number of spells)

What it Does:

Adds additional known spells.

Example:

`BONUS:SPELLKNOWN|CLASS=Bard;LEVEL=1|2`

You know 2 times more 1st lvl Bard spells.

`BONUS:SPELLKNOWN|TYPE=Arcane;LEVEL=1|2`

You know 2 times more 1st lvl spells of Arcane type.

Tag Name: BONUS:STAT|x,x|y

Variables Used (x): Text (Stat name)

Variables Used (y): Number, variable or formula (Number to adjust stat by)

What it Does:

Adds to character stats (stat can be any stat that has been defined in the statsandchecks.lst system file).

Examples:

`BONUS:STAT|STR|2`

Adds two to character's STR stat.

`BONUS:STAT|DEX,CON,INT|1`

Adds 1 to character's DEX, CON, & INT stats.

`CHOOSE:PCSTAT|STR|DEX|CON <tab> STACK:NO <tab> MULT:YES <tab> BONUS:STAT|%LIST|1|TYPE=Inherent`

Adds 1 to character's STR, DEX, & CON stats, can be chosen multiple times, does not stack.

`#Dwarf Racial Progression.MOD <tab> BONUS:STAT|CON|2|PRELEVEL:3 <tab> BONUS:STAT|STR|2|PRELEVEL:5 <tab> BONUS:STAT|CON|2|PRELEVEL:7 <tab> BONUS:STAT|WIS|2|PRELEVEL:9`

Modifies the character based on what level they are, i.e. +2 to CON at 3, +2 to STR at 5, +2 to CON at 7, +2 to WIS at 9.

`STACK:NO <tab> MULT:YES <tab> CHOOSE:PCSTAT|STR|DEX|CON <tab> BONUS:STAT|%LIST|2|TYPE=Inherent`

Adds two to character's Chosen stat from Inherent ability, doesn't stack, but can be selected multiple times.

*** New 5.5

Tag Name: BONUS:STAT|BASESPELLKNOWNSTAT|x

Variables Used (x): Number, variable or formula (Number to adjust stat bonus by)

What it Does:

Adds a virtual bonus to character's base spell stat bonus when PCGen calculates the number of spells the character knows.

Example:

`BONUS:STAT|BASESPELLKNOWNSTAT|1`

Adds 1 to all of the character's base spell stat bonuses when calculating the number of spells known.

*** New 5.5

Tag Name: BONUS:STAT|BASESPELLKNOWNSTAT;Class=x|y

Variables Used (x): Text (Class name)

Variables Used (y): Number, variable or formula (Number to adjust stat bonus by)

What it Does:

Adds a virtual bonus to character's base spell stat bonus when PCGen calculates the number of spells the character knows for the class specified.

Example:

`BONUS:STAT|BASESPELLKNOWNSTAT;Class=Wizard|2`

Adds 2 to character's base spell stat bonus for the Wizard class when calculating the number of spells known.

Tag Name: BONUS:STAT|BASESPELLSTAT|x

Variables Used (x): Number, variable or formula (Number to adjust stat bonus by)

What it Does:

Adds to character's base spell stat bonus.

Example:

`BONUS:STAT|BASESPELLSTAT|1`

Adds 1 to all of the character's base spell stat bonuses.

Tag Name: BONUS:STAT|BASESPELLSTAT;Class=x|y

Variables Used (x): Text (Class name)

Variables Used (y): Number, variable or formula (Number to adjust stat by)

What it Does:

Adds to character base spell stat bonus for the class specified.

Example:

`BONUS:STAT|BASESPELLSTAT;Class=Wizard|2`

Adds 2 to character's base spell stat bonus for the Wizard class.

*** New 5.5

Tag Name: BONUS:UDAM|x|y

Variables Used (x): CLASS.Text (Class name)

Variables Used (y): Number, variable or formula (Levels to add to unarmed damage)

What it Does:

This tag adds levels to the character's unarmed damage bonus as if he/she had gained those levels as a Monk.

Example:

`BONUS:UDAM|CLASS.Monk|5`

Unarmed damage is treated as a Monk of five levels higher. For this to work you must have Monk levels.

`BONUS:UDAM|CLASS.Monk|CL=SpecialMonk`

Would raise the Monk's Unarmed Damage "level" by the Class Level of the "SpecialMonk" class.

*** Updated 5.7.3

Tag Name: BONUS:VAR|x,x|y

Variables Used (x): Text (Variable name)

Variables Used (y): Number, variable or formula (Number to adjust variable by)

What it Does:

- Adds to a user-defined variable within the loaded data sets.
- A DEFINE tag for the listed variable must be included within the loaded data sets and must be attached to the character for a BONUS to have any effect.

Examples:

`BONUS:VAR|SneakAttack|2`

Adds 2 to character's SneakAttack variable.

`BONUS:VAR|SneakAttack,TrapSense|1`

Adds 1 to character's SneakAttack and TrapSense variables.

`BONUS:VAR|TurnTimesBase|3+CHA|TYPE=Base`

Sets the character's base TurnTimesBase variable to three plus the Charisma Modifier.

`TEMPBONUS:ANYPC|VAR|LegacyPoints|%CHOICE|PRERACE:1,Titan <tab> CHOOSE:NUMBER|MIN=1|MAX=10|TITLE=Legacy Points`

A chooser to let you select the number of points to add, from 1 to 10, if you're a Titan and a PC.

*** New 5.5.5

Tag Name: BONUS:VISION|x|y

Variables Used (x): Text (Vision type)

Variables Used (y): Number, variable or formula (Number or formula to adjust vision range by)

What it Does:

- Adds the vision type specified if you don't already have it, otherwise it increases the range of the vision type by the number specified.
- Vision types include (but are not limited to): Blindsense, Darkvision, Low-Light.

Example:

`BONUS:VISION|Darkvision|30`

Adds DarkVision (30') if you don't have Darkvision, otherwise it increases your darkvision range by 30'.

`BONUS:VISION|Darkvision|((CL/4).TRUNC+1)*10`

Increases a character's Darkvision by 10 feet every four levels starting at 1st level.

`BONUS:VISION|Darkvision|60|PRERACE:1,TYPE=Robot`

Adds Darkvision (60') if you don't have Darkvision, otherwise it increases your darkvision range by 60', if you are a robot.

*** Updated 5.14.0

Tag Name: BONUS:WEAPON|x,x|y

Variables Used (x): Property (Weapon property)

Variables Used (y): Number, Variable or Formula (Number to add)

What it Does:

- Modifies the indicated property of the weapon the tag is contained in.
- This tag only works in Equipment, Equipmod and temporary bonuses files.
- PRE tags have no baring on how the tags they are appended to can be used, they only effect when they are applied.
- Weapon properties defined are:
  - `ATTACKS` - Adds a number of additional attacks.
  - `ATTACKSPROGRESS` - Overrides the standard attack progression.
  - `DAMAGE` - Adds to the damage of the weapon.
  - `DAMAGEMULT` - Adds to the damage multiplier, See BONUS:COMBAT|DAMAGEMULT for syntax.
  - `DAMAGESIZE` - Raises or lowers the damage dice on the same scale as weapon size, See BONUS:COMBAT|DAMAGESIZE for the scale.
  - `DAMAGE-SHORTRANGE` - Adds to the damage of the weapon when used at short range.
  - `TOHIT` - Adds to the attack bonus of the weapon.
  - `TOHIT-SHORTRANGE` - Adds to the attack bonus of the weapon when used at short range.
  - `WEAPONBAB` - Modifies the character's BAB for the weapon the bonus is applied to, affecting both to-hit and attack progression.
  - `WIELDCATEGORY` - Raises or lowers the wieldcatagory of the weapon.

Examples:

`BONUS:WEAPON|DAMAGE|1`

Adds one to weapon damage.

`BONUS:WEAPON|DAMAGE-SHORTRANGE|1`

Adds one to short range weapon damage.

`BONUS:WEAPON|TOHIT|1`

Adds one to weapon to-hit.

`BONUS:WEAPON|TOHIT-SHORTRANGE|1`

Adds one to short range weapon to-hit.

`BONUS:WEAPON|TOHIT,DAMGE|1`

Adds one to weapon to-hit and damage.

`BONUS:WEAPON|ATTACKS|1`

Adds one attack to the weapon's attack progression.

`BONUS:WEAPON|ATTACKSPROGRESS|1`

Limits the weapon's attack progression to one.

`BONUS:WEAPON|WIELDCATEGORY|1`

Raises the weapon's wieldcatagory, if it were Light it becomes OneHanded.

`BONUS:WEAPON|DAMAGE,TOHIT|min(2,(TL/6)|TYPE=Enhancement|PRELEVEL:6`

Raises the weapon's damage and to-hit, between 2 and (Total Level divided by 6) if character is over level 6.

`BONUS:WEAPON|DAMAGEMULT:1|.5`

Increases the damage multiplier of the weapon by half your strength bonus when wielded in your primary hand.

*** Updated 6.01.3

Tag Name: BONUS:WEAPONPROF=x|y,y|z

Variables Used (x): Text (Weapon proficiency name)

Variables Used (x): TYPE.Text (Weapon proficiency type)

Variables Used (y): Property (Weapon proficiency property)

Variables Used (z): Number, variable or formula (Number to add)

What it Does:

- Modifies the indicated property of the weapon proficiency or weapon proficiency type.
- Weapon proficiency properties defined are:
  - `CRITMULTADD` adds to the critical multiplier of the weapon.
  - `CRITRANGEADD` (adds to the critical range of the weapon.
  - `CRITRANGEDOUBLE` doubles the critical range of the weapon.
  - `DAMAGE` adds to the damage of the weapon.
  - `DAMAGEMULT` adds to the damage multiplier, See BONUS:COMBAT|DAMAGEMULT for syntax.
  - `DAMAGESIZE` raises or lowers the damage dice on the same scale as weapon size, See BONUS:COMBAT|DAMAGESIZE for the scale.
  - `DAMAGE-SHORTRANGE` adds to the damage of the weapon at short range as defined in the GameMode files.
  - `PCSIZE` adds to the character's size in relation to the weapon.
  - `REACH` modifies the REACH for the specified weapon.
  - `TOHIT` adds to the attack bonus of the weapon.
  - `TOHIT-SHORTRANGE` adds to the attack bonus of the weapon at short range as defined in the GameMode files.
  - `TOHITOVERSIZE` decreases the handedness of a weapon.
  - `WEAPONBAB` - Modifies the character's BAB for the weapon proficiency the bonus is applied to, affecting both to-hit and attack progression.
  - `WIELDCATEGORY` raises or lowers the wieldcatagory of the weapon.

Examples:

`BONUS:WEAPONPROF=Dagger|DAMAGE|1`

Adds one to dagger weapon damage.

`BONUS:WEAPONPROF=Dagger|DAMAGE,TOHIT|2`

Adds two to dagger weapon attack bonus and damage.

`BONUS:WEAPONPROF=TYPE.Martial|CRITRANGEADD|1`

Adds one to the critical range of any Martial type weapon.

`BONUS:WEAPONPROF=Shortbow|DAMAGE-SHORTRANGE|1`

Adds one to the damage of Shortbows at short range.

`BONUS:WEAPONPROF=Longsword|PCSIZE|1`

Allows a small character to use a longsword as if he were medium sized.

`BONUS:WEAPONPROF=Bite|REACH|5`

Would increase the reach of a creature's Bite by 5.

`BONUS:WEAPONPROF=Greatsword|TOHITOVERSIZE|1`

Allows a medium character to use a Greatsword one handed without penalty.

`BONUS:WEAPONPROF=Longsword|WIELDCATEGORY|-1`

Lowers the weapon's wieldcatagory, if it were OneHanded it becomes Light.

`CHOOSE:FEAT=Weapon Focus|1 <tab> BONUS:WEAPONPROF=%LIST|TOHIT|1`

Chooser for weapon's proficiency to add 1 to the to-hit of a Weapon Focus.

`CHOOSE:FEAT=Greater Weapon Focus|1 <tab> BONUS:WEAPONPROF=%LIST|DAMAGE|2`

Chooser for weapon's proficiency to add 2 to the damager of a Weapon Focus.

`BONUS:WEAPONPROF=Cannon|TOHIT|-2|TYPE=GunneryPenalty`

Subtracts two from the to hit of Cannons due to gunnery.

`BONUS:WEAPONPROF=Dagger|DAMAGEMULT:0|.5`

Increases the damage multiplier of the dagger weapon by half your strength bonus when wielding it off handed.

`BONUS:WEAPONPROF=Unarmed Strike|WEAPONBAB|MonkLVL-BAB`

When applied to a monk, this will change the monk's BAB for Unarmed Strike to the full BAB as if the monk were a fighter

*** New 5.5.2

Tag Name: BONUS:WIELDCATEGORY|x,x|y

Variables Used (x): Light (Effects Light weapon category)

Variables Used (x): OneHanded (Effects OneHanded weapon category)

Variables Used (x): TwoHanded (Effects TwoHanded weapon category)

Variables Used (x): ALL (Effects all weapon categories)

Variables Used (y): Number, variable or formula (Number to increase or decrease the category by)

What it Does:

- Changes the wield category of weapons a character may use.
- The wield category names are defined in the system/gameModes/miscinfo.lst file.
- This bonus will only have an effect if the gameMode has defined wield categories, currently only the 3.5e RSRD gameMode uses wield categories.

Example:

`BONUS:WIELDCATEGORY|TwoHanded|-1`

Allows a character to wield a larger Two Handed weapon than would normally be allowed.

`BONUS:WIELDCATEGORY|ALL|-1`

Allows a character to use all weapons that are one Size Category larger.

`BONUS:WIELDCATEGORY|OneHanded,Light|1`

Allows a character to use smaller 'Light' and 'OneHanded' weapons than would normally be allowed.

*** New 6.01.01

Tag Name: TEMPBONUS:x,x|y|z

Variables Used (x): PC (Target)

Variables Used (x): ANYPC (Target)

Variables Used (x): EQ (Target)

Variables Used (y): Text (Equipment types)

Variables Used (z): Text (Bonus subtoken with appropriate syntax and parameters)

What it Does:

- Provides a temporary bonus that can be applied to the applicable target.
- Temporary bonuses are applied to characters/equipment on the Temporary Bonus Tab.
- The temporary bonus includes the following targets:
  - `PC` - The temporary bonus can only be applied to a character that has been 'granted' the LST object that contains the `TEMPBONUS` tag.
  - `ANYPC` - The temporary bonus can be applied to any character whether the LST object containing the `TEMPBONUS` tag has been granted to the character or not.
  - `EQ` - The temporary bonus can only be applied to equipment of the type identified by the (y) parameter.
- The equipment type, variable (y), is used only when the target of the bonus is `EQ`, and in this case it is required.
- The bonus subtoken syntax and parameters are as per the appropriate bonus. (See standard `BONUS` tag documentation above.
- As with the standard bonus tags, the `TEMPBONUS` tag can take `TYPE` and `PRExxx` tags.

Example:

`TEMPBONUS:PC|COMBAT|AC|2`

Increases armor class by two for the character granted the LST object containing the `TEMPBONUS`. This is equivalent to `BONUS:COMBAT|AC|2` but is applied as a temporary bonus.

`TEMPBONUS:ANYPC|CHECKS|Fortitude,Reflex|1`

Adds one to "Fortitude" and "Reflex" saves for any character. This is equivalent to `BONUS:CHECKS|Fortitude,Reflex|1` but is applied as a temporary bonus.

`TEMPBONUS:EQ|TwoHanded|WEAPON|DAMAGE|1`

Adds one to the damage done by the two-handed weapon on which the bonus is applied. This is equivalent to `BONUS:WEAPON|DAMAGE|1` but is applied as a temporary bonus.

Example Conversion from PREAPPLY to TEMPBONUS:

`BONUS:COMBAT|AC|2|PREAPPLY:PC` becomes `TEMPBONUS:PC|COMBAT|AC|2`

Where it is Used:

Ability, Class, Feat, Equipment, Skill, Spell and Template objects.