# The ADD Tag

*NOTE: The ADD tag MUST be used with at least one valid choice (like the CHOOSE tag) or it will not function.
i.e. If `ADD:FEAT(TYPE=Foo)` and the character does not qualify for any TYPE=Foo feat, there will be no pop-up or choice.

Tag Name: ADD:x(y,y)z

Variables Used (x): Text (Name of special ability)

Variables Used (y): Text (List of items from type that can be selected)

Variables Used (z): Number, Variable or Formula (Number of choices granted)

What it does:

This creates a popup choice for the users to select from of Special Abilities. The text used (x) tells PCGen what the name of the Special Ability it is, and the choices contained within the parenthesis (y,y) are the options to choose from. Optionally, the number of choices granted appears as (z). This is output on the OS in the Special Abilities section in the form of "Name of Special Ability(Option Choosen)".

Examples:

`ADD:MyChoices(choice1,choice2)`

Choose between the choices listed

`ADD:MyChoices(choice1,choice2,Choice3)2`

Select two of the choices granted

`ADD:Native Environment(woods,sea shore,dessert,mountains)1`

Select one of the choices granted. Might appear on the OS as Native Environment(woods)

Tag Name: ADD:CLASSSKILLS(y,y)z

Variables Used (x): CLASSSKILLS

Variables Used (y): Text (Skill names)

Variables Used (y): TYPE.SkillType (Skill type)

Variables Used (y): ANY

Variables Used (y): CROSSCLASSSKILLS

Variables Used (y): EXCLUSIVE

Variables Used (y): NONEXCLUSIVE

Variables Used (y): TRAINED

Variables Used (y): UNTRAINED

Variables Used (y): AUTORANK=<Free Ranks>

Variables Used (z): Number, Variable or Formula (Number of choices granted)

What it does:

- This will add a number of selections of skills of the chosen type.
- The number following denotes how many choices are granted.
- Use AUTORANK to assign free ranks to any skills chosen.
- Valid TYPE's are: ANY, UNTRAINED, TRAINED, EXCLUSIVE, NONEXCLUSIVE, CROSSCLASSSKILLS, and <skilltype> (i.e. the type of skill not the word "skilltype".)
- AUTORANK=<x> is a special thing for ADD:CLASSSKILLS(). It puts <x> number of free ranks into that skill. (as if there was a BONUS:SKILLRANK|<SkillName>|<x> tag for that skill).

Examples:

`ADD:CLASSSKILLS(Bluff,Listen,Move Silently)2`

Add any two of "Bluff", "Listen" or "Move Silently".

`ADD:CLASSSKILLS(Wilderness Lore,TYPE=Knowledge,AUTORANK=1,Bluff,Move Silently,Listen)2`

Add any two of "Wilderness Lore", "Knowledge" type skills, "Bluff", "Move Silently" or "Listen".

`ADD:CLASSSKILLS(NONEXCLUSIVE,AUTORANK=2)1`

This would give the char two bonus ranks to the "nonexclusive" type skill selected.

Tag Name: ADD:EQUIP(y,y)z

Variables Used (x): EQUIP

Variables Used (y): Text (Name of item)

Variables Used (y): TYPE.EquipmentType (Type of item)

Variables Used (z): Number, Variable or Formula (Number of choices granted)

What it does:

- EQUIP with no additional parameters will increase the quantity of the items by 1.
- EQUIP with parameters will give the character a choice of one from the items listed in the parenthesis.
- EQUIP listed in the parenthesis are all "," (comma) delimited

Example:

`ADD:EQUIP(Torch,TYPE=Goods,Lantern)1`

Add one of either a "Torch", any "Goods" type equipment or a "Lantern".

Tag Name: ADD:FEAT(y,y)z

Variables Used (x): FEAT

Variables Used (y): Text (Name of feat)

Variables Used (y): TYPE.FeatType (Type of feat)

Variables Used (z): Number, Variable or Formula (Number of choices granted)

What it does:

