PDA

View Full Version : [Combat Mechanics] Is This the Spell Damage Formula?


TheDoktor
01-11-2009, 01:05 AM
Ever since I read Disquette's melee combat mechanics analysis (http://disquette.wordpress.com/warhammer-online-melee-combat-mechanics/), I've been curious about the formulas for spell damage. I've done some tests, and I've found a formula that seems to work, though I've only been able to try it out on a few spells because they only caster I have access to is my brother's Rank 7 Magus.

I started with the formula from Disquette's post for melee special ability damage:

Sdmg = (((StrBon/10)*2 + Wdps)*1.5 + Admg)*(1-armor)

Where StrBon = Strength - Toughness, Admg = the ability tooltip damage, and Armor = the final mitigation % after Weapon Skill is applied. Personally, I find it clearer to write the formula like this:

Sdmg = (((Str - Tou) / 5 + Wdps) * 1.5 + Admg) * (1-armor)

I reasoned that the spell damage formula must be similar, but I would have to make some alterations.

Spell damage is based on Intelligence, so we will change Str to Int:

Sdmg = (((Int - Tou) / 5 + Wdps) * 1.5 + Admg) * (1-armor)

Spells don't use Weapon DPS, so we will drop that term:

Sdmg = (((Int - Tou) / 5) * 1.5 + Admg) * (1-armor)

And finally, spells are mitigated by resists, not by armor:

Sdmg = (((Int - Tou) / 5) * 1.5 + Admg) * (1 - Resist%)

I got my bro to blast some Wild Razorswine with an instant cast, no-cooldown spell. The formula turned out to fit. But when he used a 2 second nuke, the formula no longer worked. To get it to work, I had to make another modification:

Sdmg = (((Int - Tou) / 5) * Coeff + Admg) * (1 - Resist%)
where Coeff, the spell damage coefficient, is the interval in which the spell can be cast

For insta-cast, no-cooldown spells, they are castable at the rate of the global cooldown (1.4, which is approximately 1.5). So the coefficient would only be 1.5 for those spells, but larger for spells that can't be spammed so quickly. This formula works when we put the cast time of the nuke as Coeff. But we didn't have any nukes with cooldowns to test, so I'm not sure how the cooldown is part of the formula.

Now, you might wonder, how did I figure out that the formula worked without knowing the mob's Toughness and Resist%?

It's actually possible to calculate Resist% from the combat log, leaving Toughness as the one unknown which we can calculate with algebra. This is the procedure that Disquette describes.

1. Calculate the % the mob is resisting
2. Calculate the mob's Toughness assuming the formula is true, and given the damage shown in the combat log
3. Change some of your stats, and see if the formula accurately predicts the amount of damage dealt in the combat log

Calculate the % that the mob is resisting

This is basically the same procedure that Disquette used to calculate armor mitigation, because the combat log makes it so easy. You will notice that the combat log tells the amount of damage dealt, and the amount mitigated. Well, the amount mitigated is the damage let through by your armor or resists. So the following is true:

TotalDmg = DmgDealt + DmgMitigated
Mitigation% = DmgMitigated / TotalDmg

The combat log is subject to rounding, and that will introduce a small amount of error into subsequent calculations; though I got the formula to be right within 1 point of damage.

Calculate the mob's Toughness assuming the formula is true, and given the damage shown in the combat log:

To find the Toughness, we must first realize that in the formula

Sdmg = (((Int - Tou) / 5) * Coeff + Admg) * (1 - Resist%)

there is only one term we don't know: Toughness. This means we can calculate it using algebra by reversing the formula:

Tou = Int - (Tdmg - Admg) / Coeff * 5

Using this formula, I got the same value of Toughness as I got using Disquette's melee damage formula, within 2 points, which is attributed to combat log rounding, and being unsure whether Coeff should be 1.5 or 1.4.

Then just plug this value of Toughness into the formula and play around with your stats, seeing if the formula's prediction matches the damage from your combat log. However, according to Sorcs, many spells have a coefficient that isn't what you would expect from their cast time and cooldown, so the formula for spells that break the rule might have to be figured out individually.

This formula looks like a good start, but we are going to have to test it with some other spells.

TheDoktor
01-11-2009, 06:51 PM
This formula applies for Doombolt and Arctic Blast with Coeff = cast time.

Rok
01-11-2009, 10:12 PM
Sdmg = (((Int - Tou) / 5) * Coeff + Admg) * (1 - Resist%)

