I know many people are arguing about whether Sharpshooter is worth it, as the benefit it provides obviously drops off after the initial spike you get from it. What I've never seen is an attempt to quantify just how much it does for you. So let's try and figure that out!
DISCLAIMER: All of the math in this thread pertains to prolonged fights (probably vs. elites). I make no attempt to quantify the usefulness of that initial 100% crit spike. This is all about elite fighting where that advantage is not as large.
DISCLAIMER 2: This post is very math-heavy. You will need some understanding of probability. You can probably follow this with a high-school education. I hope. I tried to make it as clear as I can. If math isn't your strongest subject, or you simply don't want to read this huge wall of text/numbers, you can skip ahead to the end where I draw a few conclusions.
First, let's define some variables we'll need to use.
weap_spd -> your weapon's base speed
weap_dmg -> base damage
ias -> %increased attack speed from gear
base_crit -> base chance to crit, ranging from 0 (no crit) to 1 (always crit), so say 0.15 = 15%
crit_damage -> your total bonus damage on critical hit, in %. Say you use archery and have a xbow (but no other crit damage gear), this will be 100 (50% base, 50% from xbow).
As far as attack speed goes, what we actually need is your effective speed (ias included):
eff_spd = weap_spd * (1+ias/100)
Now that that's out of the way, it seems like the first logical step would be to figure out how often you crit, first without SS and then with it. For that, we will find the expected value (http://en.wikipedia.org/wiki/Expected_value) of the time needed to crit, which is more or less fancy-talk for "average time until crit".
First, we need to figure out what's our chance to crit at exactly second t, where we start counting from t=0 (meaning, what's our chance to crit, say, exactly 3 seconds after we start shooting)?
Bear in mind that this is a discrete problem, as we only shoot once every 1/eff_spd seconds. So instead of looking at "time", let's look at "number of shots fired".
Obviously, our chance to crit on the first shot is our base crit %.
Now, the chance to crit on the second shot, if we disregard the outcome of the first shot, is also our base crit %. However, what we want to know is the chance of critting for the first time on the second shot. For this to happen, our first shot needs to not crit, and our second shot needs to crit.
The chances of our first shot not critting is (1-base_crit), and the chances of our second shot critting is base_crit.
So the overall chance of critting on exactly the second shot is (1-base_crit)*base_crit.
Now, on the third shot things get slightly more complicated. The chance to crit is still base_crit, but the chances of not critting on our first two shots is now (1-x), where x is the SUM of the probabilities to crit on the first and second shots.
So if our first shot had 0.15 chance of being the first crit, and our second shot 0.125, this would be (1-(0.15+0.125)).
This is the general solution to the problem. For shot number n that we fire, the chance of critting for the first time on that shot is
Now that we know how to calculate the chance of critting for the first time on a given shot, we can calculate how many shots on average it takes to crit. By the definition of expected value, this is
SUM(n * chance_to_crit_at_shot_n)where n is the number of the shot fired, and the sum is, of course, over n. To figure out the expected time to crit, rather than the expected number of shots, we only need to divide by our effective speed.
Now let's figure out the same thing, except this time with Sharpshooter on.
Structurally, the solution is the same. The difference is that for every shot n, our chance to crit, disregarding the outcome of the shots before it, is no longer base_crit, but rather depends on the time elapsed.
It is now thus
MIN(base_crit + 0.03*floor(1 + t) , 1)where t is the time elapsed until the shot has been fired (equal to n/eff_spd), floor means "round down", and MIN(x,1) means "take the smaller number out of x and 1". This is because our crit chance cannot go over 1 (guaranteed crit). Note that the crit bonus starts at second 0, meaning your first shot already gets 3% bonus. This has been tested by players.
Our chance to crit for the first time on any given shot n is now thus
(1-sum_of_chances_to_crit_thus_far)*MIN(base_crit + 0.03*floor(1 + t) , 1)
From these values we can find the expected time to crit with sharpshooter in the exact same way as we did before:
SUM(n * chance_to_crit_at_shot_n)
And dividing by effective speed. Now, until now I've been throwing around formulas and not numbers. I wrote a short script to calculate these numbers, and this is what came out:
With weap_spd = 1.1 (regular xbow), ias = 65, and base_crt = 0.05 (5%), we get:
Expected time until first crit without sharpshooter: 11 secondsQuite the difference, huh? Now let's try that with the same weapon speed and ias, but base_crt=0.15:
Time until crit with sharpshooter: 3.9 seconds
Expected time until first crit without sharpshooter: 3.6 seconds
Time until crit with sharpshooter: 2.5 seconds
And finally, let's try it with my own stats: weap_spd = 1.65 (bow with ias), ias = 70, base_crt = 0.205
Expected time until first crit without sharpshooter: 1.73 seconds
Time until crit with sharpshooter: 1.4 seconds
It is clear from both the math and the numbers that the difference becomes smaller with both higher base_crit, and a faster weapon/more ias.
But the "time until crit" isn't everything. Since the bonus crit% remains for 1 second after the first crit occurs, the dps boost it gives is also applied to that 1 second. So let's try and figure out our average dps with and without sharpshooter.
The simplest way to find our dps without sharpshooter would be simply to multiply our damage by effective speed, and add our chance to crit and crit damage. We get:dps = weap_dmg*eff_spd * (1 + base_crit * crit_dmg / 100)That is relatively straightforward. However, another way to calculate the dps, which will be more useful when we try to figure out the dps with sharpshooter, is to calculate our damage done over the expected time to crit without any chance to crit, add one guaranteed crit after that, and then divide by the total time.
First, in the time until we first crit we do damage equal to:weap_dmg*eff_spd*(time_to_crit - 1/eff_spd)Why (time_to_crit - 1/eff_spd) and not simply time_to_crit? This is because our "average time to crit" number actually contains the time for the critical shot fired. Say we had 100% to crit, then by our calculations the average time to crit would be the time to fire 1 shot, or 1/eff_spd. However in this case we want the time elapsed before that, so we have to deduct it from our total time.
After that we crit, doing damage equal to:weap_dmg * (1 + crit_dmg/100)In an amount of time equal to 1/eff_spd. Thus our total average dps is:(weap_dmg*eff_spd*(time_to_crit - 1/eff_spd) + weap_dmg * (1 + crit_dmg/100)) / time_to_critJust to assure you guys that this is correct, I ran the calculations several times with different numbers, and both methods of calculating dps always came out the same. Also, it is important to note that I am not taking dex or other passives into account here, because they all simply multiply your dps. They won't matter at all to the relative difference between having SS and not having it.
Now, when we have Sharpshooter on, we obviously can't use the first method, as it doesn't take into account our varying crit chance. Thus we have to use the second method, of figuring out how much damage we do in a certain time frame and then dividing by it.
Just as before, until critting we doweap_dmg*eff_spd*(time_to_crit - 1/eff_spd)except our time_to_crit is now the time to crit with SS, obviously. We than get a crit, again doingweap_dmg * (1 + crit_dmg/100)However, this time we also have another full second with an increased crit %, in which we may or may not crit. Our damage done in this second, like in the first method, is thus:weap_dmg*eff_spd * (1 + crit_chance * crit_dmg / 100)where crit_chance is the chance to score a critical at the time of the first expected critical, meaningMIN(base_crit + 0.03*floor(1 + time_to_crit) , 1)Then we add all of these up and divide by the time (time_to_crit + 1). We finally get an average dps of:(weap_dmg*eff_spd*(time_to_crit - 1/eff_spd) + weap_dmg * (1 + crit_dmg/100) + weap_dmg*eff_spd * (1 + crit_chance * crit_dmg / 100)) / (time_to_crit + 1)
And that's it. We now know how to figure out our average dps with and without SS on. Again, to not leave you guys hanging, I ran the numbers for several different scenarios:
For weap_spd = 1.1, IAS = 65, base_crit = 0.05, weap_dmg = 1000, crit_dmg = 100 (crossbow with archery), we getAverage DPS without sharpshooter: 1905(Again, note that I ignored dex and other passives - which is why these numbers are so low)
Average DPS with sharpshooter: 2081
Overall improvement: 9.2%.
Let's assume you stack crit gear. We'll use the same stats above, but with crit_dmg = 220:Average DPS without sharpshooter: 2014
Average DPS with sharpshooter: 2401
Overall improvement: 19.2%.
Now let's try it with 100% crit damage, but a base crit of 15% instead of 5%:Average DPS without sharpshooter: 2087
Average DPS with sharpshooter: 2222
Overall improvement: 6.48%.
And finally, let's assume you stack crit_dmg (220%) AND have 15% base crit:Average DPS without sharpshooter: 2414
Average DPS with sharpshooter: 2711
Overall improvement: 12.35%.
And lastly, let's try this using a faster weapon. We'll use weap_spd = 1.6, IAS = 65, base_crit = 0.15, weap_dmg = 1000, crit_dmg = 100
Meaning the same as case #3, but with a faster weapon:Average DPS without sharpshooter: 3036
Average DPS with sharpshooter: 3187
Overall improvement: 5%.
Well, we've reached the end of our post, guys. I think the conclusions are pretty clear:
Sharpshooter becomes less effective, the faster you are.
Sharpshooter becomes FAR less effective, the higher base crit % you have.
Sharpshooter becomes more effective with crit damage gear (duh).
But I think the most important conclusion here is that in a prolonged fight, sharpshooter only beats "cull the weak" if you have an extremely low crit % and lots of crit damage.
Now, I'm not saying SS is bad or you shouldn't use it. I like it for the massive spike you get at the beginning, and I'm sure others do too. I just wanted to try and analyze exactly how much I was getting out of it when fighting elites.
Any insight or comments from you guys would be MOST welcome. This took a while to type out.