timhul / ClassicSim

An event-driven simulation tool written in C++ for World of Warcraft Classic.
Other
116 stars 70 forks source link

Scale Factors: Weapon Speed and Weapon DPS #68

Open Gratchoof opened 4 years ago

Gratchoof commented 4 years ago

Hi

Not sure if this is planned for the future, or already in the sim, but I can't seem to find it.

I'm looking at what difference weapon dps and weapon speed makes on the stat weights.

For dual wielding classes, this would need to be split between main hand and off hand too.

Thanks Gratch

timhul commented 4 years ago

Hi,

I've seen this request (maybe you are the same guy!) for other tools in the past and I could never wrap my head around it, so let's see if we can define what we mean here:

Weapon DPS:

So this would be adding, say 1 DPS, by adding equal amounts to min/max range, say +1 min/+1 max to a 1.0 speed weapon.. Is that correct? (And then having one for mainhand, one for offhand)

Weapon speed:

Do we try to scale down the damage range so the actual weapon DPS remains about equivalent and just modify the weapon speed by say increments of 0.1 seconds? Or do we keep the damage range?

Gratchoof commented 4 years ago

Hi

Don't think it's me, but potentially lol

Yeah, so hypothetically I have a 50dps, 2.0sec attack speed weapon, and I have that in each hand.

I'd like to know if I had a 51dps 2.0sec attack speed weapon in my main hand (and original weapon in off hand) then what would that do to my sim DPS? And the same again but for offhand instead of main hand.

Not sure if the sim uses average weapon damage or picks a random number from the damage range for each attack? I'd assume average to smooth out the results.

If average then I assume a DPS change results in a corresponding average damage change and is relatively straightforward?

If it uses the damage range, then I guess it'd take the weapon speed into account and add the correct value to both min and max to give a 1dps increase.

And then the whole thing again, but this time keep it at 50dps and change weapon speed, for each hand one at a time, both for 0.1s increase and 0.1s decrease.

So, if it's made quicker whilst DPS is kept constant, then the damage range should decrease slightly (less damage per swing, more swings per sec, same DPS)

Hope that's clear enough?

So, that sounds to me like there's 7 sims: Original base sim +1dps main hand +1dps off hand +0.1 attack speed main hand (slower) +0.1 attack speed off hand (slower) -0.1 attack speed main hand (faster) -0.1 attack speed off hand (faster)

Cheers Gratch

On Wed, 20 Nov 2019, 18:14 Tim Hultman, notifications@github.com wrote:

Hi,

I've seen this request (maybe you are the same guy!) for other tools in the past and I could never wrap my head around it, so let's see if we can define what we mean here:

Weapon DPS:

So this would be adding, say 1 DPS, by adding equal amounts to min/max range, say +1 min/+1 max to a 1.0 speed weapon.. Is that correct? (And then having one for mainhand, one for offhand)

Weapon speed:

Do we try to scale down the damage range so the actual weapon DPS remains about equivalent and just modify the weapon speed by say increments of 0.1 seconds? Or do we keep the damage range?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/timhul/ClassicSim/issues/68?email_source=notifications&email_token=ANSQJMSVCNIMGBPTVTIHMYLQUV5AXA5CNFSM4JOV5OTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEETODFI#issuecomment-556196245, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANSQJMWKEZD5I3XABCAGW43QUV5AXANCNFSM4JOV5OTA .

timhul commented 4 years ago

Thanks for the clarification! I think I understand all the details now. A few notes:

The sim does not use averages for anything and rolls everything that has a range, which is is why this becomes very particular (if it does use an average for something that has a range that is a bug that should be reported). Smoothing out results is to be avoided, not encouraged. This is because damage spread is in fact an interesting metric (can be seen in the reported standard deviation for example), and doing any averaging of anything reduces the precision of this metric. Further, averages are kind of anti-sim. We are simulating mechanics because averages cannot tell the whole truth. If they could there would be no need for a sim; you could spreadsheet everything.

There is another internal complication and that is that weapon ranges are stored in integers, so trying to keep the DPS the same for weapon speed scale factors can be tough. This can always be solved, of course.