Here, I will try to explain 5 effects and how they stack. These five effects are Damage, Leech, Healing and Movement speed.
Here's the 5 formulas:
Damage: ((BaseDamage*(Scaling^level),Mod+w/Accumulator*w/Accumulator)+Flatmodifier)*(1+Multiplicativemodifiers,DamageDealtFractions,AttributeFactor))*(1+UnifiedDamageDealtFraction)*ModifyFraction, then it's further reduced by armor
Heal: ((BaseHeal*(Scaling^level),Mod+w/Accumulator)+FlatModifiers)*(1+Multiplicativemodifiers+HealDealtAdditive)*HealDealtMultiplier, then it's further reduced/increased by HealTaken.
Movespeed:((BaseMS+Mod)*(1+HighestUMS-LowestnegativeUMS)*(1+SumofallAMS))*MovespeedMultiplier+Movespeedbonus, then it gets capped by MSmaximum/MSminimum.
Attack Speed: (BAT+Mod)*(1+HighestUAS-LowestnegativeUAS)*(1+SumofallAMS). This is the simplest one.
There are two extra things before we get started. If you don't understand half the terms said here, go to the bottom of the post where I posted a glossary.
If you do not know what effects are what, then you can take a look at my
cheatsheet which has all the info from all the abilities in the game. Note: some abilities are pretty unique and I may have missed them (for example, Stukov's Spine Launcher is based completely off its base attack, so if I didn't search for the talent specifically I would've missed it). If you see that I'm missing X effect, just comment.
The formula for damage (as deep as I know it) is this:
If math is too complicated, here's the step by step: First, use the base damage. This is scaled by level and modified by mods. Mod is an effect that is no longer used in damage because it interferes with level scaling in a bad way. Now take that damage and pass through the Accumulator, either a multiplier or an additive. This becomes your new BAse damage. Add the FlatModifier to that new base damage. After that, when you have BA+F, add all multiplying effects (MM, DDF, AF) then multiply both numbers, getting (B+F)*M, and this multiplied damage is finally multiplied by Modify Fraction. So it's Base->Accumulators->Flat->Multipliers->UnifiedMultipliers->ModifyFraction.
While there's currently no effect that uses both w/accumulators at the same time, if there would be, then it's multiply first then add, unlike the latter part where it's flat then multipliers. So far, there's only one source of UDDF, and that's Valla's vault, to allow it to stack multiplicatively with Hatred, which is normal DDF.
For armor, the formula is simple formula: FinalDamage*(1-ArmorBonus%). IF you have 25 Armor and the final damage is 600, you'll be hit by 450. Alternatively, if the armor is -25, you'll be hit by 750. Armor bonuses work like Unified Effects, that is only the highest health and lowest health stack. There's one exception to that, and that's Garrosh. His passive stack with other positive bonuses, because he has a secondary armor that's aptly named GarroshArmor.
There's 3 damage types in this game: Basic (Physical Damage), Ability (Spell Damage) and Splash (unused so far). Ability is further divided in 4 categories: Spell damage (the base), Spell percent damage (has NoFractionDamageBonus and ArmorMitigationRule=none, thus preventing the damage from being changed, only it's own modifier and MF, except for Dva's Defensive Matrix does change the number), Spell Damage DOT (which has No Damage Timer Reset, this means that dealing damage with this does not prevent you from channeling or mounting, unlike normal damage effects), and spell damage percent dot (who has both NFDB and NDTR).
If you have for example an ability with Spell Percent Damage (SSP on the spreadsheet), the entire formula has a couple of things skipped.
NFDB means you get to skip: DDF, AF and Armor. So basically, only accumulator flatmodifier and multiplicative modifiers are applied. Now, there is no ability that is classified as SSP that has any of those modifiers. In order its: Base damage scaled->Accumulator->AddFlat->Multiply->MF. Basically it's only the effects that are on the ability itself that can change it, except for Modify Fraction.
Do note something very important: Shields are modify fraction 0, but they also have a limit. For example if you would do 1000 damage to a 688 shield, only 312 damage is being done. Shields damage is considered absorbed.
Leech is an effect that can be either attached to a single source of damage (LeechFraction) or to a damage type (VitalDamageLeech). Leech damage cannot be increased by heal dealt modifiers, meaning that you won't get extra 10% healing just because you have Auriel's Crown with Wrath of Heaven, for example.
Leech formula is:
This means that armor and modify fraction effects will reduce your leech. Now for a small tidbit of trivia: Miss/Evasion prevents damage, while Protected absorbs damage. Why is this important? Well leech cares about how much damage you do, and that means that while protected you'll receive no damage, but they'll also Leech full damage from you. This is why MF in Genji's Deflect has an effect. It prevents 1/3 of the leech the opponent would've gotten from you.
Also, the flags NoLeech and its ilk only prevent VDL, you can still use LF on them. This has been used recently on Muradin's BronzeBeard Rage, who has both NL and LF. So, for example if he's buffed by Nanoinfusion he will keep leeching 15 (20*0.75). Gaining no Leech from Nanoinfusion (and no spell damage because that's also another flag in BBR).
The formula for healing is simpler than damage.
If we do it with steps its: First Take the Base heal (remember, mod is no longer in use because it screws with level scaling), add the accumulators to become BAse amount. Add the FM so you get B+F. Then Multiply it by the multipliers so you end (B+F)*M.
Now, just like Damage, there's a modifier that works on the target rather than the attacker, called ingame as HealTaken, but known to the population as healing increases/decreases (which, just like armor, appear to the side of the lifebar).
Output healing * (1 + Healtaken)
As you can see it's the entire amount. This is the reason why Gul'Dan's Hunger for Power is bugged on healing modifiers. His HealDealt Life is 0.4 while his HealTaken Life -0.25, as the coder thought they stacked additively (0.4-0.25=0.15, the supposed 15% increase), but in reality they stack multiplicatively, for a total of (1+0.4)*(1-0.25)=1.05, for a 5% or one third of what is expected. Gul'Dan is no stranger to getting shafted by healing increases, as Darkness Within would tell you.
Heal Dealt Multiplier is only used on one ability, Lili's Surging Winds. It stacks with everything multiplicatively.
Just like SpellDamage, healing also has multiple subcategories. Healing Spell is the base, SelfOnly Healing Spell (adds the healing to self healing instead of healing), Healing Spell Percent (uses Recharge Vital Fraction instead of Recharge Vital Rate) and SOHSP (both at the same time). To note is that RVR and RVF have no real difference other than RVR is the flat number while RVF is the % of life. In fact there's multiple abilities that are healing spell percent and heal a flat number or viceversa.
The formula for movespeed is the following:
Afterwards there's one more possible modification, MovespeedMaximum or Movespeedminimum. They prevent the movespeed of a unit going above or below their number, respectively. They can be bypassed by effects if they want to, as you don't want for example Lunara's final step on the hop to prevent her from being pulled into the Graviton Surge because her movespeed maximum is way too low.
Note that for the most part, UMS is the only movement modifier you'll find. There's one source of Mod (Erik The Swift), Additive Movespeed is on 4 effects (Lunara Blossom Swell, the Medivac, Kerrigan's Ultralisk, Wandering Keg's Recoil), Movespeed bonus on 2 characters (Lucio and Probius Passive movespeed) and Movespeed Multiplier on 2 effects (Phase Shift's pseudo root and wandering keg's extra movespeed). Do note that since Mod is actually a change in your actual base movespeed, Erik's character pane stays at 100%.
Note: Did you know there's an easy way to know if a dash ability can go over walls or not? If you see the character panel and your MS% is changed, it means that dash/knockback will not go through walls. The best way to see this is with Diablo. Before hitting your target, your MS will be 100%, after hitting the target his MS will become 600% (or close).
The formula is extremely simple, it's usually just "See the APS on your character pane, multiply it by the AAS". There's very few sources of other attack speeds.
Now, there's only one source of Mod in this category, and that's Nova's, who changes her BAT from 1 to 2.5 (and her APS then goes from 1 to 0.4). There's only 5 sources of multiplicative attack speed (UAS), and they all affect only the hero that's triggering the effect. Those are Raynor's Execute (0.2), Monk's Deadly Reach (1), Rexxar's Q Talent that I forgot its name (1.25) Varian's Twinblades (1, then 1.15 on 20).
Remember, if you see a term on my
cheatsheet that is not on this list, just ask me what they are.
SW: Stormweapon, deals basic damage
SS: StormSpell, deals ability damage
SSP: StormSpell Percent, deals ability damage and ignores most multipliers, both positive and negative. If used on non SSP damage, the effect is called NFDB (No Fraction Damage Bonus)
SSD: Storm Spell Dot, deals ability damage and doesn't interrupt channels. Note that some abilities are SS but have the NDTR (No damage timer reset), essentially working exactly the same as SSD.
SSDP: Both of the above at the same time.
Mod: An effect that changes the base of an ability or an effect. This is usually used by talents, and they can either set an attribute to X, add or substract from a certain attribute or multiply that attribute. After this effect is done, the attribute is taken like the base has always been the now modified one.
SHS: Storm Healing Spell: heals for either a specific amount or a percent of your life.
SSOHS: self only healing spell: same as above, but adds to self healing score instead of healing score.
SHSP: storm healing spell percent: same as SHS. This is supposed to use RVF while the other RVR but they don't follow the rule that closely.
SSOHSP: both of the above at the same time.
RVR: Recharge Vital Rate. Refers to healing spells, and this means that you want an exact amount healed. It doesn't need to only refer to life, as other abilities like Fenix Rapid Recharge uses RVR for shields.
RVF: Recharge Vital Fraction. Refers to healing spells that heal in a percentage. Its value is the % of Life (usually) that will be healed. It doesn't need to just be life, as abilities like Malfurion's Innervate that uses RVF to restore mana.
IBDM: The healing equivalent to NFDB, if you have this, increases/decreases in spellpower will not change how much Healing it's going to do. The most common heal with this tag are healing globes and moonwell sips. Unlike it's damage counterpart that ignores armor, Healing Taken still diminishes/amplifies it.
Slow: If an effect has slow, it means that it can be cleansed by, for example, Ana's Purifying Dart, even if it's a self slow (like Chen's Wandering Keg recoil when he hits someone). If it's a slow affecting an enemy that does not have the slow tag then they can't be cleansed.
Sprint: the contrast with slow, it shows the small wind effect to demostrate you're faster than usual.
Fast: equal to sprint.
UMS: Unified Move Speed. A % that changes your movespeed. Only the highest positive and the lowest negative effect can be applied, if you have multiple effects all the other ones will be ignored.
AMS: Additive move speed. The same as UMS, but AMS and UMS are multiplicative between them.
MSM: It's a multiplier that affects both AMS and UMS.
MSB: Movespeed bonus, after everything else multiplies themselves, MSB is added for the final computation.
w/Accumulator: Accumulator that stack multiplicatively with the Multipliers. Can be either a flat increase or a multiplier too. The reason I used this nomenclature is because the base amount is affected by the accumulator, and that's why it stacks multiplicatively.
FM: Flat Modifier. Adds a flat amount of damage to the ability, which can then be further increased by multiplicatives. Most effects use the flat amount regarless of level, but a handful does not, which is shown on the sheet as having (4%).
MM: Multiplicative Modifier. One of the 3 base multipliers for damage/2 for heals. After flat modifiers are added, they are multiplied by the sum of all multipliers.
DDF: DamageDealtFraction. One of the 3 multipliers for damage. This one is refered to as spellpower if it's on ability damage, but it can also increase basic damage.
AF: Attribute Factor. The third multiplicative modifier, this one is used to deal different damage to different types of targets. For example having AF 1 Hero means that you deal double damage to heroes, but minions take normal damage.
DR: Damage Response: An effect that happens when someone is damage. Mostly divided in two effects:
MF: Modify Fraction, multiplies the damage by X. Multiple MF stack multiplicately.
ML: Modify Limit, A shield effect. After all the MF are applied, this one substract X damage, either the whole damage, or if the incoming damage is bigger than the shield, up to its limit.
MLVMF: Vital Max Fraction. This is used with shields that are a percentage of your life. So for example a MLVMF 0.25 means that it's a 25% of your life as a shield. Kael also uses this for his Mana Addict shield, using VMF Energy.
HDAM: Heal Dealt Additive multiplier. Basically spell power for heals/shields (it's specified if it's affects life or shields wherever it's applied). Works like DDF.
HTAM: Heal Taken Additive multiplier. Heal amplifiers/reductions. It multiplies the total heal at the end.
AAB: All armor bonus. It's armor.
AMT: This means it's either Physical or Spell Armor. Needs to be accompanied with source type. If it says AS Hero, only heroes will have the armor applied to their damage.
BAA: Buff Auto Attack: A flag that only some abilities that increase Attack Damage/Attack Speed have. It should be on everything.
BAP: Buff Ability Power. Only some spell power increases have this flag.
DAA: Debuff Auto Attack: A flag for abilities that decrease damage or attack speed. Many abilities are missing the flag.
DAP: Debuff Ability Power: If you're lucky, a spell power decrease will be tagged.
P: Positive. It means an ability is a good one. Should be on more abilities as some effects can be created but since most buffs do not have the flags they're useless.
N: Negative. Read positive.
x5(or any number): Means this buff can stack up to X times. For example if a UMS effect has UMS -0.05(x5), it means you can stack it up to -0.25.
Vulnerable: flag to say your effect reduces armor, missing in many.
Resistant: tag for armor increasing effects, not many of them have it.
BAT: Base attack time. Basically, the cooldown for each autoattack. In the files this is the amount shown, how many seconds have to pass before you can autoattack again. Blizzard uses Attack Period but I'm an old guy that has used BAT for over 15 years, since WC3. Also AP and APS are too close and that makes me uncomfortable.
APS: Attacks per second. How many attack you can do in one second, this is what's shown ingame on the character pane, and it's gotten by dividing 1/BAT. This is shown as it's easier to calculate (APS*AAS) than doing it with BAT.
AAS:Additive attack speed. Increases/Decreases your attack per second by that much %.
UAS: Unified attack speed. Just like UMS and AMS, they stack multiplicatively between themselves. Just like UMS, only one beneficial/one debuff stacks.
Source: Original link
© Post "How Damage, Healing, Movement Speed, Attack Speed and Leech are calculated. Guide to stacking on all heroes’ abilities and effects." for game Heroes of the Storm.
Top-10 Best Video Games of 2018 So Far
2018 has been a stellar year for video game fans, and there's still more to come. The list for the Best Games of So Far!
Top-10 Most Anticipated Video Games of 2019
With 2018 bringing such incredible titles to gaming, it's no wonder everyone's already looking forward to 2019's offerings. All the best new games slated for a 2019 release, fans all over the world want to dive into these anticipated games!