• Dear Guest,

    You're browsing our forum as a Guest meaning you can only see a portion of the forum in read-only mode.
    To view all forum nodes and be able to create threads/posts please register or log-in with your existing account.

    TwinStar team

Warlock Feo's Corner of Reflexion: Hit or Crit?

So, taking into account what you guys just said, my calculations are wrong? (No surprise tho).
Hagson, how are you doing that macro to find out how much spell power do %hit and %crit account for? And, just personal, dont you guys feel your damage imput is greater while wearing more crit than hit? Like, every time I look on the Warlock guide on this forum and I read that the post says you must end up with 11% hit and 1% crit, something dies inside me. Yes, hit is very important, but the question is - is it really worth going for hit after like 5-6% hit, or is it good to swap for crit and try to get as much as possible? (Only as ds/ruin ofc).

Just tell me what you feel about it guys! Of course, needs to be proven with maths, but still, I just see such a dps increase while wearing crit. I think im the only warlock on my guild priorizing crit > hit after 4-5% hit (couldn't get more just yet), and I'm always top lock. I know its no argument for this, but still. It might be that what is confusing me, but I really feel that way.

Thanks for all the time you guys are putting on the thread tho! :wub:

Maybe you kinda get that feeling, cuz you dominate others on trash, because not all of them are lvl 63 and in that case crit>hit. Just a thought :)
 
/script u=UnitResistance y="target" a=u(y ,0) h=u(y ,1) f=u(y ,2) n=u(y ,3) fr=u(y ,4) s=u(y ,5) z=u(y ,6) SendChatMessage(UnitName(y).." has "..a.." Armor, "..h.." HR, "..f.." FR, "..n.." NR, "..fr.." FrR, "..s.." SR and "..z.." AR.", SAY)

Is it supposed to be a bug that all bosses have 0 resistances, or is it intended?
 
That's very interesting, I had never heard about that mechanic.

I'm making a macro that calculates the relative value of hit/crit/spellpower, but I would need to change some stuff considering this.

400+ lines of code and nearly 2 months later the macro has transformed into a full fletched addon with several commands that takes pretty much everything imaginable into account, and spits out a single easy number for Crit Hit and Int to Spellpower ratios. Check StatValues out here.
 
@Lharts:

The actual value of crit with the shadow bolt /ignite debuff can be roughly estimated if you take into account the average uptime of the debuff, based on your crit/hit rate. What does that mean? Example:

A shadowbolt does 1000 damage. Taking e.g. 90% hit and 20% crit you get 1000*0,9*(1+1*0,2)=1080 average shadowbolt damage.
If you now take the talent (which is 20% more dmg?) into account, the bonus increases something like this(but not at the first shadow bolt):
1000*0,9*(1+1*0,2)*(1+0,2*0,2*0,9)= 1118.88
The latter 0,2*0,2 are the 20% bonus damage multiplied with the crit chance and (important!) again with the hit chance, since after a shadowbolt crit, the debuff can also be reaisted.

Now you can go and try out the combinations of hit and crit chance ans you'll see when crit gets stronger as hit. I think for fire mages the break point is at like 93-94% in theory, but I'd always prefer hit, since the ignite isn't always your debuff and when it has 5 stacks you'll double the chance of critting within 4s by scorching anyways.
 
Your method is missing a few things, such as the fact that the buff has more than one charge, and therefore is more useful than your calculations make it seem. Note however that the several charges means that you have to account for "wasted" charges by critting too early.

Also worth noting is that while what you said about a critting shadowbolt having it's debuff be resisted is true, you can also have resisted shadowbolts crit, applying the debuff. Because multiplication is commutative (a*b = b*a) these two take eachother out.


Below is how I solved for the crit part of "true" (aka average) damage calculations in my addon CasterStats. The code is edited to remove variables and put in their values. The code below assumes you have Ruin and 5/5 Imp. Sbolt. The addon doesn't.

