# Game Mode: statsandchecks.lst

This page is broken down ito four sections: Defining Statistics, Defining Checks, Defining Bonus Spells, and Defining Alignments.

## Defining Statistics

Tag Name: STATNAME:x

Variables Used (x): Text (The full name of the stat).

What it does:

Used to create stats in the program for the character to build upon.

Example:

`STATNAME:Awareness`

Creates a Stat named "Awareness".

Where it is used:

STATNAME Line.

Tag Name: ABB:x

Variables Used (x): Text (The abbreviation for the stat - usually three letters, capitalized).

What it does:

Defines the three letter Abbreviation for a statistic.

Example:

`ABB:AWR`

Example abbreviation of above example of "Awareness" stat.

Where it is used:

STATNAME Line.

Tag Name: STATRANGE:x|y

Variables Used (x): Number (Defines the bottom of the stat range).

Variables Used (y): Number (Defines the top of the stat range).

What it does:

Defines the available range for a particular stat.

Example:

`STATRANGE:-100|100`

Would allow a valid range for a stat of between negative 100 and positive 100.

Where it is used:

STATNAME Line.

*** Updated 5.10.1 RC1

Tag Name: STATMOD:x or if(x,y,z)

Variables Used (x): Formula (Any valid formula).

Variables Used (y): Formula (Any valid formula).

Variables Used (z): Formula (Any valid formula).

What it does:

Defines the formula used to determine a stats modifiers.

Example:

`STATMOD:floor(SCORE/2)-5`

Would calculate a stat modification as STAT divided by 2, round down, minus 5 (SCORE is the variable name for the stat value). Note: the formula can only contain 1 SCORE variable.

`STATMOD:if(CL<10,1,2)`

Would compare CL to 10 and return 1 or 2 as required.

`STATMOD:if((CL>5)||(TL>5),2,-4)`

Asks if Class Level or Total Level is greater than 5 then returns 2 or else returns -4.

`STATMOD:if(STR>DEX,STR,DEX)`

Asks if STR is greater than DEX then returns STR or else returns DEX

Where it is used:

STATNAME Line.

Tag Name: DEFINE:MAXLEVELSTAT:x|y

Variables Used (x): Text (stat abbreviation).

Variables Used (y): formula (formula that gives the desired maximum).

What it does:

Determines the maximum level of spell/ability you can use based on the referenced stat.

The only known hardcode VAR with a = in it.

Example:

`DEFINE:MAXLEVELSTAT:WIS|WISSCORE-10`

Maximum spell level is Wisdom -10 (<ABB>SCORE is the variable name for the stat value).

Where it is used:

STATNAME Line.

Tag Name: BONUS:x

Variables Used (x): Text (as per global bonus tags).

What it does:

Bonuses may be applied to stats as would be appropriate.

Example:

`BONUS:COMBAT|AC|1|TYPE=NaturalArmor`

Bonus of +1 to Natural Armor.

Where it is used:

STATNAME Line.

Tag Name: BONUS:HP|x|y

Variables Used (x): Text (A defined HP type).

Variables Used (y): Formula (Amount to add to the HP type).

What it does:

Sets a bonus to the HP type specified.

Example:

`BONUS:HP|WOUNDPOINTS|CON`

Adds a characters CON bonus to the WOUNDPOINTS total at each level.

`BONUS:HP|ALTHP|CONSCORE`

Adds a characters CONSCORE to the ALTHP total as defined in miscinfo.lst.

`BONUS:HP|BONUS|CON`

Adds a characters CON bonus to the Primary HP total as defined in miscinfo.lst.

`BONUS:HP|CON`

Adds a characters CON bonus to the Primary HP total as defined in miscinfo.lst.

Where it is used:

STATNAME Line.

Complete Line Example:

`STATNAME:Charisma ABB:CHA STATRANGE:-100|100 STATMOD:floor(SCORE/2)-5 DEFINE:MAXLEVELSTAT=CHA|CHASCORE-10`

*** New 5.10.1 RC1

Tag Name: BONUS:LANG|x|y

