Please upgrade your browser for the best possible experience.

Chrome Firefox Internet Explorer
×

Stat Equations


dipstik's Avatar


dipstik
07.24.2019 , 07:47 PM | #1
updated 8/1/19:
equations of the type: percent rating = cap* ( 1 - ( 1 - ( 1 / cap) )^( (rating/75 ) / divisor) )

attribute divisor cap
Defense 2.125 30 (base 10%)
Shield 1.279 50 (base 20%)
Absorb 1.066 50 (base 5%)
Critical 1.503 30 (base 5%)
Surge 1.503 30 (base 50%)
Alacrity: 2.015 30 (1214 for 1.4 s, 3206 for 1.3 s, 7990 for 1.2 s)
Accuracy 2.015 30 (1589 gives 9% which will give 10% with companion buff)
Crit from Mastery: 8.43 20

These do not take that form:

Max Health= Endurance*14 (base 900 endurance 52295 Base Health)
Health Regen = 0.0475*Endurance
Bonus damage from Mastery = 0.2*Mastery (base 1000 Mastery)
Bonus damage from Power= 0.23*Power
Bonus damage from Force/Tech Power= 0.23*FTPower
Bonus Healing from Mastery= 0.14*Mastery
Bonus Healing from Power = 0.17*Power
Bonus Healing from Force/Tech Power = 0.17*FTPower
Damage Reduction Percent = 100*armor_rating/ (armor_rating+ 465* 75 - 7900)

original post:

Spoiler

Foyle's Avatar


Foyle
07.26.2019 , 11:08 AM | #2
I assumed that what dipstik calls coefficients a and b wouldn't change, since it serves as a limes, cap which we can't exceed, and changing it without adjusting all NPC attacks everywhere would dramatically change balance in old content.

Assuming only the last coefficient in exponent changed, I got the new defense coefficient 2.125 instead of 1.2:
def_chance = 30*(1-(1-0.01/0.3)^((def_rating/75)/2.125))
This matches tooltip data (CSV) for 10 data points in range between 560 to 2800.

Shield was more difficult, because working under the same assumption I can't fit the curve to all data points, one doesn't match- this might be a result of rounding error, but I can't be sure. New coefficient would be 1.2789 instead of 0.78:
shld_chance = 50*(1-(1-0.01/0.5)^((shld_rating/75)/1.2789))
This matches tooltip data (CSV) in range between 431 to 4243 rating, so even if the formula is wrong, it is reasonably accurate in the entire interesting range.

Interestingly, shield curve normalized to stat budget is almost identical to L70 formula and gear, and defense curve is flatter by up to one ehancement's worth:
https://www.dropbox.com/s/866l47wa8g...stion.png?dl=0
https://www.dropbox.com/s/7yunujplss...stion.png?dl=0

Syroe's Avatar


Syroe
07.26.2019 , 05:46 PM | #3
Bumping because, while my bigly brain definitely understood all the math, some kind soul may be interested in translating this into dum-dum speak.
Which I definitely don't need. Since I absolutely understand the curving equations and solving for c. Shut up.

ottffsse's Avatar


ottffsse
07.26.2019 , 06:00 PM | #4
Quote: Originally Posted by Syroe View Post
Bumping because, while my bigly brain definitely understood all the math, some kind soul may be interested in translating this into dum-dum speak.
Which I definitely don't need. Since I absolutely understand the curving equations and solving for c. Shut up.
I am not 100% sure but I just use the old number for say alacrity 1860 for 1.3 cooldown point and divide that number by the coefficient provided in the how it scales ie. 0.38 in this case for alacrity - the second number, the fraction in each category, I get 4895. Is this correct? so the new 1860 if nothing is changed is 4895?

Can do this for crit, accuracy etc.

Note I may be totally misunderstanding this formula too so please clarify how we are translate old figures to the appropriate new figures in the pts so far?
Click my referral, get free stuff:
http://www.swtor.com/r/gFbhFZ

dipstik's Avatar


dipstik
07.27.2019 , 03:34 PM | #5
Basically, there are two values used to turn your attribute rating into your attribute. So for the crit chance you get from crit rating you have a hard cap of 30% and a divisor of 0.8, so you get (in 4.0):

30 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( CritRating / max(level,20) ) / 0.8 ) )

Here a=30 b=0.3 (which is a/100) and c (the divisor) = 0.8.

The rules are different for armor rating becoming damage reduction and endurance becoming health points.

But it looks like level sync might be messing up our assumptions to the equations. Will test on my ship with no buffs.

Kinslayer's Avatar


