Reference: ModTemplates.txt

Purpose

Defines a list of attribute (and which tables to generate stat ranges from) which are applied to each equipment type. Some equipment types roll different attributes or different stat ranges of those attributes (for example, chest armor provides more core stats than neck armor).

File Format

INI format. Delimiters are equal sign (=) and comma (,)
Comment character: semicolon (;)

Properties

Property Description
[ENTRY] Begins a new entry. Each entry should have a matching entry in EquipTable.txt with the equivalent mEquipType and mWeaponType values.
mEquipType String. The string name of the EquipType. Consult the EquipTypes table for a list of all possible names. Names must be in ALL CAPS.
mEquipType Integer. Corresponds to ItemDef mEquipType.
mWeaponType String. The string name of the WeaponType. Consult the WeaponTypes table for a list of all possible names. Names must be in ALL CAPS.
intrinsic Adds a stat to the "intrinsic" list. This list contains stats that are guaranteed to spawn on an item, and will not consume bonus slots. Intrinsic stats are typically: vendor cost (all equipment has it), armor rating (for all armors), and damage range (for all weapons).

Commonly used line format:
intrinsic=statName,tableName
Refer to the Modifier Line Format table below for information on these parameters.

always

Adds a stat to the "always" list. This list contains stats that will always spawn on an item, but they do consume bonus slots. Once all modifier slots are filled, no further modifiers may be rolled.

Commonly used line format:
always=statName,tableName,shares,core
Refer to the Modifier Line Format table below for information on these parameters.

mod

Adds a stat to the "mod" list. This list contains bonus modifiers that are selected at random. These bonus modifiers will not spawn unless the item still has available bonus slots after processing the "always" list.

The number of bonus slots is determined by the item's level and quality. See RarityConfig.txt for those controls.

Commonly used line format:
mod=statName,tableName,shares,core,maxApply
Refer to the Modifier Line Format table below for information on these parameters.

Modifier Line Format

Commonly used formats: note that some can be omitted, but if a later property in the list is needed then everything before it must be included.

intrinsic=statName,tableName
always=statName,tableName,shares,core
mod=statName,tableName,shares,core,maxApply
Property Description
statName String. This is normally the character stat property that the item will receive, and is applied to characters when equipped. Refer to a Character Stats for a full list of stat names. Note that only integer types are allowed for stat modification. This is because the data tables only support integers, and because string-type stats can't be mathematically altered.

Some exceptions to the above, there are a few particular stat names that can be used here. They signal to modify the item itself (and are not character stats). Those include: value (sets vendor price), wmin (sets minimum weapon damage), wmax (sets maximum weapon damage), and core (applies randomly to str/dex/con/psy/spi).

Yet another exception is that the pipe character may be used to apply two stats at once. Normally the min/max values for a stat are pulled from the data table, then a random number is rolled between the min/max, and that number is applied to one stat. The pipe will instead lookup the explicit minimum value from the table, and assign it to the first stat. Then the explicit maximum value from the table will be assigned to the second stat. A prominent example is weapon damage, which this feature was designed for. Using wmin|wmax will give a specific minimum and maximum damage values to a weapon.

Final note: unless the server code is modified, only the following character stats will display flavor text:

mod_melee_to_crit
mod_magic_to_crit
base_block
base_parry
base_dodge
mod_movement
melee_attack_speed
magic_attack_speed
dmg_mod_fire
dmg_mod_frost
dmg_mod_mystic
dmg_mod_death
base_healing
casting_setback_chance
channeling_break_chance
mod_health_regen
tableName String. The table to lookup the level and attribute value ranges. Table names are defined in ModTables.txt
shares Integer. Modifiers that are chosen at random will be selected based on their weighted shares, which can be used to make certain modifiers relatively more common or rarer than others.

Shares are only used for the "mod" list of bonus modifiers.

Shares cannot be lower than 1.

core Boolean. If set to 1, the value ranges from the table will be distributed at random into one of the five core attributes (strength, dexterity, constitution, psyche, spirit). This distribution method is hardcoded into the server. See RarityConfig.txt for the ratios that core points may be assigned.
maxApply Integer. The maximum number of slots that may roll this specific modifier. Once the maximum has been reached, the modifier is removed from the pool of available modifiers and cannot appear again on that item.

maxApply is only used for the "mod" list of bonus modifiers.

maxApply cannot be lower than 1.