# Spell Files

The first field is the name of the spell.

*** New 5.4

Tag Name: (CASTERLEVEL)

What it does:

CASTERLEVEL is a special variable for use within DESC, DURATION and TARGETAREA tags which treat anything found in parentheses as a formula to be parsed into a number. CASTERLEVEL returns the caster level of the class which grants the spell. The value of CASTERLEVEL is usually dependent on Class but can be effected by Race or the School, Descriptor or other attribute of the Spell. CASTERLEVEL can be adjusted using the BONUS:CASTERLEVEL tag. In some cases where division and multiplication are used it is recommended that the floor() function be applied.

Example:

`DESC:Electricity deals (CASTERLEVEL)d6 damage`

If caster level is 2 output reads:Electricity deals 2d6 damage.

`DURATION:((CASTERLEVEL/3)+1) rounds`

If caster level is 6 output reads:DURATION:3 rounds

`TARGETAREA:(floor(CASTERLEVEL/2)*5+25)`

If caster level is 7 output reads:TARGETAREA:40 (Note that if floor() were not used formula would return 42).

Tag Name: CASTTIME:x

Variables Used (x): Text (Casting time)

What it does:

Reports the time it takes to cast this spell.

Example:

`CASTTIME:1 Round`

This spell takes 1 round to cast.

*** Updated

Tag Name: CLASSES:x,x=y|x,x=y

Variables Used (x): Text (Class name)

Variables Used (x): ALL (Spell level is the same for all classes)

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

Variables Used (y): Number (Spell level)

What it does:

This indicates that this spell is the indicated level for the named class.

This tag can now be qualified with PRExxx statements. Please note that you must enclose the PRExxx statement with [ ] instead of the usual Pipe delineation.

Examples:

`CLASSES:Wizard=5|Enchanter=3|Druid=6`

Indicates this spell is 5th Lvl Wizard, 3rd Lvl Enchanter, and 6th Lvl Druid.

`CLASSES:Wizard,Sorcerer=5|Cleric=4`

Indicates this spell is 5th Lvl Wizard, 5th Lvl Sorcerer, and 4th Lvl Cleric.

`CLASSES:ALL=4`

Indicates this spell is 4th Lvl for all classes.

`CLASSES:TYPE.Divine=3`

Indicates this spell is 3rd Lvl for divine classes.

`CLASSES:ALL=4[PREDEITY:Java]`

Indicates this spell is 4th Lvl for all classes, but is only available for followers of Java.

`CLASSES:Wizard,Sorcerer=5|Cleric=4[PRECLASS:Magician=1]`

Indicates this spell is 5th Lvl Wizard, 5th Lvl Sorcerer, but will only be added to the spell list of a character with one level of the Magician prestige class. This is especially useful if you need to create a spell lists for prestige classes that add castor levels to existing levels but does not otherwise have a spell progression.

Tag Name: COMPS:x

Variables Used (x): Text (V, S, M, DF)

What it does:

Lists the types of spell components required for this spells (Verbal, Somatic, etc).

Example:

`COMPS:V S`

This spell has "Verbal" and "Somatic" components.

*** Updated

Tag Name: COST:x|y,x

Variables Used (x): Number (Component Cost)

Variables Used (y): Text (Name of Class, optional)

What it does:

This is the cost of the spells components.

Example:

`COST:300`

This spell's components cost 300 gold.

`COST:1000|Druid,0|Cleric,100`

This spell's components cost 0 for a Druid, 100 for a Cleric and 1000 for everyone else.

*** New

Tag Name: DESC:x

Variables Used (x): Text (Spell description)

What it does:

- One line description of what the spell does.
- Not necessarily Open Game Content.
- If closed, and permission is granted, the DESCISPI tag is used to show that.
- This replaces the Deprecated EFFECTS tag.
- Formulas can be parsed and the results replaced in the output by enclosing the variables and formulas within parentheses.
- CASTERLEVEL, a variable specifically designed for this purpose, is commonly used though other variables can be used as well.
- Because anything within parentheses is assumed to be a formula to be parsed, text containing parentheses must substitute brackets [ ] in place of parentheses.

Example:

`DESC:Toasts the monsters with fire`

What the spell does.

`DESC:Target is prone for (CASTERLEVEL) rounds.`

If the value of CASTERLEVEL is equal to 3 then this would output: "Target is prone for 3 rounds.".

*** New

Tag Name: DESCISPI:x

Variables Used (x): Boolean (YES or NO)

What it does:

- This is used to show that the DESC field is closed content, or Product Identity.
- Permission must be gained from the publisher to release it into official files.

Example:

`DESCISPI:YES`

Descrition is closed content.

Tag Name: DESCRIPTOR:x|x

Variables Used (x): Text (Spell type)

What it does:

Reports what types the spell is and is used for specialist wizards to determine their favored schools bonus spells.

Example:

`DESCRIPTOR:Sonic|Acid|Evil`

This spell is of the "Sonic", "Acid" & "Evil" types.

*** Updated

Tag Name: DOMAINS:x,x=y|x,x=y

Variables Used (x): Text (Domain name)

Variables Used (y): Number (Spell level)

What it does:

This indicates that this spell is the indicated level for the named domain.

This tag can now be qualified with PRExxx statements. Please note that you must enclose the PRExxx statement with [ ] instead of the usual Pipe delineation.

Examples:

`DOMAINS:Charm=2|Beauty=3`

Indicates that this is a 2nd level spell for the Charm domain, and 3rd level for the Beauty domain.

