over 2 years ago - /u/Community_Team - Direct link
over 2 years ago - /u/Community_Team - Direct link
over 2 years ago - /u/Mark_GGG - Direct link

Originally posted by dicedragon

Reduced in the context of resistance is different. Just like "increased damage taken" is a more multiplier for general use but additive with itself.

Reduced resistance exists on the blight helmets.

(#)% reduced (element) Resistance - This modifier is calculated differently than this one: -(#)% to (element) resistance

Flat number sources of plus or minus resist are added together first.
Reduced modifiers are multiplied after. When you have positive resistances, reduced modifiers make your resists less. When you have negative resistances, reduced modifers raise your resistances. At 50% reduced resistance all positive or negative resistances will require twice as much flat percentage base for players trying to reach their desired amount. 

From the wiki for the fire one.

Reduced in the context of resistance is different.

This is incorrect. "reduced" in the context of resistance works exactly the same as "reduced" everywhere else in PoE - it lowers the value (resistance in this case) by a percentage of that value, and stacks additively with other "reduced" or "increased" modifiers to the same value*. This is what "reduced" always means in PoE, with no exceptions.

There is nowhere in PoE where "reduced" just subtracts from a value - the minus sign "-" is used for those modifiers, because they are not reductions.

* this part is responsible for the damage taken thing you mention - "damage" and "damage taken" are different values - one being calculated by the attacker before any mitigation, and one being calcualted by the defender after mitigation. While those values are often related in some way, it's entirely possible for them to have nothing to do with each other. They are fundamnetally different values, that exist at different times, and it's not at all possible for modifiers to those two different values to stack additively with each other, because they're not really "stacking" at all - they're applying to different things at different times.

over 2 years ago - /u/Mark_GGG - Direct link

Originally posted by Ignisami

Resists use different wording. Flat reductions and increases are listed as +/- resist and not increased/reduced. Which means that increased/reduced (in the absence of other sources of increased/reduced, which is the case for the vast majority of builds) effectively acts as a more/less multiplier to resists instead.

That's not resistances using different wording. That's resistances using exactly the same wording as every other modifier in the game.

"increased" and "reduced" always modify a value by a percentage of that value, they never just add or subtract. They stack additively with other modifiers to the value, not with the value itself.

This is consistent across every "increased" and "reduced" modifier in the game.

over 2 years ago - /u/Mark_GGG - Direct link

Originally posted by GKP_light

please change the "reduce" to "less".

for near all build, it would change nothing, and it would be mush more clear.

It changes a lot internally, adding overhead to the modifier that is unecessary.

over 2 years ago - /u/Mark_GGG - Direct link

Originally posted by ZeusKabob

That's really interesting, now you've got me very curious about how that works internally. In my mind modifiers worked by taking an accumulator bucket for additions/subtractions, an accumulator bucket for increases/reductions, and then multiplying them with each more multiplier in order, optimizing to ignore each step if there's no modifiers to them.

You'd end up not having to create an accumulator for increases/reductions, but then have to do a product of a single more multiplier, which I'd have imagined would be easier.

Perhaps my oversimplified assumptions are what makes it different from what's actually been done.

edit: Oh perhaps the more/less modifiers have to be maintained as objects where increases/reductions can simply have its value added to each accumulator bucket that qualifies for its mods and then ignored from then on?

Stats have values, and those values can come from multiple sources. The value of the stat is fundamentally the sum of all the values contributed from things adding that stat - i.e. any given stat is fundamentally additive with itself. This makes sense, if boots give 3 value of something, 3 passives give 2 each, and a buff gives another 1, you expect to have 10 total value of that thing.

As such, only one stat is needed for standard increased/reduced [thing] modifiers, and each thing that needs to increase or reduce [thing] just adds some value component to the [thing] increase/reduce stat (positive for increasing, negative for reducing).

But each multiplicative modifier needs to be it's own separate stat and can't be re-used in any context where something could end up getting the same one from multiple sources, because they would stack incorrectly if that happened. And each of those stats needs to be implemented in the relevant calculation (instead of re-using an existing stat that's already implemented), making that calculation longer and more complicated.

over 2 years ago - /u/Mark_GGG - Direct link

Originally posted by frn50

So if I have 2 [[Emberwake]] rings, the "40% less burning damage" stacks additively (since being the same item, it must be the same stat) and I end up with 80% less burning damage?

No, that's not the same stat in that case. Under the hood, Emberwake is one of those rings that gives a different stat based on whether it's in the right or left ring slot, just both the stats are 40% less burning damage multipliers.

But you have identified why rings and one-handed weapons rarely have multiplicative modifiers in general - because we have to do that kind of bullsh*t for them to work.