I've been using this formula for some time and it has never failed to give a logical result. I think it's been assumed by the community based on Disquette's (http://disquette.wordpress.com/warhammer-online-melee-combat-mechanics/) work but maybe never posted.
The Co-Efficient however is a bit all over the place. They generally conform to the cast time but there are a lot of exceptions without any apparent pattern. For example I have seen (from my own testing) that since 1.06 Shaman DoT's (and HoT's) have had a co-efficient of 4.5, while Sorceror DoT's remained at 1.5.

TheDoktor
01-12-2009, 02:12 PM
Cool... since you seem ahead of me, I've got a few questions:

1. How does the DoT formula work?
2. Do you know the crit formula?
3. In Disquette's formulas, do you know whether any of the expressions has a lower bound of 0 or 1?

For instance, is the (DamageStat - Tou) term capped at 0? My preliminary tests seem to indicate this is the case, but I need to do more tests.

My eventually goal is to be able to do a comparison of whether stacking Wounds or Toughness is better depending on healing and armor and the type of damage, stats of the damage dealer, and procs.

Rok
01-12-2009, 05:03 PM
1. How does the DoT formula work?
2. Do you know the crit formula?
3. In Disquette's formulas, do you know whether any of the expressions has a lower bound of 0 or 1?

You should have a look at my calculator, it might answer a lot of questions:
http://www.warhammeralliance.com/forums/showthread.php?t=210287
Most of the calculations are hidden between columns I and Q so you'll have to unhide them to see what's going on.

1. DoT's work the same way as other spells but the bonus is divided by the number of ticks. i.e. if it has a 4.5 co-efficient and 3 ticks, each tick gets 1.5.
2. We know that crit is approximately +50% damage (on average) applied after mitigation. However you might have noticed that crit damage is randomised to some extend...nobody has come up with a forumla for that.
3. Toughness can lower damage below the Str/Int/BS value of the attacker if that's what you want to know, eating into their ability damage. However attacks always do at least 1 damage.

TheDoktor
01-14-2009, 05:35 PM
You should have a look at my calculator, it might answer a lot of questions:
http://www.warhammeralliance.com/forums/showthread.php?t=210287
Most of the calculations are hidden between columns I and Q so you'll have to unhide them to see what's going on.