- FEAT with no additional parameters will increase the number of feats the character knows by 1.
- FEAT with parameters will give the character a choice of one from the feats listed in the parenthesis.
- Feats listed in the parenthesis are all "," (comma) delimited
- Valid TYPE's are TYPE=REGION, TYPE=SUBREGION, TYPE=ALLREGION, and TYPE=<feattype> (i.e. the type of feat, not the word "feattype".)

Example:

`ADD:FEAT(Alertness,TYPE=Fighter,Electric Boogalo)2`

Add two feats from "Alertness", any "Fighter" type feats or "Electric Boogalo".

*** Updated 5.7.3

Tag Name: ADD:Language(y,y)z

Variables Used (x): Language

Variables Used (y): Text (Name of defined language)

Variables Used (y): TYPE=LanguageType (Language type)

Variables Used (z): Number, Variable or Formula (Number of choices granted)

What it does:

This is a "," (comma) delimited list of language choices that the character can choose from. The choice is added to their Known Languages.

The list will also accept language types as in "TYPE=Spoken".

Example:

`ADD:Language(Draconic,Elven,Undercommon)1`

Add "Draconic", "Elven" or "Undercommon" to the list of languages known.

`ADD:Language(TYPE=Spoken)2`

Adds two of any spoken type languages to the list of languages known.

Tag Name: ADD:SKILL(y,y)z

Variables Used (x): SKILL

Variables Used (y): Text (Name of skill)

Variables Used (z): Number, Variable or Formula (Number of choices granted)

What it does:

Give the character a choice of the skills listed within the parenthesis.

Example:

`ADD:SKILL(Ride,Spellcraft,Listen)2`

Add two skill points to "Ride", "Spellcraft" or "Listen".

*** Deprecated - Special abilities are now set using hidden feats

Tag Name: ADD:SPECIAL(<Special Ability>,<Special Ability>)<Number of choices>

*** Updated 5.3.3

Tag Name: ADD:SPELLCASTER(y,y)

Variables Used (x): SPELLCASTER

Variables Used (y): Text (Class name)

Variables Used (y): Type (Spellcasting class type such as Arcane or Divine)

Variables Used (y): ANY (Any spellcasting class)

What it does:

This grants a one level bonus to the spell casting class chosen. The list of choices that come up will NOT include the class that is granting this bonus.

Limitations: The character must already have at least one level in the class choosen and that class must have its own spell list. This tag will not grant a bonus spell casting level for a class that uses the CASTAS tag or in some other way rides on another classes spell list.

Examples:

`ADD:SPELLCASTER(ANY)`

Add level of spellcasting to any spellcasting class.

`ADD:SPELLCASTER(Divine)`

Add level of spellcasting to any Divine spellcasting class.

`ADD:SPELLCASTER(Arcane)`

Add level of spellcasting to any Arcane spellcasting class

`ADD:SPELLCASTER(Bard,Sorcerer)`

Add level of spellcasting to either Bard or Sorcerer

Where it is used:

Class Level Line

Tag Name: ADD:SPELLLEVEL

What it does:

Adds spells to a class at a level specified.

Example:

`ADD:SPELLLEVEL:CLASS|SPELLCASTER.Arcane=1|Change Self`

Adds the Change Self spell to the 1st level Arcane list.

*** New

Tag Name: ADD:VFEAT(y,y)z

Variables Used (x): VFEAT

Variables Used (y): Text (Name of feat)

Variables Used (y): TYPE.FeatType (Type of feat)

Variables Used (z): Number, Variable or Formula (Number of choices granted)

What it does:

- VFEAT will give the character a choice of one from the feats listed in the parenthesis WITHOUT checking PRExxx of the feats.
- They are also not removable after the ADD:VFEAT pop-up unlike ADD:FEAT().
- Valid TYPE's are TYPE=REGION, TYPE=SUBREGION, TYPE=ALLREGION, and TYPE=<feattype> (i.e. the type of feat, not the word "feattype").

Example:

`ADD:VFEAT(Alertness,TYPE=Fighter,Electric Boogalo)2`

Add two virtual feats from "Alertness", any "Fighter" type feats or "Electric Boogalo" regardless if the PC qualifies. These cannot be removed after selection.