Search In
Find results that contain...
Find results in...

# [MECHANICS] Attack Speed, Recovery Time, Reload Time

## Recommended Posts

I feel with dual wielding pistols being able to shoot same target twice for burst fire or shoot 2 targets 1 time each is enough to justify a slower reload time, on top of not having the +12 acc from single wield, I wouldn't say make it twice as long to reload but maybe something like 1.5x the reload speed of a single pistol.

Kinda just want single wield pistol to be able to load faster, I would take that over +12 acc if I had to

##### Share on other sites

I don't follow some of the points. You say "double inversion" makes attack speed maluses worse than equivalent positive bonuses, but if coefficients are computed correctly, the net effect of the first inversion is to simply turn the coefficient of penalties into the "tool-tip" negative additive bonus, and then the second inversion returns it back to a coefficient.

By "computed correctly" I mean if you have something that has a tool-tip/stated value of reduction your action speed by 25%, the coefficient would be .8, not .75 (if you naively did coeff = 1 - .25).

The values for armor recovery coefficient suggest that obsidian is storing the "correct coefficient" (e.g. .645 = 1/1.55 instead of .45 = 1 - .55 for heavy armors), at least for action speed. Unless I'm not following the equation, all the first inversion does is turn the .645 into a -.55 additive modifier, which means it has the same exact weight as any positive bonus to your action speed. The second inversion (if the penalties over-power your bonuses) simply turns it into a coefficient again in a manner that is exactly what it should be.

Maybe you have a better insight into what coefficients are being used, but in abstract I don't think the "double inversion" thing is correct.

EDIT: i realize everyone powergaming has been talking about double inversion throughout the backer beta so it might feel like i'm just coming out of nowhere with this, but I didn't really start paying attention to the math until release. I'm actually legit a little confused about this, so any correction would be helpful.

Edited by thelee

##### Share on other sites

Also I might be wrong about this, but I think it is incorrect to call action speed in Deadfire "diminishing returns". The ultimate metric you are measuring is actions/second, not your recovery rate or attack speed, and so while the visible effect on your tool-tip recovery numbers looks like it becomes less and less impactful, the number you are shrinking is effectively the denominator for the true metric, which means small increases on small numbers can be just as impactful as large increases on large numbers. So while Pillars had increasing returns (up until you had zero recovery), I'm pretty sure Deadfire legitimately has linear returns.

Edited by thelee

##### Share on other sites

There are diminishing returns because of the base formula: phase duration = base phase duration / speed coefficient

To keep things simple, lets assume we have a base duration of 100 seconds and we have enough speed modifiers to half the duration:

100 / 2 = 50

Now we add the same amount of modifiers on top of this. Now we have:

100 / 3 = 33,3

result: You have improved from double speed to tripple speed.

You had zero bonusses in the beginning. Then you added a bonus and the duration gets shorter by 50 seconds. Then you put exactly the same bonus on top of that and you get an additional duration cut of 16,7 seconds. ( 50 - 33,3 )

Getting a bonus once reduces duration by 50 seconds and getting the same bonus on top of that gives you a reduced duration of 16,7 seconds on top of that. Thats diminishing returns.

We need diminishing returns with the formulas we have now. Otherwise it would be possible to get a negative duration or negative damage which makes no sense. In PoE1 the devs "cheated" because all things that said "increases speed" only reduced recovery and recovery could reach zero. In PoE2 abilities really influence action speed so the devs need to make sure that the attack or casting time does not reach zero.

##### Share on other sites

so the devs need to make sure that the attack or casting time does not reach zero.

Its easy - just limit speed to 80% cap, OR limit speed effect to non-stackable, when only DEX+ most powerful buff + most powerful item's passive work. Ofc, they must keep values near 25-30 to each.

Same with recovery.

And with this solution we cant have stupid situation, when CRIT do lower dmg, than HIT, or when 40% slow = 70% haste.

Edited by Zzz

##### Share on other sites

Helm is sold by the beach merchant at the slavers fort. Forget the name of the fort. Begins with an "S".

##### Share on other sites

There are diminishing returns because of the base formula: phase duration = base phase duration / speed coefficient

To keep things simple, lets assume we have a base duration of 100 seconds and we have enough speed modifiers to half the duration:

100 / 2 = 50

Now we add the same amount of modifiers on top of this. Now we have:

100 / 3 = 33,3

result: You have improved from double speed to tripple speed.

You had zero bonusses in the beginning. Then you added a bonus and the duration gets shorter by 50 seconds. Then you put exactly the same bonus on top of that and you get an additional duration cut of 16,7 seconds. ( 50 - 33,3 )

Getting a bonus once reduces duration by 50 seconds and getting the same bonus on top of that gives you a reduced duration of 16,7 seconds on top of that. Thats diminishing returns.

We need diminishing returns with the formulas we have now. Otherwise it would be possible to get a negative duration or negative damage which makes no sense. In PoE1 the devs "cheated" because all things that said "increases speed" only reduced recovery and recovery could reach zero. In PoE2 abilities really influence action speed so the devs need to make sure that the attack or casting time does not reach zero.

That's not what diminishing returns are though. The "true metric" is DPS, or actions/second more generally. When you go from 100/2 to 100/3 in your example the same number of modifiers is giving you the same increase in DPS or actions/second, from 1x => 2x and then 2x => 3x. That's precisely linear returns.

Avoiding zero or negative recovery is simply avoiding increasing returns. You can avoid zero or negative recovery and have linear returns.

It's the same reason why deflection in pillars has INCREASING returns. Even though each point gave you one point of deflection on your tooltip, the "true metric" was your effective health, which would eventually become infinite with a sufficiently high deflection. Paying attention to what your "true metric" is very important.

##### Share on other sites

Is there a comprehensive list of coefficients anywhere?

I think part of the confusion is that I think damage equation is legit bugged. Because from that blunted critical screenshot upthread, the damage numbers are only possible if Obsidian is naively using 1-1/.75 as the coefficient, and NOT the "correct" one of 1-1/.8 for blunted critical (assuming the damage equation is still similar to the action speed equation). Effectively this means all stated damage penalties are worth more than they actually are, regardless of whether it is combined with positives or not.

Whereas at least with action speed, when I was diagnosing a bug in the tech support thread, the "correct" malus coefficients appeared to be being used, e.g. armor, sharpshooter, overdraw.

Double inversion itself doesn't overweight negatives. It only goes so if the negative values themselves are initially stored/calculated in-game incorrectly.

EDIT: here's some rhetorical thought experiment for some obvious, well-known cases.

a) Why are armor coefficients the way they are? Why is heavy armor .645 instead of (1-.55)?

b) Back when overdraw was a +100% recovery speed penalty, I think it was confirmed that the coefficient being used was .5, not (1-1 =) 0, which would be a divide by zero error anyway. Why was it .5?