Thanks, I'll probably have some comments when I've looked at it more thoroughly. It just takes a while to read Excel formulas. I'm using Excel for some things, but now I'm mainly using R (http://en.wikipedia.org/wiki/R_%28programming_language%29) (also for graphing) and Ruby on Rails. It's not so easy for input (unless I work on an interface), but it's easier to make the formulas and functions in a real programming language.

1. DoT's work the same way as other spells but the bonus is divided by the number of ticks. i.e. if it has a 4.5 co-efficient and 3 ticks, each tick gets 1.5.So something like this?

TickDmg = (((Int - Tou) / 5) * Coeff + Admg) / Ticks * (1 - Resist%)and also:
DoTDPS = (((Int - Tou) / 5) * Coeff + Admg) / Duration * (1 - Resist%)

2. We know that crit is approximately +50% damage (on average) applied after mitigation. Then this would make simple to know the DPS including crits for any DPS source (that's not a proc or morale) after calculating the non-crit DPS:

DPSWithCrit = DPS + DPS * CritRate * (1 + CritDmgMod)
or
DPSWithCrit = DPS * (1 + CritRate * (1 + CritDmgMod))

Where CritDmgMod is (always?) 0.5. Does this look right? Edit: I found a problem with this formula and corrected it in a post below.

However you might have noticed that crit damage is randomised to some extend...nobody has come up with a forumla for that.It's mainly DPS I care about, so the randomization isn't very important for my purposes as long as the average is +50%.

3. Toughness can lower damage below the Str/Int/BS value of the attacker if that's what you want to know, eating into their ability damage. However attacks always do at least 1 damage.So Toughness can eat into weapon damage in addition to ability damage? That's kind of what I'd hoped, since it would help make Toughness a viable stat. Do you have a link to something testing this, or can you describe a test that would demonstrate it?

Rok
01-14-2009, 08:36 PM
So Toughness can eat into weapon damage in addition to ability damage? That's kind of what I'd hoped, since it would help make Toughness a viable stat. Do you have a link to something testing this, or can you describe a test that would demonstrate it?

All your formula's look good.

High toughness builds are of personal interest to me and I've done some of my own testing. My housemate and I jumped on a server as different factions, he was a level 9 Chosen and I was a level 1 Bright Wizard, so his toughness was about 100 above my Int. I fireballed him and he changed his gear to get different toughness amounts and the toughness fomula always held true. We then went to the RvR lake so that I was level 8 and the toughness formula still held true.
We've also tested high levels of Toughness on lower level mobs in PvE and found that the damage can be reduced to 1 (0 mitigated). Level does not effect the Toughness formula so I'm pretty confidant that there's no floor on it's effect in PvE (other than the fact that all attacks always do at least 1 damage), and I've proved that it can reduce at least some of the ability damage in PvP.

I've been trying to arrange (http://www.warhammeralliance.com/forums/showthread.php?t=232832) a test to show that all weapon and ability damage can be reduced to 1 by Toughness and also that there's no cap on Toughness at least as high as 1365, but haven't gotten a great response from the Order players on my server.
If you're interested you could create a level 1 Order melee character on Darklands at 7:00pm Monday or Wednesday (Meblourne/Sydney time, +10 GMT) and beat on a tank with over a thousand toughness. That at least would show the ability and weapon damage reduced to 1.

TheDoktor
01-15-2009, 05:40 PM
All your formula's look good.

High toughness builds are of personal interest to me and I've done some of my own testing.

I'm quite interested in Toughness for melee healers. Toughness becomes better with healing and armor, both of which melee healers have.

My housemate and I jumped on a server as different factions, he was a level 9 Chosen and I was a level 1 Bright Wizard, so his toughness was about 100 above my Int. I fireballed him and he changed his gear to get different toughness amounts and the toughness fomula always held true. We then went to the RvR lake so that I was level 8 and the toughness formula still held true.
We've also tested high levels of Toughness on lower level mobs in PvE and found that the damage can be reduced to 1 (0 mitigated). Level does not effect the Toughness formula so I'm pretty confidant that there's no floor on it's effect in PvE (other than the fact that all attacks always do at least 1 damage), and I've proved that it can reduce at least some of the ability damage in PvP.

Cool, that's good to know.

I've been trying to arrange (http://www.warhammeralliance.com/forums/showthread.php?t=232832) a test to show that all weapon and ability damage can be reduced to 1 by Toughness and also that there's no cap on Toughness at least as high as 1365, but haven't gotten a great response from the Order players on my server.
If you're interested you could create a level 1 Order melee character on Darklands at 7:00pm Monday or Wednesday (Meblourne/Sydney time, +10 GMT) and beat on a tank with over a thousand toughness. That at least would show the ability and weapon damage reduced to 1.

Sounds like fun but, I am GMT-8, so that's midnight the day before. I'm awake at that time, but should be getting ready for bed. Maybe another time. When I play, it's generally non-Monday evenings after 6 PM GMT-8, or weekends.

TheDoktor
01-28-2009, 02:44 PM
DPSWithCrit = DPS + DPS * CritRate * (1 + CritDmgMod)
or
DPSWithCrit = DPS * (1 + CritRate * (1 + CritDmgMod))

Hmmm, after looking at this again, I think it's wrong. It would be adding 150% damage per crit, for a total of 250% damage. It should be:

DPSWithCrit = DPS + DPS * CritRate * CritDmgMod
or
DPSWithCrit = DPS * (1 + CritRate * CritDmgMod)

which would add 50% damage per crit, for a total of 150% damage.

DeathZer0
02-04-2009, 07:09 PM
Is there somewhere a list with each spell and its co-efficient?
I know the rule around the thumb is that cast time = co-efficient but this rule doesn't apply to all spells, especially not dots (at least I think they changed that).

Left
02-06-2009, 01:06 PM
Is there somewhere a list with each spell and its co-efficient?
I know the rule around the thumb is that cast time = co-efficient but this rule doesn't apply to all spells, especially not dots (at least I think they changed that).

Some links in career-specific forums do have spell coefficients figured out for those careers. For instance, here is a thread with Zealot coefficients (http://www.warhammeralliance.com/forums/showthread.php?t=128036). Be aware that I haven't been active in the game for a while, so I can't vouch for their accuracy.

pomg
02-10-2009, 05:57 AM
With the last cc update mythic did de/increase the effectivity of some abilities. They did this by de/increasing changing the amount that stat contribute to an ability. Wouldn't this make the Sdmg formula for some abilities invalid?

Generaltzo
02-13-2009, 08:29 PM
He already included that in his formula (it's the coefficient part). Most abilities use 1.5. Some, as Mythic stated, scale differently (DoTs in particular).