Jump to content
  • 1
GottFaust

[Unofficial] Weapon Dps Calculator (Current V0.5.4)

Question

Recommended Posts

  • 0

thanks for this VERY usefull tool !

next update : add pictures next mods names ? ;-)

 

 

tip : with "semi-auto" weapons, mods changing fire rate increase a lot the DPS but in real situation (in game) this mods are almost useless

Edited by LorenzoFR

Share this post


Link to post
Share on other sites
  • 0

Do you mind sharing how you factor in procs for average DPS? I find it difficult to find conclusive information on how procs work in general.

 

is the chance for a status to proc given that a status actually procs equivalent for all damage types present (in other words, if I have 20/30/60 I/P/S and a status procs, do I have an even chance for any of the 3 procs)? I imagine that for Viral, you calculate about how long it would take to proc Viral and the damage done in that time period, then divide the remaining health by 50%, calculate the time to deal the rest of the damage, then add back on the time to proc Viral?

Edited by omgwtflolbbl

Share this post


Link to post
Share on other sites
  • 0
I've gone through some of your code, and I'm a bit confused. Correct me if I'm wrong anywhere:

 

1) Read in mods, etc.

2) For each mod, you check if they affect status chance; if so, append that value to vector.

3) Use that vector to calculate final status chance.

4) Using that final status chance, calculate procs per second (based on total mag and reloads) and burst procs per second (based on single mag), and depending if continuous or not.

5) Also using final status chance, calculate how many stacks of a damage proc you'll have based on the duration of that proc.

  5a) Split one minute into millisecond intervals; for each interval, check if a shot is fired.

    5aa) If shot fired, add final status chance to counter. When this hits one, add a "proc" with the correct duration.

  5b) For every second that passes, delete one second off each proc, and remove expired procs, and find number of stacks active and pass that onto another array.

  5c) Average the number of stacks per second - you now have average stacks of X proc per second.

 

Calculating raw damage per second/burst raw damage per second for each faction/body type:

6) Take the final raw damage dealt per shot (includes all I/P/S and Elemental, but not Faction mods), multiply by proc's damage to get damage per tick (ex. final raw damage * .35 for bleed, etc.).

7) Multiply damage per tick by number of stacks of that proc.

8) Add all proc damage to damage per second (with resistances/weaknesses factored) for each type.

 

Calculating time to kill with damaging procs, starting from 5 with a little modification:

5) Essentially the same as 5 above, but this applies to every proc available simultaneously every time the counter deems it is time to add a proc.

6) Take proc damage type, multiply that raw damage type by proc's damage to get damage per tick (ex. slash damage * .35 for bleed, etc.).

7) For each stack each second of each damage proc type, take the damage per tick, subject it to the targets resistance/weakness multiplier, and subtract from current health

 

 

I don't believe you're factoring in the actual DoT damage correctly. I'm not entirely certain how the damage is calculated myself nor do I know all the damage coefficients for them, but in the current state your DoTs seem to calculate damage per tick in two completely different ways, one based off of total raw damage per bullet, and the other based off of only the corresponding I/P/S/elemental value. Furthermore, you treat one as being armor/material ignore but subject the other to resistances/weaknesses. From running tests on Nuovo heavies, I feel pretty confident in saying that Slash procs are completely armor ignore, but they are directly affect by criticals, critical multipliers, and body part multipliers. Furthermore, their damage is calculated off of the weapon's total base damage (base I+P+S, mods affecting I/P/S have no effect) and is affected by Serration type mods, but not elemental type mods (don't know about Faction types, didn't test). Poison on the other hand is definitely affected by armor, though how it is actually calculated is a mystery to me still.

 

I'm also confused about your proc logic. You seem to have it written so that if you have a 20% final status chance, once 5 projectiles are registered, the weapon will proc (.2+.2+.2+.2 = 1), and every single proc available on that weapon will proc at the same time. The latter confuses me. As far as I know, a single bullet or shotgun pellet can only proc one effect, not all of them simultaneously from a single projectile. Wouldn't this heavily exaggerate the amount of procs you get and thus their effects?

 