Code:
(1 + crit) + ((0.2) + ((0.2) * (1-crit) * 3) * crit);
-- About critgainw calculations:
-- The first part is very simple, the second part is caused by Imp. Shadowbolt and a bit more complicated.
-- 1.2 is the base bonus, if you have 100% crit you will at least get 20% (additive) extra gain.
-- You then take your chance NOT to crit, multiply it by the bonus you will lose from a crit (0.2, additive),
-- and multiply it by 3 (4 stacks, first doesn't count since you will always benefit from at least one cast.)


Again, this is only the crit effect on the average damage, which means this will always return a value between 1 and 2.2. For my addon the actual average is given by (speffect) * (criteffect) * (hiteffect)


If you have any questions or want to look through how the calculations are made I would be delighted, peer review is hard to come by. I've tried to explain throughout the code but I'm sure I've missed some things.
 
Your method is missing a few things, such as the fact that the buff has more than one charge, and therefore is more useful than your calculations make it seem. Note however that the several charges means that you have to account for "wasted" charges by critting too early.

Also worth noting is that while what you said about a critting shadowbolt having it's debuff be resisted is true, you can also have resisted shadowbolts crit, applying the debuff. Because multiplication is commutative (a*b = b*a) these two take eachother out.


Below is how I solved for the crit part of "true" (aka average) damage calculations in my addon CasterStats. The code is edited to remove variables and put in their values. The code below assumes you have Ruin and 5/5 Imp. Sbolt. The addon doesn't.

Code:
(1 + crit) + ((0.2) + ((0.2) * (1-crit) * 3) * crit);
-- About critgainw calculations:
-- The first part is very simple, the second part is caused by Imp. Shadowbolt and a bit more complicated.
-- 1.2 is the base bonus, if you have 100% crit you will at least get 20% (additive) extra gain.
-- You then take your chance NOT to crit, multiply it by the bonus you will lose from a crit (0.2, additive),
-- and multiply it by 3 (4 stacks, first doesn't count since you will always benefit from at least one cast.)


Again, this is only the crit effect on the average damage, which means this will always return a value between 1 and 2.2. For my addon the actual average is given by (speffect) * (criteffect) * (hiteffect)


If you have any questions or want to look through how the calculations are made I would be delighted, peer review is hard to come by. I've tried to explain throughout the code but I'm sure I've missed some things.

Hi, I did my own calculations when making my lock spreadsheet and used a different approach, which might interest you:

I calculated uptime using a binomial distribution, with crit as the probability and 4 as the number of trials:

Uptime: P(X > 0) = 1 - ((1-crit)^4)

The average bolt damage can then be determined as bolt * (1+crit) * (1+uptime*0.2)

To verify these results I wrote this fiddle, which simulates casting millions of shadow bolts in a row:
http://jsfiddle.net/hh3qopo6/

You'll find that the results match my formula exactly for any crit value.

This is disregarding the length of the debuff, since other locks will use up all the charges.
To simulate being the only lock, replace isbtimeleft = 50 with isbtimeleft = 12.
The formula for being the only lock is the same, but with the probability as crit*hit.

This is still flawed however, there are other factors that will lower the value of crit: other locks with worst gear than you, shadow priests, melee with shadow proc weapons, etc
 
Last edited:
This is still flawed however, there are other factors that will lower the value of crit: other locks with worst gear than you, shadow priests, melee with shadow proc weapons, etc
Good thing I wound up refreshing the page before submitting. QTF to the max. A good estimate nontheless. +1

As much as I like theorycrafting the simplest of rules sometimes bring the most benefit.
Get hitcap while keeping all other offensive stats as high as you can. No fancy math or addons involved.
 
@Hagson: Thanks for your detailed answer, but alone the fact that the debuff also can miss makes hit stronger than crit. Well, but I'll think of another formula again.

I just wrote a little programm that simulates a million shadowbolts cast by n warlocks with h % hit and c % crit, considering each warlock does a million shadowbolts. I checked hit or miss, if hit -> crit or non crit? (if non crit, debuff up?), if crit -> debuff up or not? renew debuff and counted.
The results were that it does not matter if you have 4 or 20 warlocks, the uptime of the debuff is nearly the same, and crit always made a bigger impact than hit did.
The programm did not compare the damage, just the debuff uptime.

Considering the damage question I checked Lharts' java programm and compared +7% hit vs +7% crit (83% hit + 22% crit vs 90% hit + 15% crit), where crit also won.

Both results strongly point in the direction of crit beeing worth more than hit. So if you can choose between similar spell power items where one has hit and one has crit (e.g. Bloodtingled Gloves vs Nemesis Gloves), always choose crit.
 
Last edited by a moderator:
and crit always made a bigger impact than hit did.

For Imp. Sbolt uptime? Of course. For overall damage? Not always.


So if you can choose between similar spell power items where one has hit and one has crit (e.g. Bloodtingled Gloves vs Nemesis Gloves), always choose crit.

This is a gross oversimplification and a misleading answer. The value of hit and crit relative to spellpower depend a lot on what gear you have. There is no way to say that "hit is stronger than crit" or the other way around, unless you know what gear the person is using.
It is for this purpose I wrote the addon, it has the ability to take all these things into consideration. It knows exactly how much spellpower, crit and hit you have, and gives the answer that is perfect for your character. Unless you write a program that allows you to input that, as well as talents and race you will always get a simplified (wrong) answer.



Uptime: P(X > 0) = 1 - ((1-crit)^4)

This is interesting indeed, and probably a better, or at least cleaner, way of doing this. Thanks, I'll consider using this in future revisions.


This is still flawed however, there are other factors that will lower the value of crit: other locks with worst gear than you, shadow priests, melee with shadow proc weapons, etc

Yes, but you will never escape those factors, and this is very close to a real answer. Keep in mind however that in an optimal raid there should be no such weapons (Deathbringer doesn't consume charges) and the only Spriest ability that consumes charges is Mind Blast. Mind Flay and SW:p benefit from the debuff but do not consume charges. In most raids the warlocks will also have fairly similar gear. These all make it so the "outside" affect on ISB uptime is smaller than one might first expect.
 
Happy to see that this thread is still alive :)

Do we have any certain answer about what is better on current content then, if hit or crit?
 
Do we have any certain answer about what is better on current content then, if hit or crit?

You will never get an answer to that question, since you don't supply enough information.

This is a gross oversimplification and a misleading answer. The value of hit and crit relative to spellpower depend a lot on what gear you have. There is no way to say that "hit is stronger than crit" or the other way around, unless you know what gear [and talent and race] the person is using.
 
If anyone wants to check out the spreadsheet I was talking about:
https://docs.google.com/spreadsheets/d/1Cntrz6wolRgpNJzOSP0ZQFs13GXDSe4Zimg04vYa9Gk/edit

To modify it go to File -> Make a copy and modify any of the green fields.
Gear, talents, buffs, race, rotation, etc is all configurable.


Thank you so much for this amazing spreadsheet! Is there anyway I can automatically input my character's database with all the statistics on gear and spell stats, etc or do I have to manually enter?
 
Last edited:
Was just bored again and thought about solving it this way

Assumption:


average damage=(base damage + s*modifier)*h*(1+c)*(1+0,2*uptime debuff in percent)

uptime debuff in percent:
simulate a few million casts with current h and c (chance for debuff = h*c) and calculate (bolts with debuff on target/total number of casts)=uptime debuff.
Since h*c is linear and my simulations have shown that if all locks got the same gear, the debuff uptime is always roughly the same, no matter how many locks there are, it should not be to hard to find a formula like lharts did already (just wanna do it myself, even though I like what you did there Lharts).


The last missing part of the puzzle:
How does the bonus of succubus sacrifice count on this server? only to base damage or total damage before or after multiplying with potential 20% of the debuff?
 
Screenshot comparing Crit to Hit
http://i.imgur.com/cOonvjI.png

using: Warlock Spelldamage Calculator

It looks to me that without world buffs, Crit and Hit is worth about the same for a geared warlock with consumables when it comes to Shadowbolt dps.
If you got world buffs then Hit would become more valuable.

Hit affect spells that cannot crit aswell. If your Curse of Shadow/Element/Recklessness gets resisted then it's gonna cost you dps due to having to spend another global on the curse instead of a shadowbolt.

Thirdly, high crit chance means unreliable threat-spikes. If you at any point have to stop casting cous you just crit 5 times in a row, then it defeats its own purpose to stack more crit.

In reality of things i dont think anyone can argue that Crit is better than Hit for a warlock.
 
Was just bored again and thought about solving it this way

Assumption:


average damage=(base damage + s*modifier)*h*(1+c)*(1+0,2*uptime debuff in percent)

uptime debuff in percent:
simulate a few million casts with current h and c (chance for debuff = h*c) and calculate (bolts with debuff on target/total number of casts)=uptime debuff.
Since h*c is linear and my simulations have shown that if all locks got the same gear, the debuff uptime is always roughly the same, no matter how many locks there are, it should not be to hard to find a formula like lharts did already (just wanna do it myself, even though I like what you did there Lharts).

Already posted the uptime formula above: 1 - ((1-crit)^4)
If you're the only lock: 1 - ((1-crit*hit)^4)
 
Well, as a mage I am interested in such questions because it also means that loot can be distributed fairer. Imo one the one hand mages should not go for the hit ring in bwl, because they can hitcap with zg cloak, bloodvine set, rockfury and tear. And on the other hand you can argue if locks - for the reasons ilkustrated by you, smoker - could e.g. pass on items like mishundare or aq sword + offhand ans go for t2,5 and acolyte staff instead, which would make loot distribution MUCH easier. But since every warlock would curse me for saying things like that, I am so curious about the values of crit vs hit.
 
Hey again,

another question. I have written a programm that calculates the uptime of the Shadow vulnerability debuff from the "Improved Shadwo Bolt" talent on mobs. This is done by letting n warlocks cast x casts (I usually go for 10000 casts per lock) with h % hit and c% crit chance. I count how many shadow bolts got a benefit from the debuff.

The results are:
1.) unless you bring an absurd/unrealistic amount of warlocks to your raid, the number of warlocks does factors only very very little into the uptime
2.) crit chance has the highest impact on the uptime
3.) hit chance is a little weaker than crit if you want to reach an increased ISB debuff uptime.