Kinslayer
07.27.2019 , 04:17 PM | #6
I've discussed this topic with some guild members of mine since PTS launched and just want to chime in with some things.

The divisors have been changed for all formulas already; there are level 72-73 and 74-75 values, but ignoring the former we have, for example, Alacrity at 1.862 and Crit at 1.3624. As observed putting those into the existing formulas still doesn't add up to what is actually required to get the desired rating. It's unlikely any part of the formula is different because the numbers (30 & 0.3 in these 2 cases) represent the hard cap, so the divisors are likely higher than they should be.

The parse dummy's HP was also noted to be higher than the module's value too; 4M was 4427689, which is a bit over 1.1x as high. Coincidentally, or not, as an unnamed developer complained about base stats being changed when I mentioned this to them, the 'correct' alacrity divisor is 2.014, which is also a bit over 1.1x as high (but not exactly the same as the HP increase).

So what does this mean? Perhaps nothing, perhaps values are inadvertently higher than they should be. The dummy HP value will be fixed next patch so we'll see what happens with the stat equations.

nitramsanoj's Avatar


nitramsanoj
07.30.2019 , 05:47 AM | #7
I did some maths by myself and the first thing I recognised when trying to solve this numerically was,
that you get an extremly high standard error on b as well as c.
So I looked into the given equation and found that b and c are both defining the base of the exponential function,
so they are to some extent interchangable and only b ̃ is needed:

y=a*(1-(1-0.01/b)^(x/(75*c)) )=a*(1-(1-0.01/b)^(1/c*x/75) )=a*(1-〖(1-0.01/b)^(1/c )〗^(x/75) )=a*(1-(1-1/b ̃ )^(x/75) )

(alternativly you could describe the whole base through b ̃, but this way I found reasonably looking values)

Solving this for crit and alacrity (over 10 points with values up to over 5000 each) resulted in the following values:

Crit:

a=30
b ̃=45

Alacrity:

a=30
b ̃=60

When checking these equations I found minor differences to the actual values,
which can be solved by rounding the base off after some decimals (falls in the range of the standard error).

dipstik's Avatar


dipstik
07.30.2019 , 11:38 AM | #8
it is true that setting b=.01*a or setting b~=f(b,c) communicates the redundancy of variables. By setting c=1 i was able to get b=0.44849 to match my values. Using the values you mention (b~=45) dont seem to give matching values to my data set. I do like the elegance of b~=45, and looks close to my c=1.50344 solution.

Perhaps it would be helpful if we all post the points we are working with to resolve these regressions.

alacrity:
1725 9.63
1617 9.13
1509 8.62

crit:
1833
1725
1617

12.71
12.14
11.55

accuracy:
1832 10.11
1401 8.09
970 5.87

crit from mastery:
10614 11.55
9548 10.78
8690 10.12


defense:
285 1.76
570 3.42
855 4.99

shield:
431 4.34
840 8.11
1249 11.56

absorb:
409 4.91
818 9.34
1541 16.13

dmg red:

4782 15.06
4200 13.47
3212 10.64

health points:
15556 217785
14371 201188
13185 184590


theoretically we should be able to solve this with two data points for two unknowns (a and c assuming b=0.01*a, or a and b~).

Setting b=0.01*a (using old a values) I get for c values:

crit: 1.50344 a=30
alacrity: 2.0136 a=30
accuracy: 2.0181 a=30
def: 2.125 (Foyle) a=30
shield: 1.2789 (Foyle) a=50
absorb: 1.0656 a=50
crit from mastery: 8.4254 a=20
max health = 14*Endurance + 52295 (there is a - 7.72 offset that might not be real)
damage reduction = Armor_Rating/ (Armor_Rating+ 457.2399* 75 -7312.62 ) * 100

Amunra-amunray's Avatar


Amunra-amunray
07.30.2019 , 01:07 PM | #9
So in essence we are going back to expertise gear without calling it expertise stats? Will we have to then again build a PvE gear set and a PvP set again cause onslaught was supposed to customize and simplify gearing, these numbers look like tipping the scales from balanced to one side one set of gear again?

"Do the Best and Spare the Rest!" Joe Pirandello
My Referral Link: http://www.swtor.com/r/qYLGd9

dipstik's Avatar


dipstik
07.30.2019 , 01:22 PM | #10
Quote: Originally Posted by Amunra-amunray View Post
So in essence we are going back to expertise gear without calling it expertise stats? Will we have to then again build a PvE gear set and a PvP set again cause onslaught was supposed to customize and simplify gearing, these numbers look like tipping the scales from balanced to one side one set of gear again?

how so? because of level sync?