Please let me know if I interpreted something wrong.

Share this post


Link to post
Share on other sites
  • 0

I've gone through some of your code, and I'm a bit confused. Correct me if I'm wrong anywhere:

 

1) Read in mods, etc.

2) For each mod, you check if they affect status chance; if so, append that value to vector.

3) Use that vector to calculate final status chance.

4) Using that final status chance, calculate procs per second (based on total mag and reloads) and burst procs per second (based on single mag), and depending if continuous or not.

5) Also using final status chance, calculate how many stacks of a damage proc you'll have based on the duration of that proc.

  5a) Split one minute into millisecond intervals; for each interval, check if a shot is fired.

    5aa) If shot fired, add final status chance to counter. When this hits one, add a "proc" with the correct duration.

  5b) For every second that passes, delete one second off each proc, and remove expired procs, and find number of stacks active and pass that onto another array.

  5c) Average the number of stacks per second - you now have average stacks of X proc per second.

 

Calculating raw damage per second/burst raw damage per second for each faction/body type:

6) Take the final raw damage dealt per shot (includes all I/P/S and Elemental, but not Faction mods), multiply by proc's damage to get damage per tick (ex. final raw damage * .35 for bleed, etc.).

7) Multiply damage per tick by number of stacks of that proc.

8) Add all proc damage to damage per second (with resistances/weaknesses factored) for each type.

 

Calculating time to kill with damaging procs, starting from 5 with a little modification:

5) Essentially the same as 5 above, but this applies to every proc available simultaneously every time the counter deems it is time to add a proc.

6) Take proc damage type, multiply that raw damage type by proc's damage to get damage per tick (ex. slash damage * .35 for bleed, etc.).

7) For each stack each second of each damage proc type, take the damage per tick, subject it to the targets resistance/weakness multiplier, and subtract from current health

 

 

I don't believe you're factoring in the actual DoT damage correctly. I'm not entirely certain how the damage is calculated myself nor do I know all the damage coefficients for them, but in the current state your DoTs seem to calculate damage per tick in two completely different ways, one based off of total raw damage per bullet, and the other based off of only the corresponding I/P/S/elemental value. Furthermore, you treat one as being armor/material ignore but subject the other to resistances/weaknesses. From running tests on Nuovo heavies, I feel pretty confident in saying that Slash procs are completely armor ignore, but they are directly affect by criticals, critical multipliers, and body part multipliers. Furthermore, their damage is calculated off of the weapon's total base damage (base I+P+S, mods affecting I/P/S have no effect) and is affected by Serration type mods, but not elemental type mods (don't know about Faction types, didn't test). Poison on the other hand is definitely affected by armor, though how it is actually calculated is a mystery to me still.

 

I'm also confused about your proc logic. You seem to have it written so that if you have a 20% final status chance, once 5 projectiles are registered, the weapon will proc (.2+.2+.2+.2 = 1), and every single proc available on that weapon will proc at the same time. The latter confuses me. As far as I know, a single bullet or shotgun pellet can only proc one effect, not all of them simultaneously from a single projectile. Wouldn't this heavily exaggerate the amount of procs you get and thus their effects?

 

Please let me know if I interpreted something wrong.

You're close, but you have some key things wrong.

  • A single projectile can and will proc every single possible status effect. Bring a high status chance weapon without multishot and fire once. You'll see.
  • While DoTs ignore armor, they are subject to the initial damage done which is subject to armor. Considering that the DPS isn't simulating against a target and armor is not directly used I factor the entire thing by resistances.
  • While Slash is indeed calculated based on the entire default IPS damage, elemental procs are calculated off of the elemental type that triggers the proc.
All that being said. The calculator is far from perfect, and the initial calculation wasn't updated when I updated the TTK to match current functionality. The unfortunate thing is that I won't have time to update it as I've had a few real-life issues crop up lately that are taking the majority of my time.

Share this post


Link to post
Share on other sites
  • 0

It's quite good.

 

