![]() |
Intro: This is the third iteration of my post detailing what we know about WoW mechanics. It began as a post on my guild forums about my experiments with Taunt, and grew as I picked more theorycraft-y information. More recently, this forum is the main source of updated info (partially because it's just about the only major one I browse anyone), so regulars will see a lot of familiar results.
Regardless, it should be useful for regulars to reference things without have to dig up old threads, for lurkers to have a concise place to glean information, and for newcomers to avoid asking repetitive questions. And all but the most avid forum-browsers will probably find at least one thing in there that they didn't know. The primary concern is PvE combat at level 60. Some of the formulae scale to lower levels in obvious ways, but I've left out the dependences on level for cleanliness. Also, some fundamental things are different in PvP, and those are not treated here. Specifically, the information here is complete for level 60 players with maxed skills fighting PvE enemies from level 60 to 63. ------------------ I. Magical Combat The spell hit roll determines whether you hit, miss, or crit. The miss chance and crit chances computed below are measured out of the total number of casts, and to not overlap. The remaining probability defines the ordinary "hits." A. Base spell miss chance = {.04, .05, .06, .17} against level {60, 61, 62, 63} mobs. +Hit gear can improve this, but not below .01. B. Crits Base Spell Crit: Mag: Int/59.5 + 0.2 Wlk: Int/60.6 + 1.7 Shm: Int/59.2 + 2.3 Pst: Int/59.5 + 0.8 Dru: Int/60 + 1.8 Pal: Int/29.5 + 2(?) Mob: 0 (Mob-cast spells cannot crit) A spell crit does 150% damage, before talents. C. Spell damage = TooltipDamage + (spelldmg)*X X is a scaling factor for each spell, generally given by max(1,CastTime/3.5). Instant spells have a cast time of 1.5, and channeled spells and DoTs receive the full value, divided over all the ticks. For AoE spells, multiply by 1/3. Sometimes, multiply by yet another factor for spells with secondary abilities (for example, .95 for Frostbolt, .8 for Cone of Cold, and .2 for Frost Nova). % increases from talents are added after damage bonuses from gear, except in the case of healing spells. D. Avg mitigation due to resists = .15*resist/casterlevel. Capped at .75. This means that, for a binary spell like Frostbolt, this fraction of the spells that "hit" are resisted anyway. For a spell like Fireball, you will see, 0%, 25%, 50%, 75%, and full resists, but the average amount resisted is given by this value. E. Mana regen per tick Drd, Hun, Wlk: Spi/5 + 15 Mag, Pst: Spi/4 + 12.5 Pal: Spi/4 + 8 Shm: Spi/5 + 17 A tick is 2 seconds. If your regen is not an integer, the game alternates between next lowest and higher integer in such a way as to make the average correspond to the above value. Actual regen per tick can be modified two different ways: 1) Flat Regen Modification. A multiplier which is applied to every tick. The only things which can give a bonus of this form are Innervate and Evocation. 2) The "5-Second Rule" Any time you have spent mana in the past 5 seconds, you are in the "5-second rule," and your regen is modified by a multiplicative factor, which I will call F. F is equal to 0 by default, but can be increased above 0 by buffs such as Mage Armor, Innervate, Evocation, Spirit Tap, and Blue Dragon. Notably, F is not capped at 1. This means that, when some of the above buffs start stacking, situations can arise where your regen in the 5SR is greater than it is out of the 5SR. EDIT: This is no longer true. Also note that things like Clearcasting, Inner Focus, and channeled spells can cause you to not spend mana, and hence gain full regen ticks where you otherwise wouldn't. II. Physical combat A. Outcome of a Melee Swing 1. The Attack Roll The outcome of a melee swing is determined by a single roll. There is not, for example, a roll to see whether it crits, and then a separate roll to see whether it is blocked. There are 8 possible outcomes of a swing, and the probability of each is represented by a letter: 1) Miss (M) 1b) Parry (P) 1c) Dodge (D) 2a) Block (B) 2b) Glance (G) 3) Crush (U) 4) Crit (C) 5) Hit (H) They do not combine in any way. There is no such thing as a "blocked crush," nor is there even an abstract concept like a "swing that was going to crit, but was parried" Each of these things, except "Hit," has a fixed, independent chance of happening (each of these is computed individually in the following sections). "Chance to hit" is actually a fictional concept, and items which affect "chance to hit" are actually affecting M, the chance to Miss. All probabilities are measured out of the total number of swings. The order and numbering of the above list are important. Each swing is a pie that totals 100%, and the game fills it up in the order I specified. If the first 7 slices do not total 100%, the leftovers slice is called "Hit." If the total is greater than 100%, the things at the bottom get pushed off the list entirely. Hence, the sum of the 8 probabilities (possibly after truncation) is always 100%, and one roll is made to select the outcome. For example: If M+P+D+B+C+G+U = 70, then H = 30. If M+P+D+B = 100, then C = G = U = H = 0. a. Ranged Attacks All computations for ranged attacks are identical to those presented for melee attacks, the only difference being that M, C, H, and B are the only terms which exist. Unknown: player vs. mob blocked crits? Any detailed info known here? 2. Miscellaneous Terms Throughout this section, "T" refers to the miscellaneous bonuses which you must always remember to add back in at the end. It is explicitly included in all formulae, just so you don't forget about them (I know it seems silly, but this is the most common cause of "the formula doesn't match my observed numbers"). These include: Talents "Equip:" Bonuses Racials Stances Buffs 3. Skill Skill affects the probability of a Miss, Parry, Dodge, Block, and Crit. The magnitude is the same in all of these cases, henceforth known as the Skill Term, S: S(in %) = (TargetDefense - AttackerWepSkill)/25 For example, each point of defense you gain increases your chance to [be Missed], Dodge, and Parry by 1/25 = 0.04% each. So, 1 defense increases your overall chance to avoid by 0.12%. The Weapon Skill of a Cat or Bear is always 300. 4. Miss % (M) Melee attacks: M = B + S + T B (base Miss chance) = 24% for white hits while Dual Wielding, and 5% for all other attacks (including incoming boss hits). Ranged attacks: M = B + 6*S + L + T L = (TargetLvl - AtkrLvl) Ref: Lactose for increased dependence of ranged hit chance on skill. 5. Crit % (C) C = X + Agi/Y - S + T Y = 53 for Hunters, 29 for Rogues, and 20 for all other classes. X = 0 for Warriors, Rogues, and Hunters, 0.9 for Druids. It is higher (3-4%) for casters, so that they have nonvanishing melee crit chances. Someone remind me to check what is it for Paladins. To compute your crit chance in the spellbook, it assumes the target has 5*level defense skill. This is why you appear to lose .2 to crit when you level; the tooltip is simply recalculated for a target with 5 more Defense. 6. Parry/Block % (P,B) B = 5 + S + T P = 5 + S + T (Note these are not generally equal, as the T terms differ) 7. Dodge % (D) For classes other than Rogues or Hunters: D = X + Agi/Y + S + T (X and Y are determined as in Crit%, II.A.5) For Rogues and Hunters: D = 2*(X + Agi/Y) + S + T 8. Crushing Blow % (U) When a Level 63 mob attacks a player, U = 15. Otherwise, U = 0. 9. Glancing Blow % (G) G = {0, 10(?), 25(?), 40}, when a player attacks a level {60, 61, 62, 63} mob with a white hit. B. Damage Done By a Swing 1. Attack Power a. Melee Attack Power: 160 + 2*Str, for War, Pal, and Bear 100 + 2*Str, for Shm 100 + Str + Agi, for Rog, Hun 100 + 2*Str + Agi for Cat b. Ranged Attack Power: 100 + 2*Agi for Hun 2*Agi for War, Rog 2. AP contribution a. Weapon Damage (W) is randomly rolled. It is linearly distributed along the damage range of the weapon. b. White hit: D1 = W + AP*Speed/14 (*.5 if off-hand) c. Special Attack (before attack-specific modifiers): D1 = W + AP*N/14 N is given by: 1.7 for Dagger 2.4 for other 1H weapon 3.3 for 2H weapon 2.8 for ranged weapon 3. Armor Mitigation Every attack is mitigated by the target's armor. Base Armor (before gear) = 2*Agi Mitigation = A/(A + 85*AtkrLevel + 400) 4. Final Damage Dealt "Hit Damage" DH = D1*(1-Mit) M, P, D: 0 H: DH B: DH - Block (Block = ShieldBlock + Str/22 + T) C: 2*DH U: 1.5*DH G: (.7 + Min(Skill-300,10)*.03)*DH C. Rage/Energy Generation 1 Rage generated per 30 damage dealt 1 Rage generated per 90 damage taken 20 Energy generated every 2 seconds III. Threat Update: for more detail, consult Kenco's thesis on threat. I'm not going to replicate the entire thing here. I will update the information I already had for accuracy. A. Basics A mob as a hate list which stores its threat values for everyone who is in combat with it. Randomly targeted abilities choose their target from this list. Also, the order in which players appear on the hate list can serve as a sort of tie-breaker in some sitations (see Taunt, below). Initially a mob aggros onto the first person who either targets it with an ability or enters its aggro radius. Note that a "body-pulled" mob is in a precarious state: its current target has 0 threat, and even things which ordinarily generate insignificant threat (e.g. buffs) can pull aggro. Once a mob has chosen a target, it can be pulled off in one of two ways: 1) Somebody exceeds the current target's threat level by 30%. The mob will then chase the new target, even if it is at range. 2) Somebody exceeds the current target's threat level by 10%, and performs an ability within melee range of the mob. The mob will be turn towards the new target. Once either of these happens, the mob will be "stuck" to the new target, and will remain there until yet another 10% (melee) or 30% (ranged) threat gap is surpassed. B. Overall Threat Scaling Some abilities affect an overall multiplier which is applied to all threat generated. Bonuses stack multiplicatively. Notable examples: Rogue/Cat Form: -29% Battle/Berserker Stance: -20% Defensive Stance/Bear Form: +30% Defiance/Feral Instinct: +15% Blessing of Salvation: -30% C. Damage Threat Dealing damage to a mob generates threat with it, at a rate of 1 threat per damage dealt. DoT's generate threat with each tick. D. Healing Threat You gain threat with a mob by healing any person on that mob's hate list. "Healing" is any ability which restores HP, Mana, or Rage to the target. Greater Heal, Major Mana Potion, Furor, Bloodrage, and Dark Pact all generate threat of this type. 1 point of HP/Mana healing generates 0.5 threat (0.25 for a Paladin). 1 point of Rage/Energy healing generates 5 threat. E. Overheals The threat generated is determined by the amount of HP/mana actually healed. In other words, overhealing generates no threat at all. F. Skills Some skills generate threat which is not caused by damage or healing. This can happen in one of two ways: 1) Many skills have a constant amount of threat associated with them, which is added to any damage they may do. Examples are Distracting Shot, Counterspell, and Revenge. 2) Some skills have a total multiplicative bonus factored into their threat generation. Examples are Maul, Mind Blast, and Earth Shock. G. Taunt Taunt and Growl force the mob to attack the caster for 3 seconds. They also have some unique effects: 1) They insantly raise your total threat to be equal to that of the mob's "favored target" (typically, the person it was attacking) at the time the spell is cast. 2) They "unstick" the mob from it's current target and give it to the Taunter. This person will now have the 10%/30% threat buffer described above. H. Miscellaneous The Mocking Blow and Challenging Shout debuffs force the mob to attack you temporarily, but have no effect on threat levels. Similarly, Ice Block, Blessing of Protection, Divine Shield, and Limited Invulnerability force the mob to not attack you, but have no overall effect on threat levels. A mob will not attack a feared target, and a rooted mob will not attack a target that is out of range. In all these cases, the mob goes after the legal target with the highest threat. |
AP contribution section:
N for non-dagger 1H weapons is 2.4, not 2.2. Might want to add a section on how crit is described by Blizzard: crit is crits across swings, not crits across hits, whereas most stat addons track it as crits across hits. Also possibly note that melee crits are 200% by default, while spell crits are 150% by default. Level 61 and 62 mobs can also generate crushing blows, I believe, although I think they generate at 5% and 10% rates respectively. |
Hmm, yeah, may as well make that more explicit, since it's a common misconception.
|
Seeing as EJ forum has steady flow of combat mechanics discussions, i think it will be nice to have a separate sub-forum for this kind of things.
|
Fairly certain that paladin INT : Spell Crit ratio is closer to 20 INT : 1 spell crit
|
Quote:
![]() Could quite easily be a HitsMode bug, of course. |
Ranged missile attacks don't work the same as melee attacks do, though. For instance, there are no glancing blows.
|
Oh crap, I forgot about ranged blocks. I only just recently started thinking about ranged attacks.
(In fact, one of the main reasons to post this here was to fill in the gaps). |
Quote:
|
About the time folks were brickwalling at the untauntable drakes, I believe Diego posted on on R&D to the effect that percentage-based threat modifiers did not stack up additively. This might have changed, but it seems unlikely to me.
|
Quote:
I'd say ~29 int per is about right from personal testing. Also regarding your spellhit section, I believe regardless of your +hit gear there is always a base 1% chance to do a clean "white" resist. I may be wrong in this however. Edit: Copy+paste the above. Buggered forum code. |
From what I've experienced the only thing that can reduce the resist rate to 0% is things like Priest's Shadow Focus.
|
Quote:
http://www.wowwiki.com/Talshuler%27s_Int_Research |
Quote:
|
Quote:
|
| All times are GMT -4. The time now is 4:07 PM. |
Forum Infrastructure by vBulletin 3.6.12 ©2000-2007, Jelsoft Enterprises Ltd.