`DOMAINS:Fire=3|Magic=4[PREALIGN:2,5,8]`

Indicates that this is a 3rd level spell for the Fire domain, and 4th level for the Magic domain, but is only available to evil characters.

`DOMAINS:Charm=2|Beauty=3[PRECLASS:Supermodel=1]`

Indicates that this is a 2nd level spell for the Charm domain, and 3rd level for the Beauty domain, but will only be added to the spell list of a character with a level of the Supermodel prestige class.

Tag Name: DURATION:x

Variables Used (x): Text (Spell duration)

What it does:

Reports the duration of the spell.

Formulas can be parsed and the results replaced in the output by enclosing the variables and formulas within parentheses.

CASTERLEVEL, a variable specifically designed for this purpose, is commonly used though other variables can be used as well.

Because anything within parentheses is assumed to be a formula to be parsed, text containing parentheses must substitute brackets [ ] in place of parentheses.

Example:

`DURATION:1 Round/Level`

This spell lasts for one round per level.

`DURATION:(CASTERLEVEL) rounds`

If CASTERLEVEL is equal to 3 then this outputs: "3 rounds".

*** Deprecated - Use DESC tag instead.

Tag Name: EFFECTS:x

*** Deprecated - Use TARGETAREA tag instead.

Tag Name: EFFECTTYPE:x

*** Updated

Tag Name: ITEM:x

Variables Used (x): Text (Item type)

What it does:

Tells PCGen what types of items this spell can be used to make (Potions, wands, wondrous items, etc).

Most often this is used to indicate the spell can be made into a potion.

Brackets can be used to prevent the spell from being used in the specified item.

Example:

`ITEM:Potion`

This spell can be used in a potion.

`ITEM:[Scroll]`

This spell can NOT be used in a scroll.

Tag Name: RANGE:x

Variables Used (x): Text (Spell range)

What it does:

Reports the range that the spell has.

Example:

`RANGE:Medium (100' + 5/lv)`

This spell has a range of 100 feet plus 5 feet per level.

Tag Name: SAVEINFO:x

Variables Used (x): Text (Spell save)

What it does:

Reports whether or not there is a save for the spell, and if so what it is.

Example:

`SAVEINFO:Will Negates`

A succesful Will save will negate the spell effects.

*** Updated 5.7.3

Tag Name: SCHOOL:x|x

Variables Used (x): Text (Spell School Name)

What it does:

This is a | (pipe) delimited list of Schools the spell belongs to and is used for specialist wizards to determine their favored schools bonus spells.

Example:

`SCHOOL:Divination`

This spell belongs to the "Divination" school.

`SCHOOL:Enchantment|Illusion`

This spell belongs to the "Enchantment" and "Illusion" schools.

*** Updated 5.7.3

Tag Name: SUBSCHOOL:x|x

Variables Used (x): Text (Spell Sub-School Name)

What it does:

This is a | (pipe) delimited list of Sub-Schools the spell belongs to and is used for specialist wizards to determine their favored schools bonus spells.

Example:

`SUBSCHOOL:Charm`

This spell belongs to the "Charm" sub-school.

`SUBSCHOOL:Creation|Calling`

This spell belongs to the "Creation" and "Calling" subschools.

*** Deprecated - Use CLASSES or DOMAINS tags instead

Tag Name: SPELLLEVEL:CLASS|x|DOMAIN|x

Tag Name: SPELLRES:x

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

What it does:

Indicates whether the character can try to resist the spell based on their Spell Resistance number.

Example:

`SPELLRES:Yes`

This spell is susceptable to spell resistance.

*** New

Tag Name: TARGETAREA:x

Variables Used (x): Text (Target area)

What it does:

- Reports the Target, Area, or Effects that the spell has.
- This replaces the deprecated EFFECTTYPE tag.
- Formulas can be parsed and the results replaced in the output by enclosing the variables and formulas within parentheses.
- CASTERLEVEL, a variable specifically designed for this purpose, is commonly used though other variables can be used as well.
- Because anything within parentheses is assumed to be a formula to be parsed, text containing parentheses must substitute brackets [ ] in place of parentheses.

Example:

`TARGETAREA:Cone`

Spell has a cone area of effect.

`TARGETAREA:(CASTERLEVEL*10) ft. cube`

If CASTERLEVEL is equal to 3 then this outputs: "30 ft. cube".

*** Updated 5.3.3

Tag Name: TYPE:x.x

Variables Used (x): Text (Spell type)

What it does:

- Indicates what "types" are associated with the spell.
- You can also Specify multiple types using the . (period) delimiter.

Example:

`TYPE:Arcane.Divine`

Spell is both "Arcane" and "Divine".

*** New

Tag Name: VARIANTS:x|x

Variables Used (x): Text (Spell Varient)

What it does:

- This is a | (pipe) delimited list of the names of variations of the spell.
- Optional Tag. Not all spells have varients.
- Used when creating custom magic items (such as scrolls and wands). User must select one of the variants when creating such an item.

Example:

`VARIANTS:Blast|Spell`

Names the two variations of the spell.

`VARIANTS:Acorn Grenades|Holly Berry Bombs`

Names the two variants of the spell Fire seeds.

Tag Name: XPCOST:x

Variables Used (x): Number (Spell XP Cost)

What it does:

Denotes how much the spell costs to cast, used for determining potion, wand, etc costs.

Example:

`XPCOST:1250`

Spell costs 1250 Experience points to cast.