How can I estimate how much elemental Damage over time I'll cause?

The hardest part of playing Siren is figuring out exactly how much Elemental Damage you're dealing with Damage Over Time (DOT) effects. They're complicated. I'd like to put together a formula to judge about how much damage per second I'm doing over a period of time. I know all the stats that go into DOT, but I can't quite piece it all together into a function.

What I really want to know is how much DOT damage will happen over a given Length of time, given DOT damage, DOT % (per shot), Rate of Fire (chances to add DOT). I don't care about bullet damage, that's easy to work out. And yes I know any estimation will be overly optimistic, but so are simple bullet damage DPS stats.

First we have the damage per second listed on the gun. This damage in reality is going to be affected by level of target - attacker then multiplied by the multiplication factor as noted in this damage table. We're going to ignore all of that as those multipliers can be added after our equation. We'll call this DOT damage.

Second we have our chance to add a Status Effect DOT. This is made up of the value on the gun plus the value added from skills, plus the Badass Rank bonuses, plus any relevant Percentages are combined additively, though the value is always 0 if the gun's effect chance is 0. We'll just call this combined chance DOT %.

Third we have the DOT length which I spell out here; 5 seconds for fire, 2 for Shock, 8 for Corrode. We'll call this DOT Length. Each DOT lasts only this long, so DOT stacks will constantly be added and expire after this time has been reached for the first stack.

Fourth we have Rate of Fire; the bullets hitting the target per second. We'll go ahead and assume 100% of the bullets hit the target since this is a theoretical measure.

Finally we have the Length of time the target is under fire, from the first bullet's impact to the last. This is what we'll divide total damage by and how we'll know

So putting it together we have DOT Damage multiplied by the current number of stacks, stacks expiring by DOT Length after they start and spawning by (Rate of Fire multiplied by DOT %) for period Length. The stacks starting and stopping is the hardest part. I'm not sure if that can be modeled, but a measure using something like "average stacks at any given time" would be acceptable.

I have all the pieces (if I'm missing something just ask, I probably know it), I just can't figure out how to put them together considering DOT expiration. If anyone can put together a formula for all this that would be a very valuable resource for Sirens everywhere. Can this be modeled?


As you said, these are all the pieces already. If what I'd figure is your question it's easy to answer: "How much damage would I do if I fire for $Length time?"

$Length * $RoF = X rounds
X rounds * $damage = gunDamage
X rounds * $DOT% = avgDotAmount

DoTs are smart in this game, they all have their separate timers and can stack independently from one another. This makes the damage as intuitive as possible:

dotDamage = avgDotAmount * ticks(element)
totalDamage = (gunDamage + dotDamage) * multiplier(element)

As this was far too easy to answer, I can only assume your question would be like
"When can I stop firing, knowing that my DoTs will kill the enemy?" To which the answer would be "Never, unless the target isn't currently affected, then keep firing."

To us human player at least; for all the data is there in the fountain of numbers that spew from the target you are perforating with bullets. Would we be perfect computers, we could see when a new dot starts ticking(it wouldn't have a previous tick before it) and thus know exactly how many ticks are left. Being human, all we can say is "it's on fire" or "it's not on fire." This makes knowing for SURE your target is going to die impossible, the best one could do is make a normal distribution graph(wiki) with the probabilities if your target will die.

If that's really what you'd want, I could run it through some model, but it's still gonna be a pretty useless graph. Input the specific gun and skills you're using, and you could get a graph with probabilities mapped vs dotDamage. Even if you could watch that while shooting things, you can only guess how much health your target has left.

If instead, and my final guess, the question would be "How much do I overkill?" that amounts to the same, as that is also "Amount of dotDamage still to be done."