That's all nice so far, but I am struggling to get a formula. Sure I could simulate all combinations of hit and crit with let's say 1000000 casts to get a number close to reality, but I'm struggling with the formula. Can any maths pro help me out please?

Basically it's like:

Code:
x = number of casts (e.g. 10000)
y = 1
n = number of warlocks (e.g. 2)
h = hit chance (e.g. 87)
c = crit chance (e.g. 20)

db = 0
hitswithdebuff = 0

while (y <= x) {
z = 1
/* checking for hit */
while (z <= n) {
if (random(1,100) <= h) {

/* checking for debuff up or not, and if so consume one charge and count +1 hit with debuff on target */
if (db > 0) {
 hitswithdebuff = hitswithdebuff +1
db = db-1
}

/* checking for crit */
if (random(1,100) <= c) {

/* checking for hit of the debuff */
if (random(1,100) <= h) { db = 5 }

}

}
z = z+1
}
y = y+1
}
 
Hey again,

another question. I have written a programm that calculates the uptime of the Shadow vulnerability debuff from the "Improved Shadwo Bolt" talent on mobs. This is done by letting n warlocks cast x casts (I usually go for 10000 casts per lock) with h % hit and c% crit chance. I count how many shadow bolts got a benefit from the debuff.

The results are:
1.) unless you bring an absurd/unrealistic amount of warlocks to your raid, the number of warlocks does factors only very very little into the uptime
2.) crit chance has the highest impact on the uptime
3.) hit chance is a little weaker than crit if you want to reach an increased ISB debuff uptime.

