Diablo® III

Shocking Aspect Model

I'm working on a dps simulator/model for a CM wizard and seem to have most things working right. However, when it comes to shocking aspect, my model is giving considerably lower dps results than I get in game.

My model: every spell hit, I check for crit against rand(0-1), if the spell crits, I check the spell coeficient against rand(0-1), if the rand is under the spell coef, I assume CM procs and SA (shocking aspect) procs.

Some examples: for a 53s fight, with 2.6904 attacks per second, 50.5 CC, 19 APoC, and just casting WW I get an average of 4120 WW tics over the duration of the fight. For reference, that APS means 33 tics per cast, or about 14 WW active at a time, on average. 4120 tics means about 2060 crits which means about 260 SA procs, which is what my model is calculating.

My dps data for my 53s Ghom fight (my dps is really low because I swap to a 20 dps weapon for Hell (10) data collection:
Char sheet dps = 16589.47
Effective Weapon Damage = Char sheet dps / APS = 6166.17
Effective DPS with Storm Armor: 44791.55
Effective DPS with Storm Armor and SA: 71295.53
Approximate dps of SA = 26503.99
Total SA damage = SA DPS * 53s = 1391459
SA Damage per proc = Effective Weapon Damage * 0.35 = 2158.16
Total SA procs = SA damage / SA damage per proc = 645

If I back calculate the number of WW tics needed to achieve 645 SA procs, I get around 10200 WW tics, which would mean 35 twisters up at a time for the duration of the fight. I only get ~ 16 casts every 6s, so that is impossible.

Does anyone see any errors in my calculations? Is it possible that WW determines damage more often than the LoH tics?

Again, in case there's any confusion, the only spell I cast, besides activating my armor, was WW. I repeated the test just to make sure the fight duration was accurate and the kill times only differed by 1-2 seconds.

I've got a few tests lined up to try and figure out what's going on but if anyone has any insight, I'd love to hear it so I can finish my model and share a finalized version.
Reply Quote
Sa can crit too?
Reply Quote
Yes, it can, but that's factored into the average weapon damage. I basically normalize normal and crit attacks that way.
Reply Quote
Am I missing something?

" 4120 tics means about 2060 crits which means about 260 SA procs, which is what my model is calculating."

Out of 2060 WW crits what indicates to us that there's only a %10 chance for Shocking aspect to proc?
Reply Quote
260/2060 = 12.5%
Reply Quote
I guess I mean to say, how did you determine it at all?
Reply Quote
If sa can crit isnt that another sa possible?
Edited by Aimless#1700 on 11/16/2012 5:01 PM PST
Reply Quote
I assume SA had a chance to hit based on your CC,, then when it hit it rerolled your CC to see if it that hit was a crit?
Reply Quote
11/16/2012 04:57 PMPosted by Aimless
If sa can crit isnt that another sa possible?


I think SA can crit, but that doesnt mean it can proc(it cant).
Reply Quote
This thread needs to die once answer is discovered
Reply Quote
I'm assuming SA can crit, which doesn't matter because the proc coefficient is assumed to be 0 (which I can confirm from LoH testing).

SA hit chance is basically CC*Spell Coef ~ 6.3%

For each spell hit I check if it crits, then I check if it procs CM. If it procs CM then I assume it procs SA.
Reply Quote
Well it sounds like you're assuming that the LoH coefficient = SA Proc on Crit coefficient?

Why not work backwards from your data of figuring that there must have been 645 SA procs over 2060 crits to assume a proc chance of ~%31 and then see if that makes your model match reality at a spectrum of attack speeds and crit chances?
Reply Quote
Well it sounds like you're assuming that the LoH coefficient = SA Proc on Crit coefficient?

Why not work backwards from your data of figuring that there must have been 645 SA procs over 2060 crits to assume a proc chance of ~%31 and then see if that makes your model match reality at a spectrum of attack speeds and crit chances?


That's one thing I'm going to look at, and is a good idea. I should also run some more tests with other skills, like MM - Seeker to see if the proc rate really does match the spell coef. The problem is all the mechanics of other spells indicate it should use the spell's coefficient, otherwise it seems it would act differently than any other spell.
Reply Quote
Also, how many extra ticks are you getting at different attack speeds?

Is it always (645/260) ~ 2.5 times the expected rate?
Is it interacting the way it should be with WW breakpoints? (i.e. seeing big jumps from 2.97aps to 3.001aps)

Just a few thoughts on other things to possibly test to better characterize its behavior.
Reply Quote
Good points. I'll take a look into those. I'll also look over my previous data with the full SNS build and see if that 2.5x difference in proc rates is just from WW or if it's consistant with CR and DS, though considering I get about 10x the WW tics as CR tics, it might be hard to tell without more specific analysis.
Reply Quote
Finally got around to getting MATLAB installed, and I'm reading over the mfile, I got mindf'd for a second at lines 106-121, I was confused at how you were setting all these previously undefined variables until I saw that they were all just zero matrices.

y u no copy_paste the 'zeros' command?

Also, in the wicked wind portion of the m-file are all of the variables pertaining to moves other than WW in the looped section zeroed because of the testing you were doing with shocking aspect?

Finally, do your variables prefixed with 'Prim' stand for Primary Attack? as in what you use to generate the magority of your CM and APOC procs?
Edited by BDF#1838 on 11/16/2012 7:09 PM PST
Reply Quote
Finally got around to getting MATLAB installed, and I'm reading over the mfile, I got mindf'd for a second at lines 106-121, I was confused at how you were setting all these previously undefined variables until I saw that they were all just zero matrices.

y u no copy_paste the 'zeros' command?

Also, in the wicked wind portion of the m-file are all of the variables pertaining to moves other than WW in the looped section zeroed because of the testing you were doing with shocking aspect?

Finally, do your variables prefixed with 'Prim' stand for Primary Attack? as in what you use to generate the magority of your CM and APOC procs?


Yes, Prim is primary attack. Since I originally made the simluator to compare different builds, including Meteor and MB builds, I tried to make the core of the code use a defined primary stat, and I just assign the WW stats to the Prim stats for the WW test, Meteor stats to the Prim stats for the meteor tests, etc.

Oh, yeah I think I zeroed the FN and CR, sorry about that. I only have one version saved on my desktop, which I used recently since I was running something else on my laptop. I just updated the file so it should be fixed. I really should clean up some of the variable assignments, but it's still mostly a beta version. You'll also notice the output is a little different now. I removed the effective weapon dps output since it's kind of pointless, and changed the effective dps output % to not be a percent, so it's just a direct multiplier for your char sheet dps.

If you want to zero FN, change line 181 from
if FNttr<=0
to
if FNttr<=-10
or any number below 0

For CR, change line 204 from
if AP>=0+CRcost-(DStime>0)*DSprism*PrismCost&&CRttr<=0
to
if AP>=1000+CRcost-(DStime>0)*DSprism*PrismCost&&CRttr<=0
or any number > MaxAP

Also note that the meteor and MB sections are not up to date, so you can mostly ignore those for now. There's quite a few bugs in there, like if FN crits, itsets your total AP to the APoC gain, instead of AP+APoC gain. Really bad bug that I didn't catch until a few days ago.

Side note, reason I don't copy+paste the zeros command is because I hate having those red lines under my variables after I define them but before I use them.
Reply Quote

Side note, reason I don't copy+paste the zeros command is because I hate having those red lines under my variables after I define them but before I use them.


Better than a heap of self referencing variables that haven't appeared in the code before. But honestly thanks for all the work you've done and the explanations above. I'll probably be playing around mostly with the WW part anyway.
Reply Quote
I spent this afternoon collecting data for various attack speeds to see how WW and Shocking Aspect interact. My conclusions are that the attack speed does have an impact on the number of extra shocks, but it's inversely related.

Coef 3.693 3.294 3.280 2.873 2.770 2.480 2.167
APS 1.512 1.932 2.010 2.280 2.390 2.690 2.850
Tics 19 24 26 28 30 33 36

The Coef is the increase in aspect tics, so if you expected 100, you'd see 369.3 tics on average instead for 1.512 APS. The relationship isn't quite linnear but if I add a trendline I get an equation that looks like:

Coef = -0.8737*APS + 4.8035

Since I can't really see any specific pattern to that info, I'll probably just add that formula to my model and see how it works with the full SNS build.
Edited by Loroese#1415 on 11/17/2012 5:34 PM PST
Reply Quote
When I saw that reducing coefficient it tickled me that for some reason Blizz was trying to normalize something, and I think I may have been close to the mark:

http://img16.imageshack.us/img16/2685/capturelnp.jpg

A quick and dirty comparison of how WW crits/sec scale with increasing attack speed compared to (using your formula just above) how the number of SA procs scales with attack speed.

Over the small range of playable obtainable breakpoints if the formula you found applies than it approximates a linearly scaling number of SA procs per second with attack speed, as opposed to the exponentially scaling number of possible tick events.

Why is this significant? Heck if I know, but for some reason Blizz tickles me as liking to avoid exponential scaling in favor of linear. So all in all this might lend a little bit of credence to the validity of the data you've found thus far.
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Reason
Explain (256 characters max)
Submit Cancel

Reported!

[Close]