How modifiers work (maybe)
This is one of those things that I think is obvious to some, but not everyone. Also, perhaps not everyone who knows this understands this in this way, and this way might be simpler overall. But my real reason for explaining this is to try to find out where the explanation might be broken. More on that later.
First of all, what do I mean by "modifier?" A modifier is basically any effect that alters a stat. Buffs, debuffs, and passive effects that affect a stat are all modifiers. Fury is a modifier (that modifies attack). Armor break is a modifier (that modifies armor rating). "Modifier" is just easier and shorter to use than "all buffs, debuffs, and passive effects that affect a stat."
So for those that don't know, or are confused, or may have this wrong, here's two questions:
1. What is the difference between a multiplicative and additive modifier?
2. In what order are modifiers calculated?
These are actually trick questions. The answer to the first is "fundamentally nothing" and the answer to the second is "the question is meaningless." Here's why.
Every once in a while someone comes along and claims that -100% AAR should reduce ability accuracy to zero, regardless of any other effects that occur. For example, suppose we have -100% AAR and a +50% AA effect. Either the -100% AAR is applied first reducing AA to zero, whereupon +50% would still be zero, or the -100% AAR is applied last, in which case no matter what AA is at that point -100% AAR should reduce it to zero. The words "logical" and "mathematical" are often tossed in there. In fact, AA normally becomes 50% at that point. Sometimes, the counterargument is that those modifiers aren't actually multiplicative, they are additive, so AA is just 100% - 100% + 50% = 50%. This is actually *wrong*.
The correct answer is: both the -100% modifier and the +50% modifier are relative to the *base* value. So -100% is -100% of base, and +50% is +50% of base, so we have Base - 100% x Base + 50% x Base = 50% x Base. Since base ability accuracy is usually 100%, the final value is 50%. But why?
Here's the actual reason. In terms of what the game itself understands, all modifiers are additive. All modifiers simply add their value to the base. But there are two kinds of modifiers: normal modifiers and relative modifiers. Normal modifiers literally add their value to the base stat they modify. So if you have a +100 Fury buff, you add 100 to the base attack value. Relative modifiers are also additive, but their actual value is relative to the base value which is another way of saying their value is some multiple of the base value. So if you had a +100 Fury buff and it was designated a relative modifier, that wouldn't add 100 to base attack, that would add 100 x BaseAttack to the base value of attack. What we humans see as a "percentage modifier" is actually a relative modifier. +5% is actually a 0.05 relative modifier. -100% is actually a -1.0 relative modifier.
With that said, here's the rule for all modifiers: all modifiers add to the base value of the stat.
That's it. Since all modifiers are additive, by definition order doesn't matter. It never matters in what order you add numbers together, you always get the same result. Question 2 above is basically meaningless because it doesn't matter. Furthermore, all modifiers are actually additive. Question 1 above is also more or less meaningless. True: there is some multiplication involved in *calculating* the value of a relative modifier, but that modifier is added to the base value of the stat it modifies just like all other modifiers. Those of us who have been calling these "multiplicative modifiers" (including me) have been unintentionally steering some people wrong. No modifier is "multiplicative" they are all additive in terms of how they work. Some are absolute value some are relative value, all add to the stat.
This solves the riddle of -100% AAR. The people who think that should reduce ability accuracy to zero believe that -100% is minus one hundred percent of ability accuracy. It isn't. It is minus one hundred percent of base ability accuracy. It is just a kind of "short hand" for the *additive* modifier "negative one point zero value added to the base ability accuracy stat." It does not *multiply* anything to zero, it *subtracts* something down to zero, but other things can still add to that value to bring it back to a positive number.
For those who basically "get" the whole "percents are relative to base value" thing, this is all old news. But for those that don't, and for those that know the math but might not know why, here's all you have to remember:
1. All modifiers add to the base value.
2. Non-percentage modifiers are direct or "normal" modifiers by default.
3. Percentage modifiers are relative modifiers by default. You determine their value by taking a percentage of the base value of the stat they modify.
4. The key word "flat" means a percentage modifier should be treated as a direct modifier, not a relative one.
If base ability accuracy is 60%, then a +10% AA modifier is a +10% relative modifier, which is equal to a +6% direct modifier, and AA increases from 60% to 66%. But a +10% flat modifier should be interpreted as a +10% direct modifier, which means ability accuracy increases from 60% to 70%.
For those that did not know how this works, hopefully this helps. For those that already did, here's my question: where in the game does this explanation fail? Are there direct percentage modifiers that are not explicitly stated to be "flat" (I'm pretty sure there are)? Are there relative modifiers that are not described as such, or flat modifiers that are not described as such? Is there anywhere in the game where a modifier appears to be working in a completely different way?
My goal here is to a) firm up our understanding of modifiers to make sure we've accounted for all the behavior in the game, b) find and resolve any bugs that might exist surrounding how modifiers work, and c) fix up all the in-game descriptive text that is wrong. If we can gather all that stuff up in one place, I can try to direct the developers to take a look at it and maybe fix a bunch of it.
Also, if anyone thinks my description of how this stuff works is completely wrong, please explain. I've been wrong before, and if someone has a better or more accurate description of how this stuff works, I'd like to hear it. If it is provably better, I'll adopt it. One thing I'm hopeful might happen is that we eventually extinguish calling modifiers "multiplicative" and start calling them "relative" because I think that terminology is less confusing. But if someone has a better idea there as well, I'm all ears.