Modifier
Generally Modifiers change various aspects of the entity they are affecting. Most commonly Modifiers apply Stats, however they can also apply Buffs or grant Skills and can often be found on Items, Monsters, Strongboxess or Areas.
Overview
A Modifier should be seen as a instance of change applied to an entity. A basic modifier does nothing on it's own, it's given the effect by the associated Stats (and their values)), Buffs and Skills.
A modifier can be fixed (such as certain implicit modifiers on Items), but it can also be dynamically generated, usually as Affix or though Corruption.
Effects
For Stats modifiers include a minimum and maximum value, which is most commonly found on Item Affixes - the actual value of the stat in the cases where minimum and maximum are not the same will be randomized within, so for example a Stat with a minimum value of 1 and a maximum value of 3, can either be 1, 2 or 3.
If a Buff is specified, Modifiers also include a value for the buff, but unlike for Stats it is not randomized and fixed.
If a Skill is specified, the specified skill (at the specified level) will be granted to the relevant entity. The skill does not include values as they're defined by the skill level directly. Often this is found on items, where they grant skills, such as Module Error: No results found for item using search term "item_name = Whispering Ice" Unique Item
Conditions
Modifiers usually include conditions which are used to determine how they appear.
Mod Domain
The mod generation determines what entity the mod applies to. The domains are primarily reverse engineered, as detailed information has been removed from the game files.
Id | Type | Description |
---|---|---|
1 | Item | The mod is generated on Items (but not Jewels or Flasks) |
2 | Flask | The mod is generated on Flasks |
3 | Monster | The mod is generated on Monsters |
4 | Chest | The mod is generated on Chests (i.e. Strongboxes) |
5 | Area | The mod is generated on Areas |
6 | Unknown | |
7 | Unknown | |
8 | Unknown | |
9 | Stance | The mod is generated as a Stance (appears to be animation related) |
10 | Master | The mod is generated by Masters though Master Crafting |
11 | Jewel | The mod is generated on Jewels |
Mod Generation Type
The mod generation determines "how" the mod will be created on an item. The generation types are primarily reverse engineered, as detailed information has been removed from the game files.
Id | Type | Description |
---|---|---|
1 | Prefix | The mod is generated as prefix, for example Item Prefix |
2 | Suffix | The mod is generated as suffix, for example Item Suffix |
3 | Unique | The mod is "unique" - it is given directly to the relevant entity and not generated normally. For example, the mods on unique items have this property. |
4 | Nemesis | The mod is a Nemesis mod |
5 | Corrupted | The mod is a Corrupted mod and is given to the item upon corruption |
6 | Bloodlines | The mod is a Bloodlines mod |
7 | Torment | The mod is a Torment mod |
8 | Tempest | The mod is a Tempest mod |
Level
The required level of the relevant entity. For example, this can be the required Item Level or a Monster level.
However, there are cases where this is not respected though. In particular this is the case for any mods that are directly given to other entities, such as Implicit mods or Monsters with innate mods.
It also appears the mod level can be a factor in calculating the level requirement of Items, in particular this is the case for mods on unique items.
Tags
Some mods use the internal Tag system to determine on which entities they can appear and how likely they are to appear on entities. A mod can add tags to the entity it is modifying.
It primarily functions like this:
- find the Tags on the entity
- match the Tags against the mod's list of tags.
- for the found mods get the associated spawn weighting of the tag
- if the spawn weighting is zero, discard the mod, otherwise use it
- if multiple tags apply, the left-most tags are most important, where the right most tags are the least
So, for example:
- item A has the tags
[str_armour]
- item B has the tags
[dex_armour]
- the mod has the tags
[str_armour, int_armour, default]
with values[1000, 1000, 0]
- result A: Mod can spawn on the item A because it has the tag str_armour with a weighting of 1000
- result B: Mod can not spawn on item B because it defaults to 0 and no tags are found
Developer information
Relevant data can be found in the content.ggpk
Mods | Data/Mods.dat
|
List of mods with their associated stats & values, buffs and skills, conditions |
Mod Domains | Data/ModsDomains.dat
|
empty |
Mod Generation Types | Data/ModsGenerationTypes.dat
|
empty |
Note that many other .dat files link to the relevant row of Mods.dat.