Once you've answered a and b, what should the coefficient for a -50% penalty be? Hopefully from A and B we can logically see that it shouldn't be .5 (that's the same as a -100% penalty), and that it actually should be 1/1.5 = .6667. Which means, from MaxQuest's example on the first page:

-25% action speed from Arbalest's modal, which translates into 0.75 speed coefficient

The game takes 1.25 and transforms it into +0.25 (step_value) via [coef - 1] formula
The game takes 0.75 and transforms it into -0.(3) (step_value) via [1 - 1/coef] formula
Now it adds them together: step_sum = 0.25 - 0.333333 = -0.083333

Is it actually confirmed from in-game files that the -25% arbalest modal is implemented as a .75 (=1-.25) coefficient and not a .8 (=1/1.25)? Because if this is real and not just hypothetical then Obsidian has buggy coefficients for action speed as well, because clearly they have the correct coefficients elsewhere (despite what the in-game tool-tip says) for things like armor (which says e.g. +20% recovery but is internally a .8333x coefficient, not .8x) and dual wield bonuses (which says -30% recovery time but is internally a 1.428x coefficient not 1.3x), and at least by my own calculations, something like sharpshooter penalty (a -10% recovery penalty that is implemented as a .91x coefficient not .9x). I feel like filing bugs in the technical support forums for specific coefficients would be far more productive than complaining about a percieved balance decision about maluses via double-inversion (which mathematically isn't an issue).

I'd check numbers in-game, but I'm at work.

Edited by thelee

##### Share on other sites

The big advantage to Dual Wielding pistols is the alpha strike where both guns are fired.  So they're nice on any flavor of Stealth Assassin since both shots apply to the bonus sneak attack damage, and its reportedly broken with Black Jack spam.  Otherwise a single pistol is the Superior choice as you can use the Modal ability to get -50% reload, while only losing 3ACC.  +12ACC bonus for 1H, -15ACC for the Modal nets -3ACC.  You CAN get a faster reload on Dual Pistols if you take the Modal ability as well, but it only ends up being like a 0.4sec to 0.5sec improvement in reload, due to diminishing returns, at the cost of now -27ACC... which is really -39ACC overall since you could've had +12ACC from using a single pistol.

##### Share on other sites

You CAN get a faster reload on Dual Pistols if you take the Modal ability as well, but it only ends up being like a 0.4sec to 0.5sec improvement in reload, due to diminishing returns, at the cost of now -27ACC... which is really -39ACC overall since you could've had +12ACC from using a single pistol.

I'm waiting for confirmation/tests on action speed coefficients before making this case stronger because things might still be weird for maluses, but for bonuses that's not diminishing returns.

When your reload speed is already lowish, smaller absolute decreases are needed to achieve the same result as when your reload speed was longer; a 1s reduction at a reload speed of 5s is much, much, much weaker than a 1s reduction at a reload speed of 2s.

I put together a dumb spreadsheet to show this:

here's a screenshot of the important chart:

This hypothetical scenario assumes you attack for an average of 15 damage every 5 seconds (combined attack+recovery time), and that chart shows you how much damage you do over one minute. You can make the equations as complicated and as representative of actual in-game numbers as you want, but this hypothetical abstraction is good enough for our purposes.

You'll notice that we have a straight, solid diagonal line going from 0% bonus to 200% action speed bonus. That is literally the definition of linear returns.

(For the calculus-inclined, more formally linear returns means that for a function f(x), the second derivative f''(x) = 0).

Edited by thelee

##### Share on other sites

I looked at a few in-game examples last night and I can at least confirm that the maluses I saw were using correctly computed coefficients so e.g. no overweighting, just like a straight additive modifier. But that was only a few more than from above. (looked at other armor examples and a couple of weapon/shield modals that increase recovery time)

Adding to the confusion is that the tooltip doesn't show every effect. For example I had a character with a Swift inspiration, and while their tooltip recovery was correct, the listed modifiers showed only the unmodified dexterity bonus.

Edited by thelee

##### Share on other sites

The big advantage to Dual Wielding pistols is the alpha strike where both guns are fired.  So they're nice on any flavor of Stealth Assassin since both shots apply to the bonus sneak attack damage, and its reportedly broken with Black Jack spam.  Otherwise a single pistol is the Superior choice as you can use the Modal ability to get -50% reload, while only losing 3ACC.  +12ACC bonus for 1H, -15ACC for the Modal nets -3ACC.  You CAN get a faster reload on Dual Pistols if you take the Modal ability as well, but it only ends up being like a 0.4sec to 0.5sec improvement in reload, due to diminishing returns, at the cost of now -27ACC... which is really -39ACC overall since you could've had +12ACC from using a single pistol.

Wait. Does not the first attack cease stealth/invisibility?

There are diminishing returns because of the base formula: phase duration = base phase duration / speed coefficient

We need diminishing returns with the formulas we have now. Otherwise it would be possible to get a negative duration or negative damage which makes no sense. In PoE1 the devs "cheated" because all things that said "increases speed" only reduced recovery and recovery could reach zero. In PoE2 abilities really influence action speed so the devs need to make sure that the attack or casting time does not reach zero

That's not what diminishing returns are though. The "true metric" is DPS, or actions/second more generally. When you go from 100/2 to 100/3 in your example the same number of modifiers is giving you the same increase in DPS or actions/second, from 1x => 2x and then 2x => 3x. That's precisely linear returns.

Avoiding zero or negative recovery is simply avoiding increasing returns. You can avoid zero or negative recovery and have linear returns.

It's the same reason why deflection in pillars has INCREASING returns. Even though each point gave you one point of deflection on your tooltip, the "true metric" was your effective health, which would eventually become infinite with a sufficiently high deflection. Paying attention to what your "true metric" is very important.

Could you please advise if the figures in my char sheet are lower because the calculations are made according to that formula with other buffs taken into account. Only Dual Wield bonus is the same as it should be (30). I used to think it is a bug.

Edited by Sotnik

##### Share on other sites

Than you very much MaxQuest.

It would be very good if we have the damage formula too.

I already explained to somebody in the bug forum that it is not a bug if +25% damage and -25% damage do not result in base damage and I am sure there are many other confused players as well.

I have tried to make a thread about such thing but it got lost in the huge amount of new threads that come permanently.

https://forums.obsidian.net/topic/98616-game-mechanics/

There will be tons of other things that many players will not understand, but damage and speed are the most importent ones because

- everybody wants to attack as fast as possible

- everybody wants to do as much damage as possible

- in both formulas +X% bonus and -X% penalty do not add up to zero

Another thing that would be interesting to know is stacking: What stacks and what not?

I have heared that all passive effects stack but active effects do not stack.

But then we have the question which effect is active and which effect is passive.

I think Boeroer said that weapon modals are active so the +2 pen does not stack with buffs ( I am not sure ).

This will also confuse many players, at least I failed the will save agains mind effecting mechanics

Yeah, we're really at the point where we need a DPS calculator not just an attack speed calculator. Unfortunately I don't have the "chops" to write one out.

##### Share on other sites

The big advantage to Dual Wielding pistols is the alpha strike where both guns are fired.  So they're nice on any flavor of Stealth Assassin since both shots apply to the bonus sneak attack damage, and its reportedly broken with Black Jack spam.  Otherwise a single pistol is the Superior choice as you can use the Modal ability to get -50% reload, while only losing 3ACC.  +12ACC bonus for 1H, -15ACC for the Modal nets -3ACC.  You CAN get a faster reload on Dual Pistols if you take the Modal ability as well, but it only ends up being like a 0.4sec to 0.5sec improvement in reload, due to diminishing returns, at the cost of now -27ACC... which is really -39ACC overall since you could've had +12ACC from using a single pistol.

Wait. Does not the first attack cease stealth/invisibility?

There are diminishing returns because of the base formula: phase duration = base phase duration / speed coefficient

We need diminishing returns with the formulas we have now. Otherwise it would be possible to get a negative duration or negative damage which makes no sense. In PoE1 the devs "cheated" because all things that said "increases speed" only reduced recovery and recovery could reach zero. In PoE2 abilities really influence action speed so the devs need to make sure that the attack or casting time does not reach zero

That's not what diminishing returns are though. The "true metric" is DPS, or actions/second more generally. When you go from 100/2 to 100/3 in your example the same number of modifiers is giving you the same increase in DPS or actions/second, from 1x => 2x and then 2x => 3x. That's precisely linear returns.

Avoiding zero or negative recovery is simply avoiding increasing returns. You can avoid zero or negative recovery and have linear returns.

It's the same reason why deflection in pillars has INCREASING returns. Even though each point gave you one point of deflection on your tooltip, the "true metric" was your effective health, which would eventually become infinite with a sufficiently high deflection. Paying attention to what your "true metric" is very important.

Could you please advise if the figures in my char sheet are lower because the calculations are made according to that formula with other buffs taken into account. Only Dual Wield bonus is the same as it should be (30). I used to think it is a bug.

Boy that's confusing. IIRC, Swift Strikes is a increase of +20% action speed, right? But in that recovery speed tooltip it's listed as a -17% bonus. I mean, what the heck.

But naively just using the listed bonuses, 3.0s is correct. 5.0s/(1 + .06 /*dex*/ + .458 /*dual wield*/ + .17 /*swift strikes, apparently*/) = 2.96s rounds to 3.0s.

##### Share on other sites

Is there a comprehensive list of coefficients anywhere?

Not that comprehensive, but there is. They are in game files that can be accessed in the open, using a simple text editor like notepad.

Check the statuseffects.gamedatabundle file.

It is located in /PillarsOfEternityII_Data/exported/design/gamedata/ folder.

Or you can check it's copy that I uploaded here.

Is it actually confirmed from in-game files that the -25% arbalest modal is implemented as a .75 (=1-.25) coefficient and not a .8 (=1/1.25)?

Yes, you can consider this as confirmed. The stored value for arbalest modal is 0.75.

You can make a search by "Arbalest_Overbearing_Shot_SE_AttackSpeed" to verify.

Also here are a few examples for v1.0 of the game:

Btw, I had a formula in the starting post:

`step_n = coef_n >= 1 ? coef_n - 1 : 1 - 1 / coef_n`
Just want to note that:

- for [speed] status effects: coef_n = baseValue_n

- for [time] status effects: coef_n = 1 / baseValue_n

The game converts [time] values to [speed] values before calculating steps.

I don't follow some of the points. You say "double inversion" makes attack speed maluses worse than equivalent positive bonuses, but if coefficients are computed correctly, the net effect of the first inversion is to simply turn the coefficient of penalties into the "tool-tip" negative additive bonus, and then the second inversion returns it back to a coefficient.

By "computed correctly" I mean if you have something that has a tool-tip/stated value of reduction your action speed by 25%, the coefficient would be .8, not .75 (if you naively did coeff = 1 - .25).

First: yes, coefficients of 1.25 and 0.80 do cancel each-other.

step_1 = 1.25 - 1 = 0.25

step_2 = 1 - 1 / 0.8 = -0.25

step_sum = 0 => final_coef = 1

Second, Obsidian takes all coefficient values in respect to the base value. And they do use 0.75 value for coefficients when they want to denote -25% speed. And truth be told, I am not convinced yet that they should use 0.8 instead.

For example: I am going with a car at 100kmph. And at that speed going from A to B will take 60 minutes.

a). if I am asked to lower my speed by 25%, I would slowdown to 75kmph. [the speed is 25% lower, the trip duration is 33% longer]

b). if I am asked to increase the time it takes to arrive there by 25%, I would slowdown to 80kmph. [the speed is 20% lower, the trip duration is 25% longer]