Variables Used (x): defined variable

Variables Used (y): Number, variable or formula

What it does:

Adds to defined varaibles

Example:

`BONUS:LANG|BONUS|INT`

Adds the value of INT modifier to total the defined variable and language skill, as defined in miscinfo.lst and else where.

Where it is used:

STATNAME Line.

## Defining Checks

Tag Name: CHECKNAME:x

Variables Used (x): Text (The name for the check you wish to use).

What it does:

Defines checks to later be used for saving throws.

Example:

`CHECKNAME:Fortitude`

Defines "Fortitude" as a valid check.

Where it is used:

CHECKNAME Line.

Tag Name: BONUS:CHECKS|x|y

Variables Used (x): Text (The name to be used for display on the character sheet - should be all caps).

Variables Used (y): Text (The three letter abbreviation of the stat that this save is based on - should be all caps).

What it does:

Defines what stat gives a bonus to what check (BONUS:CHECKS is the ONLY statement that will work on CHECKNAME lines, besides the CHECKNAME tag itself).

Example:

`BONUS:CHECKS|FORTITUDE|CON`

Defines that "Constitution" gives a bonus to "Fortitude" checks.

Where it is used:

CHECKNAME Line.

Complete Line Example:

`CHECKNAME:Fortitude BONUS:CHECKS|FORTITUDE|CON`

## Defining Bonus Spells

This section is used to implement Bonus Spells by ability or level.

*** New 5.11.13

Tag Name: ABILITY:ADDSPELLLEVEL|x

Variables Used (x): Number (with + or -)

What it does:

Set the increase in spell level that this metamagic feat costs to apply.

Example:

`ABILITY:ADDSPELLLEVEL|1`

Adds 1 to the spell level.

`ABILITY:ADDSPELLLEVEL|+2`

Adds 2 to the spell level.

Where it is used:

STATNAME Line.

Tag Name: BASESTATSCORE:x

Variables Used (x): Number (The necessary minimum spellcasting ability score to receive the bonus).

What it does:

Set's the minimum spellcasting ability score necessary to receive this bonus spell slot. (Spellcasting ability score is WIS for Sorcerers, INT for Wizards, etc.).

Example:

`BASESTATSCORE:12`

Defines that a base stat of 12 is required for bonus spells.

Where it is used:

BONUSSPELLLEVEL Line.

Tag Name: BONUSSPELLLEVEL:x

Variables Used (x): Number (The level you are defining bonus spells for).

What it does:

Defines the level of bonus spells.

Example:

`BONUSSPELLLEVEL:1`

Defines that bonus spells are for level 1.

Where it is used:

BONUSSPELLLEVEL Line.

Tag Name: STATRANGE:x

Variables Used (x): Number (The increment in the score necessary to get another bonus spell slot of the indicated level).

What it does:

Indicates the increment in the spellcasting ability score necessary for the bonus spell granted on this line to be given again.

Example:

`STATRANGE:8`

Base stat score +8 is required before another spell is given.

Where it is used:

BONUSSPELLLEVEL Line.

Complete Line Example:

`BONUSSPELLLEVEL:1 BASESTATSCORE:12 STATRANGE:8`

## Defining Alignments

Tag Name: ALIGNMENTNAME:x

Variables Used (x): Text (The name of the alignment).

What it does:

Used to define the various alignments the program understands. New custom alignments, or changes to existing alignments are all possible.

Example:

`ALIGNMENTNAME: Lawful Good`

Defines the alignment "Lawful Good".

Where it is used:

ALIGNMENTNAME Line.

Tag Name: ABB:x

Variables Used (x): Text (The abbreviation for the alignment - usually 2 letters, capitalized).

What it does:

Used to define the abbreviation displayed for each of the various defined alignments. The abbreviation does not necessarily have to be 2 letters, it can be longer.

Example:

`ABB:LG`

Defines the abbreviated alignment as "LG".

Where it is used:

ALIGNMENTNAME Line.

Complete Line Example:

`ALIGNMENTNAME: Lawful Good ABB:LG`