Interesting. By that logic, I would have expected the Dread to slightly beat out the Paris Prime based on its high Slash damage. Then again, the difference between the two is so small that I suppose it doesn't make that much of a difference besides the reload speed. EDIT: If I/P/S determines the amount of elemental DoT dealt, then I can see why the P.Prime is placed slightly higher.

 

In that case, would running Gas over, say, Radiation or Toxic against Grineer and Corpus with the bows respectively prove to be more effective in the long run? In lower levels it doesn't make that much of a difference since you're one-shotting everything anyway, but when enemies start taking multiple headshots I'd imagine the incredibly high crit + headshot damage would make for some nasty Slash and Gas DoTs.

Edited by Noble_Cactus

Share this post


Link to post
Share on other sites
  • 0

1) Hrmm, that's pretty interesting. I've never noticed more than one status proccing on a non-multishot. I guess tomorrow I'll be running around with a high status weapon to try it. Unfortunately, the highest status chance weapon I have available is the Latron Prime. What exactly governs the chance of proccing multiple statuses with a single bullet? When I used to radiation proc kill Krill for fun, other than on my Drakgoon I don't recall seeing multiple procs go off at once unless I had a multishot go off with each proccing differently.

 

2-3) From my testing on Grineer, there wasn't any effect from armor on slash procs, although toxin procs were. All Grineer that could take a crit body shot from my Dread and survive with Serration on always received ticks of 1038 damage without variation between multiple types (Heavy Gunners, Bombards, Napalms). Without Serration, crit body shots that procced slash always received a static 392 per slash tick from level 25 and up to level 40. Since this is both Ferrite and Alloy targets, it would suggest that resistances aren't factored in at all. The initial damage I was dealing was varying with the enemy's armor, of course, but had no effect on the actual slash DoT. Toxic procs diminished notably as the Grineer scaled. Are slash procs just unique? Also, the numbers I got during testing also seemed to suggest that headshots do 8x damage slash ticks, even as a host (3136 damage on headshot crit procs vs 392 body); do all the other procs behave similarly?

 

Admittedly, I should be working on my own stuff right now as well... procrastinating on writing code by looking at other people's code. Woo.

Edited by omgwtflolbbl
  • Upvote 2

Share this post


Link to post
Share on other sites
  • 0

1) Hrmm, that's pretty interesting. I've never noticed more than one status proccing on a non-multishot. I guess tomorrow I'll be running around with a high status weapon to try it. Unfortunately, the highest status chance weapon I have available is the Latron Prime. What exactly governs the chance of proccing multiple statuses with a single bullet?

I was testing a Grinlok with: Hammer shot + Rifle aptitude + malignant force. I had 75% listed chance and was unable to get a single bleed + toxic going on Grineer, from a single shot. I was testing verse level 20 heavy gunners and I do not know if RNG was just set against me. Also, I got far more slash proc than toxin.

 

When I did the same test with a Latron prime I got far more puncture effect than slash or toxin. With a latron prime it is rare to get slash effects period, and this isn't the case at all with Grinlok.

 

It is glaring to get puncture multiple times in a row and having only the occasional toxin effect, with even rarer impact and slash; this isn't hard to test if you do not believe, and Latron prime seem weighted for puncture. 

 

Grinlok gets a more balanced spread between impact and slash damage. There could be weighted dice to the highest I/s/p or damage type. I do not have the patience to do this scientifically over course of thousands of effects.

 

 Also for those debating whether or not you can get multiple procs with a single shot. 

Was it on corpus? They seem to be bugged right now and show the same effect applied 2x for a dread and a Penta. Unless you're saying it did blast + viral, or something else, in that case ignore what I said.

 

I just am not believing it, after the number of shot I did with a Grinlok with 75% chance and got zero double effects. I killed at least 400 level 20 grineer, and the math for me not have seen one double would be astronomically remote.

Edited by LazyKnight
  • Upvote 2

Share this post


Link to post
Share on other sites
  • 0

First of all, nice work on the tool. 

 