The quoted malus does refer to Arbalest Modal which writes: -25% action speed, so it's a).

That's why I don't see (at least at the moment) why do you call Obsidian being naive for putting 0.75 base value for it.

Yeah you wrote "you", but I am not taking values from top of my head, but from the ingame files ^^

Boy that's confusing. IIRC, Swift Strikes is a increase of +20% action speed, right? But in that recovery speed tooltip it's listed as a -17% bonus. I mean, what the heck.

Swift Strikes grants +20% action [speed].

But when you mouseover the recovery time of weapon, the game tries to display how much did Swift Strike affect the [time].

It converts speed coefficient to time coefficient: 1/1.2 = 0.8333. So a +20% increase in speed, corresponds to a -16.(6)% decrease in time.

P.S. Will reply to other stuff as soon as I have time. Do have a heavy week.

Edited by MaxQuest

##### Share on other sites

Thanks, MaxQuest. And holy large json file, Batman! TIL that vim will struggle to open a 14mb file with no line wrapping.

Frankly the information you provide is disappointing, mostly because it talks about a murkiness in the game when I thought Obsidian was trying to clear all that up from pillars.

Second, Obsidian takes all coefficient values in respect to the base value. And they do use 0.75 value for coefficients when they want to denote -25% speed. And tbh, I am not convinced yet that they should store 0.8 instead.