That's all nice so far, but I am struggling to get a formula. Sure I could simulate all combinations of hit and crit with let's say 1000000 casts to get a number close to reality, but I'm struggling with the formula. Can any maths pro help me out please?

I went through something like this while making my sheet.

Made this basic simulation for 1 lock: http://jsfiddle.net/rgfdxyr4/
This can be represented with a binomial distribution which can be simplified to this:

(1 - (1 - crit * hit)^4)

I played around with different values and it matches the simulations exactly.
 
Thank you for your quick reply! I've tried this formula already but the results aren't satisfying enough for me. They are always like 2-8% away from reality.

I have found an approximation for the ISB debuff uptime. The results are very close to the ones from the simulation.

TLDR:
Code:
avgUptime = (3,1+0,1629375*(hitTotal-83))*10^(-4)*crit^3 - (0,054+0,002125*(hitTotal-83))*crit^2 + (3,5+0,0913125*(hitTotal-83))*crit - (1,621+0,0431875*(hitTotal-83))

or

avgUptime = (3,1+0,1629375*hitOnGear)*10^(-4)*crit^3 - (0,054+0,002125*hitOnGear)*crit^2 + (3,5+0,0913125*hitOnGear)*crit - (1,621+0,0431875*hitOnGear)

(Using 1,2,3,4,5,...,50 for % crit and 83,84,85,86,...,99 for % hit)


How? Simulating some millions of shadow bolts for 83-99 hit and 1, 10, 20, 30, 40, 50 % crit, making a graph out of the data and finally using the Taylor expansion to get a very close approximate equation for the uptime.

(more detail here https://docs.google.com/spreadsheets/d/1ktVYLY4wVHDgWbniD-PBkO2kP1kg4mKI7PscCD4Z8qs/edit?usp=sharing)
 
Last edited by a moderator:
You're over complicating it. The last formula especially is far too complicated, you forgot the sanity check.
You're also blindly trusting your simulator for no good reason.

Remember Occam's razor, and that the simplest solutions are often the best. Look at it this way:
ISB is down when you dont crit 4 times in a row, so it's up when this is not true. This can be calculated as:
Code:
(1 - (1 - crit)^4))
where crit is your chance to crit.

Hit doesn't matter, because a resisted shadowbolt can still "crit", applying the debuff. Likewise a critting shadowbolt can have it's debuff resisted, canceling the former effect out.

The amount of warlocks doesn't matter (assuming they have equal crit%), because they create just as much ISB as they consume. Your ISB will last shorter and happen more often, but the uptime will be the same.
 
Last edited:
Top Bottom