However, I think you overlooked the fact that Penta's base damage has both impact and blast.   So your tool only allows us to input IPS or Elemental damage, but not both.  Therefore you can't accurately evaluate any Penta builds since you can't put in both impact and blast base damages.

 

 

 

Also for those debating whether or not you can get multiple procs with a single shot.  Yes you can do it but it's not a very high chance.  I have video of this happening, but currently it's unedited and the file is too big to post on the web.   However, it seems that double procs don't happen often enough for anyone to notice them with the naked eye.  I mean the only reason I know they happen is because I thought my eyes played tricks on me when I got a double proc from a penta blast.  So I recorded some footage and tested for double procs.  That's how I found out double procs do exists....however, I have yet to see a triple proc of any kind, but I assume it's possible.

Share this post


Link to post
Share on other sites
  • 0
  • While Slash is indeed calculated based on the entire default IPS damage, elemental procs are calculated off of the elemental type that triggers the proc.

 

I am a little confused about this statement. Do you mean that the higher your Toxic damage (say, stacking multiple Toxic mods), the more damage your Toxic procs will do?

 

Testing on Palus with my Latron Prime modded with only Split Chamber, Malignant Force, and Hammer Shot and a total base damage of 84, my Slash procs versus all targets do 29 damage/tick, while my Toxic procs did 31 damage per tick to Moas/Robotic and 63 damage/tick to Crewmen. Considering that Slash and Toxic both have positive/negative to Flesh/Robotic, I feel it is safe to say that Slash procs have immunity to the whole armor and weakness/resistance system.

 

Adding Infected Clip increased the flat Toxic damage dealt per shot as one would expect, but it made absolutely no change to the damage dealt by my Toxic (or Slash) procs. I believe that the Toxic proc raw damage scales only off of your modified base damage like Slash does, but is subject to weakness/resistances while Slash is not. That'd check out at 84*.35 = 29.4 per Slash tick, 84*.5*.75 = 31.5 per Toxic tick to Robotic, and 84*.5*1.5 = 63 per Toxic tick to Flesh and supports the idea that it is completely unaffected by it.

 

Faction mods are weird and seem to apply twice. With the addition of a maxed Bane of Corpus, my Slash procs were increased to 49/tick (supported by 84*.35*1.3*1.3 = 49.686), my Toxic procs on robotic to 53/tick (supported by 84*.5*1.5*1.3*1.3 = 53.235), and my Toxic procs on Flesh to 106/tick (supported by 84*.5*1.5*1.3*1.3 = 106.47). I could imagine this being the case if the game stores your "base" damage separately for each faction, dependent on if you have a faction mod equipped, and then applies the bonus once again when you actually proc. The actual flat damage that I dealt per shot increased by 30% as expected, so the initial damage dealt did not see a similar jump.

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Love using this program to the present day

Thanks for making this, it helped me with all of my weapon builds

I love mod manager function for adding recent mods like Primed Fast Hands and etc.

Share this post


Link to post
Share on other sites
  • 0

Thank you, this is a great tool and from someone who can't code (well): I am very thankful that you took the time to make it.

But I would really appreciate if there was a way to replicate the effects of Hunters Munitions. If there already is a way to do so and I missed it, the information would help me out a load.

Edit: Is there a way to adjust the level of enemies? I know most people won't go past Sortie/Arbitration levels but I do occasional endurance runs and I would love to be able to know how long my weapons will be able to hold out for.

Edited by Test1049

Share this post


Link to post
Share on other sites
  • 0
On 2018-11-22 at 10:06 PM, Test1049 said:

Thank you, this is a great tool and from someone who can't code (well): I am very thankful that you took the time to make it.

But I would really appreciate if there was a way to replicate the effects of Hunters Munitions. If there already is a way to do so and I missed it, the information would help me out a load.

Edit: Is there a way to adjust the level of enemies? I know most people won't go past Sortie/Arbitration levels but I do occasional endurance runs and I would love to be able to know how long my weapons will be able to hold out for.

I'm late, but here's an updated version (with hunter munitions!): 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...