So my thinking is that the way the modifiers are being combined, and with the inversion, what Obsidian is approximating is that all of these adjustments are to a rate of how quickly or slowly you move through attack frames. For all below cases I assume a 5s recovery:

The example is simple with most positive cases: 5/(1 + sum(x)). +100% action speed really means we are increasing how many attack frames we process in the same time frame by +100%, so 5/(1 + 1) is how we represent that (we now have 2.5s recovery, or double speed advancing through attack frames). This is the same as dex and gunner from POE1.

For net maluses, we can't just do 5/(1-x), because when we say you have +100% increased recovery, we are not saying that you take infinitely long to recover from an attack. Instead what we are saying is that +100% increased recovery means we have +100% delay between attack frames. The way you do this is 5/(1/(1-x)). We take the negative bonus (-1) and we reverse the sign so we get 1/2. Then we invert that, so that instead of increasing how quickly we are going through attack frames, we are decreasing our speed through attack frames (hence, a double-inversion of a malus). So 5/(1(1-(-1))) = 10s, or half as many action in the same time frame. So I was predisposed to thinking of maluses in terms of this thinking, where a malus means degradation in your action/recovery time (instead of action/recovery speed).

MaxQuest, you've shown that for a -25% modifier, Obsidian is storing .75 as the coefficient. So OK, in your example with the car, it makes sense because .75 would literally mean -25% actions for any given unit of time. However, it is clear that in other places Obsidian do care about things being modified as an effect on time (e.g. instead of slowing down by 25%, you extend the time it takes by 25%); thanks to your spreadsheet and the .bundle file, we see that arbalest ia a .75 coefficient, but warbow overdraw is a 1/1.5 coefficient. The former directly reduces how many actions you should take by 25% (which translates to a +33% degradation in your recovery time), whereas the latter is formulated directly as a degradation of your recovery time (a coefficient of .66 or -33% action speed).

