The purpose of all of the following is to allow understanding of how these stats work in conjunction with each other and to give the ability to optimize stats knowing the value of both INT and AGI.
Scroll to the bottom for a summary if you don't want to read through the math.
---------------------------------------------------------------------------------------------------------------------------------------------------------
All calculations are assuming 100% hit rate, 0% defense rate, and a target on an equivalent level.
INT - Increases 2 magic power per 1 INT ( and 2 parry for that's irrelevant for DPS purposes).
AGI - Increases critical rate by 4 per 1 AGI (and 2 dodge but that's also irrelevant for DPS purposes).
EDIT-Crit Rate % = (AGI / (400 * (1.05^(character level - 1)))) * 100 (Thanks synesthetic) -- This formula determines the damage value of AGI as it affects crit rate % in regards to character level (maybe monster level more directly?). Using this, one point of crit at level 37 gives about an extra ~.04315 % chance to critical strike.
This guide will be assuming a level 50 character as endgame is where stat optimization is particularly considered.
Critical - All basic attacks and skills have a (4 * AGI * ~.02289)% chance to critically strike.
Magic power (MP) - The effect of magic skills is increased up to (2 * INT + [Bonus MP])
Critical strikes effectively double the damage the spell would normally do with MP alone when they occur.
MP increases the damage done by a spell proportionally to what percent of MP is taken into account in damage calculations.
To give a detailed example of how these calculations are being done, I'll walk through the stat calculations for level 5 cold bolt.
Level 5 cold bolt scales 38% with magic power (assuming the tooltip is exact). The sample stats being used can be proportioned to any real stat value, these numbers are just being used for ease of calculation. All secondary stats are assumed to be the same, as any value of them in conjunction with AGI or INT will lead to the same results proportionally. Also bonus MP is assumed to be 0 for this.
AGI----------INT----------~AVG DAMAGE PER SKILL USE
0-------------500---------------380-------------(1000 MP * 38%)
125----------375---------------317.62---------(4 * 125 * .02289)=11.445% (% of crits) (750 MP * 38%)=285 (normal dmg) 285*2=570 (Crit damage) 100%-11.445%=88.555% (% of normal hits)------------------------------------------------------------(.11445 * 570 + .88555 * 285)
250----------250---------------233.49---------(4 * 250 * .02289)=22.89% (500 MP * 38%)=190 (N DMG) 190 * 2=380 (C DMG) 100%-22.89%=77.11% ---(.2289 * 380 + .7711 * 190)
375----------125---------------127.62-----------Follows above formulas
500-------------0-----------------0---------------Critical strikes of 0=0 damage
The conclusion we can make from the above information is that AGI increases DPS at a rate proportional to the amount of INT (or more directly, MP) that is had. With 0 non INT based MP, INT is clearly superior (with the stats at hand). We can calculate the value of these stats, assuming 0 bonus MP is had, using the same general formulas as used above:
1. 100 INT=200 damage=2 damage per INT (1:1 scaling hypothetical spell for ease of interpretation)
2. 102 AGI+100 INT =218.67820 damage------=18.678200 damage from agility--= .18312 damage per AGI (with 100 INT)
3. 101 AGI+100 INT =218.49512 damage------=18.495100 damage from agility--= .18312 damage per AGI
4. 100 AGI+100 INT =218.31200 damage------=18.312000 damage from agility----= .18312 damage per AGI
5. 100 AGI+101 INT =220.49512 damage------=2.1831200 damage from 1 INT (with 100 AGI)
6. 100 AGI+102 INT =222.67824 damage------=2.1831200 damage from 1 INT
7. 101 AGI+101 INT =220.68007 damage------=2.1849512 damage from 1 INT (with 101 AGI)
8. 102 AGI+102 INT =223.05176 damage------=2.1868024 damage from 1 INT (with 102 AGI)
9. 100 AGI+101 INT =220.49512 damage------=0.1849512 damage from 1 AGI (with 101 INT)
10. 101 INT=202 damage-----------------------------------------------------------------= 2 damage per INT
11. (.1868024-.1849512)=(.1849512-.1831200)=.0018312=Exact increase in damage from AGI per point of INT using the 1:1 scaling spell
12. (2.1868024-2.1849512)=(2.1849512-2.18312)=.0018312=Exact increase in damage from INT per point of AGI using the 1:1 scaling spell
13. Damage per AGI from (2.)=Damage per AGI from (3.)=Damage per AGI from (4.), therefore AGI's value stays the same if it is the only variable
14. Damage per INT from (5.)=Damage per INT from (6.), therefore INT's value stays the same if it's the only variable
15. AGI's value depends entirely on INT
16. INT has a base value of 2 (assuming 1:1 scaling), and its value increases at the same rate in regards to AGI as AGI does to it
These numbers can be adapted to any spell/stat amount by proportioning that spell's MP scaling with the hypothetical spell's MP scaling (1:1) listed above.
For example, if one were to cast cold bolt (5) with 375 AGI and 125 INT, the calculations that would proceed as follows:
375 * .0018312=.6867------; The extra value of 1 point of INT from AGI
.6867 + 2=2.6867------------; INT has a base value of 2 per point (1 INT= 2 MP)
2.6867 * 125=335.8375-----; The value of INT multiplied by the # of instances of INT= damage per spell (1:1 scaling)
335.8375 * .38=127.61825-; Average damage per spell of cold bolt with given stats (cold bolt (5) has .38:1 scaling), which checks out with the number listed in the table above
Because the directly above does apply to all scaling spells, scaling will have no effect on INT and AGI's values in proportion to one another.
.0018312 * AGI + 2 = Damage increase from 1 more point in INT-----------------------.0018312 * INT = Damage increase from 1 more point in AGI
z(((.0009156x)(2y)) + ((1-.0009516x)(y))) where x=AGI, y=MP, and z=MP scaling is a formula that can calculate the average damage of a spell (disregarding secondary stats)
Extra magic power is a major factor in determining stat values as every point of MP increases AGI's value by about .0009156 and increases INT's value by 0; this is a significant variable in determining which stat actually becomes more valuable and when. Because of this, assume every 2 extra MP=1 point in INT in the following:
Based on this, the value increase (not damage) per point of AGI or INT is the same for either, but INT will always have a base advantage of 2 assuming they're equal. As shown earlier, the value of both stats increases off of each other, and therefore one will become comparatively more valuable if there is more of the other. Since .0018312 is the base value increase per stat assuming 1 point of increase in the other stat and INT has a base value of 2 per point alone, AGI needs to have an extra ~1093 INT (2/.0018312) to become more valuable.
For example, assume one's stats are 1313 INT and 220 AGI. The increase of damage per one point of INT would be (.0018312 * 220 + 2) 2.402684, and the increase of damage per one point of AGI would be (.0018312 * 1313) 2.4043656. Therefore, INT is more valuable to put points into until its amount exceeds AGI's by 580.
The following calculations tell the approximate relative values of INT to AGI assuming extra MP as a variable and 500 of each stat (calculated by dividing damage increase of AGI by damage increase of INT(2 MP= 1 INT)):
2186 MP ------------- AGI=1.000515-----INT=1
2000 MP ------------- AGI=.9421045-----INT=1
1600 MP ------------- AGI=.8164906-----INT=1
1200 MP ------------- AGI=.6908767-----INT=1
0800 MP ------------- AGI=.5652627-----INT=1
0400 MP ------------- AGI=.4396488-----INT=1
0000 MP ------------- AGI=.3140348-----INT=1
Of course, since linear regression is in place and INT's base value of 2 becomes comparatively less significant as stats rise, AGI's value will lower or raise faster as extra MP lowers if the total value of stats lowers or raises respectively. 1160 MP will always be the point where AGI becomes more valuable than INT, however.
These numbers should be used to judge optimization of stats; it can be adapted to variations of actual stat values by converting INT into MP (every INT=2 MP) until you have an equal amount of INT and AGI. For example, if one had 500 INT, 400 AGI, and 600 extra MP, it could be adapted into this chart by converting 100 INT to 200 MP to make the amount of points in each stat equal. The resulting values could be read in the line for 0800 MP, although the actual AGI value would be slightly lower (about .029 less)
---------------------------------------------------------------------------------------------------------------------------------------------------------
Conclusion:
INT is ALWAYS a more valuable stat unless any of the following conditions are met:
1. 2186 non INT magic power is had
2. 1093 more INT than AGI and 0 extra MP is had
3. The amount of INT that is had over agility being converted into MP (1 INT= 2 MP) and added to current non INT MP causes that sum to be greater than or equal to 2186.
The table above that lists the relative values of stats can be used to determine how valuable each point of AGI is as opposed to INT.
The information in the math section above can be used to calculate the optimal stat build for someone depending on gear and cards. Until gear with higher MP comes out, INT should definitely have significantly more priority than AGI. and even 41/41 probably is not optimal for DPS until the amount of INT as opposed to AGI that is had is majorly skewed (top levels of gear, and I'm not entirely sure if its skewed enough to matter).
If anyone wants me to calculate the optimal stat builds for them, post your stats in a reply and I'll probably get back within a day or two. It's fairly simple to do yourself, however; use the table above to determine the relative stat values (manipulating the numbers using the methods stated), and go point by point in determining which stat will give more DPS. When one stat starts taking more points than the other, divide the amount it takes to level up AGI by the amount it takes to level up INT. If this number is less than the value of AGI that was calculated using the table, put points in AGI. If it's greater, put points into INT. Continue this process until all stat points are spent.
Please feel free to criticize this post and to post questions/comments. As a developer of SimulationCraft, I am very familiar with how these things work and will be more than willing to modify things that need modification and further explain things that need explanation.
Edited by Scorpadorp, 03 June 2013 - 07:56 PM.