Modifier: Difference between revisions

From Path of Exile Wiki
Jump to navigation Jump to search
>Adalace
>OmegaK2
(Changed the page as I've mentioned it on the discussion page. Most of the previous contents (in a reworked fashion) can be found on Stat.)
Line 1: Line 1:
{{Hatnote|For item properties, see [[Item Affix]].}}
{{Distinguish | Stats}}


{{cleanup|reason=The page confuses modifiers with affixes and stats. See [[{{TALKPAGENAME}}#cleanup]] for details.}}
Generally '''Modifiers''' change various aspects of the entity they are affecting. Most commonly '''Modifiers''' apply [[Stat]]s, however they can also apply [[Buff]]s or grant [[Skill]]s and can often be found on [[Item]]s, [[Monster]]s, [[Strongboxes]]s or [[Area]]s.


'''Modifiers''' change the magnitude of statistics. Some common modifiers include [[life]], [[mana]] regeneration, weapon damage, attack/cast speed, movement speed, and [[attributes]]. Modifiers can come from the passive tree, items, and other sources.
__TOC__


[[Category:Game mechanics]]
==Overview==


== Modifier scope and stacking ==
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 [[Stat]]s (and their values)), [[Buff]]s and [[Skill]]s.


All modifiers are either local or global.
A modifier can be fixed (such as certain [[implicit]] modifiers on [[Item]]s), but it can also be dynamically generated, usually as [[Affix]] or though [[Corruption]].


Modifiers are applied in this order:
==Effects==


# Local flat modifiers
For [[Stat]]s modifiers include a minimum and maximum value, which is most commonly found on [[Item Affix]]es - 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.
# Local percentage modifiers
# Global and skill flat modifiers
# [[Damage conversion]]
# Global and skill multiplicative modifiers
# Global and skill percentage modifiers


=== Local, global, and skill ===
If a [[Buff]] is specified, '''Modifiers''' also include a value for the buff, but unlike for [[Stat]]s it is not randomized and fixed.


Local modifiers are found exclusively on items. They are only effective when the item itself is being used; for example, a local modifier on a weapon in one hand will not affect attacks made with a weapon in the other hand. Confusingly, a modifier may be local on one type of item but global on another. Local modifiers include the following:
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 {{il|Whispering Ice}} [[Unique Item]]


Accessories (amulets, rings, belts):
==Conditions==
* None


Armours (shields, helmets, body armours, boots, and gloves):
'''Modifiers''' usually include conditions which are used to determine how they appear.
* Added or increased defenses
* Shield block chance
* Socketed gem levels


Flasks:
===Mod Domain===
* All mods
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.


Weapons:
{| class="wikitable"
* Added accuracy
! Id
* Attack speed
! {{abbr|Type|i.e. a short description of what it does}}
* Attribute requirements
! Description
* Critical strike chance
|-
* Damage (all types)
! 1
* Socketed gem levels
| Item
| The mod is generated on [[Item]]s (but not [[Jewel]]s or [[Flask]]s)
|-
! 2
| Flask
| The mod is generated on [[Flask]]s
|-
! 3
| Monster
| The mod is generated on [[Monster]]s
|-
! 4
| Chest
| The mod is generated on Chests (i.e. [[Strongboxes]])
|-
! 5
| Area
| The mod is generated on [[Area]]s
|-
! 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 [[Master]]s though [[Master Crafting]]
|-
! 11
| Jewel
| The mod is generated on [[Jewel]]s
|}


All other modifiers are global and affect the entire character, subject to types. For example, {{c|mod|increased defenses from shield}} would only affect the portion of defenses that come from your shield. However, it is a global modifier despite only affecting a single item.
===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.


Modifiers from skills are treated the same as global for purposes of computing a skill's effects, though they only apply to that particular skill. When support skills are linked to an active skill, all modifiers from all the linked skills apply to all aspects of the skill. For example, the {{c|mod|increased Fire damage}} modifier from a quality {{sl|Added Fire Damage}} will affect any fire damage dealt by the skill it is linked to, even the fire damage that is not added by the {{sl|Added Fire Damage}} support itself.
{| class="wikitable"
! Id
! {{abbr|Type|i.e. a short description of what it does}}
! Description
|-
! 1
| Prefix
| The mod is generated as prefix, for example [[Prefix|Item Prefix]]
|-
! 2
| Suffix
| The mod is generated as suffix, for example [[Suffix|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 item]]s 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
|-
|}


=== Flat, percentage, and multiplicative modifiers ===
===Level===
The required level of the relevant entity. For example, this can be the required [[Item Level]] or a [[Monster level]].


Flat modifiers usually (but not always) use the word {{c|mod|adds}} or {{c|mod|additional}}. They stack additively with other flat modifiers of the same scope. If they are applied to statistics that are expressed as a normal number, they do not have a percentage sign. If they are applied to statistics that are expressed as a percentage (e.g. {{c|mod|additional chance to block}}), they have a percentage sign, and the percentage is added, not multiplied. For example, {{c|mod|10% additional chance to block}} on a base of 30% chance to block would result in a 40% chance to block, not a 33% chance to block. Confusingly, all resistance modifiers are flat, even if they say {{c|mod|increased}}.
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.


Percentage modifiers have percentage signs and use the words {{c|mod|increased}} or {{c|mod|reduced}}. They stack additively with other percentage modifiers of the same scope. For example, two global modifiers of {{c|mod|100% increased}} produces a total of +200% increased (3x).
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 item]]s.


Multiplicative modifiers have percentage signs and use the words {{c|mod|More}} or {{c|mod|Less}}. They stack multiplicatively with other multiplicative modifiers of the same scope. For example, two global modifiers of {{c|mod|100% More}} (2x each) produces a total of +300% More (4x).
===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.


=== Quality ===
It primarily functions like this:
* find the [[Tag]]s on the entity
* match the [[Tag]]s 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


[[Quality]] acts as a local {{c|mod|increased physical damage}} modifier on weapon, a local {{c|mod|increased defenses}} modifier on armours, and a local {{c|mod|increased item quantity}} modifier on maps.
So, for example:
* item A has the tags <code>[str_armour]</code>
* item B has the tags <code>[dex_armour]</code>
* the mod has the tags <code>[str_armour, int_armour, default]</code> with values <code>[1000, 1000, 0]</code>
* 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


=== Flask ===
==Developer information==


Flasks have a nonstandard modifier structure. {{c|mod|Amount to Recover}}, {{c|mod|Recovery Speed}}, {{c|mod|Recovery Rate}}, and quality are all applied in independent steps. These are still subject to local and global scope.
Relevant data can be found in the '''content.ggpk'''


== Modifier Applicability ==
{| class="wikitable"
| Mods
| <code>Data/Mods.dat</code>
| List of mods with their associated stats & values, buffs and skills, conditions
|-
| Mod Domains
| <code>Data/ModsDomains.dat</code>
| empty
|-
| Mod Generation Types
| <code>Data/ModsGenerationTypes.dat</code>
| empty
|}


Each modifier has a set of Types determining to which statistics it applies. Types can be subtypes or supertypes of other Types. Supertypes affect their subtypes but not vice versa. Many Types correspond to skill [[keyword|keywords]]; however, this relationship is not strict. For example, {{sl|Molten Strike}} has the Melee keyword, but its projectiles do ''not'' do Melee damage, and {{sl|Explosive Arrow}} has the Attack keyword, but the charge detonation does ''not'' do Attack damage.
Note that many other .dat files link to the relevant row of '''Mods.dat'''.
 
Some words have special meanings:
 
* If a modifier specifies only one Type, or if the word {{c|mod|and}} is used to combine multiple Types, then the modifier applies to any combination of the Types. For example, {{c|mod|armour and energy shield}} affects Armour, or Energy Shield, or both Armour and Energy Shield.
* If a modifier specifies multiple Types not combined using the word {{c|mod|and}}, then it only applies to all of the Types together. For example, {{c|mod|elemental damage with maces}} would not affect non-elemental damage with maces, nor non-damage elemental effects with maces, nor elemental damage not dealt with maces.
* If the word {{c|mod|while}} is used in conjunction with an item Type, the modifier is effective globally whether the statistic applies directly to the item or not. For example, {{c|mod|while wielding a staff}} would apply to spells cast while wielding a staff, even though the staff is not involved in the casting of spells.
* If the word {{c|mod|with}} is used in conjunction with an item Type, the modifier is effective only when that item is being directly used. For example, {{c|mod|with claws}} would only affect attacks made with the claws themselves.
 
Converted statistics count as both the Type converted from and converted to, but can only be affected by a particular modifier at most once.
 
== Modifier types ==
 
These lists are non-exhaustive.
 
=== Statistic types ===
All modifiers specify which statistic they apply to.
 
* Area
* Attributes
** Dexterity
** Intelligence
** Strength
* Chance to block
* Chance to dodge
* Damage
* Defenses
** Armour
** Evasion
** Energy Shield
* Duration
* Life
* Mana
* Movement speed
* Speed
 
=== Damage modifier types ===
All damage is of exactly one damage modifier type, unless converted or added from another damage modifier type, in which they keep their previous damage modifier type(s) in addition to their new damage modifier type. Note that effects on the target, including resistances and reflect, are applied based on only the final damage type.
 
* Chaos
* Elemental
** Fire
*** Burning
** Cold
** Lightning
* Physical
 
=== Source types ===
Mines, traps, and totems use skills as if the player had used them. Otherwise, all sources have exactly one source type and do not take on the source type of their creator. For example, if a Mine creates a Trap, the Trap is not affected by Mine modifiers even though it was created by one.
 
* (Player): Unless otherwise specified, modifiers affect the player and skills used by the player.
* Mine
* Minion
** Specific minion type
* Totem
* Trap
 
=== Use types ===
 
All effects have at most one use type. Most effects are either Attacks or Spells. Damage over time is a separate use type. Some effects are none of these three, mostly those having to do with detonations: {{sl|Bear Trap}}, {{sl|Detonate Dead}}, {{sl|Vaal Detonate Dead}}, {{sl|Explosive Arrow}}, {{sl|Infernal Blow}}, and monsters with Volatile Blood.
 
* Attack
** Weapon
*** One-handed melee weapons
**** Specific weapon
*** Two-handed melee weapons
**** Specific weapon
** Melee (note that this is not a supertype of melee weapons)
*** Unarmed
* Cast
** Spell
*** Curse
* Damage over time
** Burning
 
=== Other types ===
* Buff
** Aura
* Projectile
** Bow
* Skill effect
* Status effect
** Ignite
** Freeze
** Chill
** Shock
* Stun
** Block (recovery)
 
==Diminishing marginal utility of “increased” modifiers==
Because increased modifiers are additive, the increase of total value by adding more and more 8% increased nodes becomes less effective. If you have 100 base Life, adding 8% increased life is worth a total of 8 health points or '''8%''' of your total life. If you have 100 base life and 250% increased life, adding 8% increased life is still worth a total of 8 health points, but this only accounts for '''2.3%''' of your total life.
 
 
Case 1
 
Total Life before 8% node = 100
 
Total Life after 8% node = 100 * (100 + 8 )/100 = 108
 
Increase in flat HP = 108 -100  = 8
 
Increase in % = 8/100 = '''8%'''
 
 
Case 2
 
Total Life before 8% node = 100 * (100 + 250)/100 = 350
 
Total Life after 8% node = 100 * (100 + 250+8 )/100 = 358
 
Increase in flat HP = 358 - 350 = 8 
 
Increase in % = 8/350 = '''2.3%'''
 
==Multiple “Less” and “More” modifiers==
“less” and “more” modifiers are applied multiplicatively as shown above.
30% “Less” Damage and 30% “more” Damage does not equal 100% Damage, but rather 91% Damage.
To Counteract 30% Less Damage you need 42.8% “more” Damage.
 
apply 30% LESS dmg to a value of 100
 
100 * (100-'''30''')/100 = 70
 
apply 30% MORE dmg to the result of the reduction
 
100 * (100-'''30''')/100 * (100+'''30''')/100 = 91
 
find MORE multiplier to result in no dmg loss after a LESS multiplier is applied
 
100 * (100-'''30''')/100 * (100+x)/100=100
 
100 * 70/100 *(100+x)/100 = 100 
 
70* (100+x)/100 = 100
 
70/100*x = 100 - 70
 
x = 30/70*100
 
x = 42.8
 
 
However, multiple sources of „more“ multipliers greatly improve the damage.
 
50% “more” damage from level 1 concentrated effect, and 30% “more” damage from level 1 remote mine add up to:
 
100 * (100+50)/100 * (100+30)/100= 195
 
That is a 95% increase of the base damage.
 
==Example==
Imagine I have 100 life, and two passive skills that give "15% increased Maximum Life". These stack additively, so the result is
 
100 + (100 * .15) + (100 * .15), or
 
100 * (1 + .15 + .15) = 130 life
 
Now I equip an item that gives +40 life, and choose a passive skill that grants +20 life. The integer bonuses are applied first, so I end up with
 
(100 + 40 + 20) * (1 + .15 + .15) = 160 * 1.3 = 208 life
 
Now I choose two passive skills that gives "10% more Maximum Life". These are multiplicative, so they are applied separately.
 
(100 + 40 + 20) * (1 + .15 + .15) * 1.10 * 1.10 = 251.68 life
 
Note that if they were additive, the result would be
 
(100 + 40 + 20) * (1 + .15 + .15 + .1 + .1) = 240 life
 
 
==Advanced Example==
Showcasing increased modifiers from different sources and the effect of multiplicative modifiers.
You are Witch using a level 10 Fireball Spell linked with a level 7 faster projectiles
Passive skills:
 
20% increased Elemental Damage with Spells
 
21% Increased Spell Damage
 
22% Increased Fire Damage
 
23% Increased Projectile Damage
 
24% Increased Fire Damage
 
8%  Increased Elemental Damage
 
6%  Increased AOE Damage
 
Modifiers from Equipment
 
15% Increased Spell Damage
 
16% Increased Fire Damage
 
Modifiers from linked Skills
 
13% Increased Projectile Damage
 
 
 
'''Case 1''': Fireball + Faster Projectiles
 
Base average Damage: 85 – 128 = 106.5
 
Total Damage:
 
106.5 * (100 + “Passives”(20 + 21 +22 +23 +24 +8 +6) + “Items”(15 +16) + “Skills”(13)) /100 = 285.42
 
'''Case 2''': Fireball + Faster Projectiles + a '''12%''' Spell Damage Node
 
Total Damage:
 
106.5 * (100 + “Passives”(20 + 21 +22 +23 +24 +8 +6 '''+12''') + “Items”(15 +16) + “Skills”(13)) /100 = 298.2
 
(That is a '''4.5 %''' increase in total Damage: 298.2/285.42-1)
 
'''Case 3''': Fireball + Faster Projectiles + lvl1 Concentrated Effect ('''50%''' More Damage)
 
106.5 * (100 + “Passives”(20 + 21 +22 +23 +24 +8 +6) + “Items”(15 +16) + “Skills”(13)) /100 * “Conc.Effect”(100'''+50''')/100 = 428.13
 
(That is a '''50 %''' increase in total Damage: 428.13/285.42-1)
 
'''Case 4''': Fireball + Faster Projectiles + lvl20 LMP ('''30%''' Less Damage '''38%''' increased Damage)
 
106.5 * (100 + “Passives”(20 + 21 +22 +23 +24 +8 +6) + “Items”(15 +16) + “Skills”(13'''+38''')) /100 * “LMP”( (100'''-30''')/100 = 228.12
 
(That is a '''20.1''' % '''de'''crease in total Damage: 228.12/285.42-1)
 
'''Case 5''': Fireball + Faster Projectiles + lvl20 LMP + lvl1 Concentrated Effect ('''30%''' Less Damage '''50%''' More Damage '''38%''' increased Damage)
 
106.5 * (100 + “Passives”(20 + 21 +22 +23 +24 +8 +6) + “Items”(15 +16) + “Skills”(13'''+38''')) /100 * “LMP”( (100'''-30''')/100 * “Conc.Effect”(100'''+50''')/100 = 342.18
 
(That is a '''19.9 %''' increase in total Damage: 342.18/285.42-1)


==See also==
* [[:Category:Mods]]
* [[Stat]]
* [[Affix]]


[[Category:Game mechanics]]
[[Category:Game mechanics]]

Revision as of 12:57, 15 October 2015

Not to be confused with Stats.

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.

See also