That above distinction between how certain coefficients are computed just leads to a murkiness that is frustrating and requires a lot of care to pay attention to exactly what tool-tips are saying (and hoping that Obsidian was precise with their wording on each tooltip).

* I use naive not to be insulting, but more in the math-y way of saying "possibly the obvious, but apparently incorrect" approach.

Personally, I think we should try to spit out a list of coefficients and normalize them, or at least be explicitly clear into how they are put into the equation, because there are clearly some maluses are no different from bonuses (warbow, rapier needle, armor) and some that are significantly overweighted (arbalest overbearing but there are also bonuses that are overweighted: sure handed, dual-wielding).

EDIT: i am also pretty busy the next couple of weeks, but I might take a stab at doing this when I have more time. Coefficients are just way too murky for my game-analytical needs as it stands.

EDIT2: i tried to clear up terminology. It's a little confusing because it's a bit asymmetric. TL;DR: bonuses to your action speed are equally weighted to maluses to your recovery time. bonuses to your recovery time are equally weighted to maluses to your action speed. On the other hand, bonuses to your action speed are outweighed by maluses to your action speed, and maluses to your recovery time are outweighed by bonuses to your recovery time. UGH

Edited by thelee

##### Share on other sites

Boy that's confusing. IIRC, Swift Strikes is a increase of +20% action speed, right? But in that recovery speed tooltip it's listed as a -17% bonus. I mean, what the heck.

Swift Strikes grants +20% action [speed].

But when you mouseover the recovery time of weapon, the game tries to display how much did Swift Strike affect the [time].

It converts speed coefficient to time coefficient: 1/1.2 = 0.8333. So a +20% increase in speed, corresponds to a -16.(6)% decrease in time.

That makes sense for swift strikes, but I'm not crazy in thinking that that's not how dexterity is calculated, right? It should just be (1 + .03 * dex) as the coefficient? Which means the tool-tip is inconsistent in showing the effects on recovery rate and recovery time. (Wouldn't be the first time a pillars tooltip has been misleading)

EDIT: the dexterity in that tooltip is at level where a coefficient of (1+x) = 1.06 versus 1/(1-x)=1.06 round to the same thing, so there's nothing inconsistent about the tooltip, potentially.

Edited by thelee

##### Share on other sites

Once we (you) get to this bottom of this, I think a thread in plain English explaining the ramifications of these discoveries would be greatly appreciated by those of us with low INT.

##### Share on other sites

Once again thank you MaxQuest

The table you have posted can be very confusing.

Sometimes the effect refers to a time and sometimes it refers to a speed.

This means sometimes small numbers are good and big numbers are bad and sometimes its the other way round.

Before this post I thought I understand the basic formula in the first post.

Now I am confused which numbers to use as step when calculating the step sum.

And if I am confused by those calculations most other players will understand nothing at all.

##### Share on other sites

So, I'm now easily reaching 2.6 or 2.4s recovery with WoteP, and I have not even found the Falcon helmet. Pale hide armor bonus at night + Frenzy + stacking bonus of WoteP.

##### Share on other sites

Thank you all. I am still confused by the fact that the same modifiers are sometimes left unchanged in the tooltip (30 from dual-wielding, Dex is inconsistent in this respect), but at least now I can calmly perceive all the speed issues as derivatives of the wise game rules.

Jokes aside (my gratitude was not a joke though), such mechanics are quite an important thing, aren't they? I wonder why they are not mentioned in the in-game Cyclopedia.

##### Share on other sites

And if I am confused by those calculations most other players will understand nothing at all.

Frankly, Obsidian should just re-normalize all the numbers they use to be same "unit", so we don't have to keep track of what affects "time" or "speed" or whatnot. Then we can just add up all the numbers (like pillars 1). This is unnecessarily confusing.

Edited by thelee

LOUD NOISES

##### Share on other sites

OK, I found the thread from PoE1. (They should pin it there, it was hard to find )

https://forums.obsidian.net/topic/86684-mechanics-the-big-attack-speed-conundrum/

Its very complicated, but I guess the main point is that

- Only dex influenced attack duration, all things that say " attack speed " influence only recovery

- Most factors that influenced recovery speed were multiplicative, so stacking bonusses gave increasing returns

Back to PoE2:

@Thelee: What do you mean by "normalize"?

I looked into wikipedia and there are many possible meanings, I am not sure what you mean.

In my physics institute it usually means: We did several measurements and made plots from it, we give an importent feature in every plot the value 1 (all values in a plot are divided by the value of this feature), then we put all plots on top of each other and we can compare the shape of this feature between the different measurements.

##### Share on other sites

Once again thank you MaxQuest

The table you have posted can be very confusing.

Sometimes the effect refers to a time and sometimes it refers to a speed.

This means sometimes small numbers are good and big numbers are bad and sometimes its the other way round.

Before this post I thought I understand the basic formula in the first post.

Now I am confused which numbers to use as step when calculating the step sum.

I feel you.

I have added the step_n values to that table:

And here is an example of how to calculate those values:

Also, let's say Obsidian wants to add some speed/time altering status effect to the game.

In this case they add a new effect, and set:

- [statusEffectType] - which denotes: 1. if the value is applied to [speed] or [time]; 2. the corresponding phase (attack, recovery, reload; or action if for all combined)

- [baseValue] - which denotes the magnitude of the effect.

And this data is stored in game files.

Later on, when your character is performing an action, the game processes all these active effects.

And initializes so called [multipliers]. I usually refer to them as coefficients or simply [coef_n], because I find the term multiplier confusing since they do not stack multiplicatively.

> The value of [coef_n] equals to [baseValue] if the effect affects [speed].

> Or it equals to [1 / baseValue] if the effect affects [time].

I call this time->speed coefficient conversion.

Thelee refers to this as normalization.

While the game uses a boolean property called [inverted] for this. If it's true, it inverts the value.

We can express this as:

`coef_n = type == 'speed' ? base_value : 1 / base_value`
Now, for each [coef_n] the game computes a corresponding [step_n]. (note: step is also a term taken from game files)

`step_n = coef_n >= 1 ? coef_n - 1 : 1 - 1 / coef_n`
For bonuses, i.e. values higher than 1, it's pretty straightforward.

While maluses get inverted. I call this: [first malus inversion].

Furthermore all [step_n] are added together, and form [step_sum].

And this [step_sum] is used to calculate the final coefficient:

`final_speed_coefficient = steps_sum >= 0 ? steps_sum + 1 : 1 / (1 - steps_sum)`
If step_sum is positive, it's again, pretty straightforward.

While if it's negative, it's value gets inverted with a twist. I call this: [second malus inversion].

Having this coefficient, we can now calculate the actual duration of the related phase (recovery, reload, etc):

`phase_duration = base_phase_duration / final_speed_coefficient`
The higher the speed, the lower is the interval between attacks.

P.S. Together: [first malus inversion] and [second malus inversion], form what we do refer on this forum as [double inversion of maluses]. And the problem I see with it is:

- it's hard to compute the final_speed_coefficient in mind. You pretty much always need a calculator.

- if you have any malus, the end value you get is unnatural.

And by unnatural I mean: it has no physical representation.

To show this I'll extend the previous example with the car. Imagine that you are driving with a base speed of 100kmph:

- If you are asked to increase the speed by 25% and after that decrease by 25% in respect to the base value, you will end up with 100 + 25 - 25 = 100kmph {100 * [1 + (1.25 - 1) + (0.75 - 1)]}

- If you are asked to increase the speed by 25% and after that decrease by 25% in respect to the current value, you will end up with 100 * 1.25 * 0.75 = 93.75kmph

The first variant is: additive stacking.

The second variant is: multiplicative stacking.

While under the current system we would get:

step_1 = 0.25

step_2 = -0.33333

step_sum = -0.08333

final_speed_coef = 0.92307

and thus: 92.307..kmph

...and what is this value?

Imho, if we do apply all the coefficients in respect to the base value (and that's how it's done in the majority of the games, to avoid dps skyrocketing due to glass-cannons stacking multiple bonuses), a [bonus] and a [malus] of the same type and value should effectively cancel each other.

Edited by MaxQuest

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.