Miragefla basically refused to go double MG42 which would likely helped a lot, but still this is ridiculous. The opponent spammed 7 IS and got away with it.
Since cheat mod can measure the damage done to units I suspect that a decent moder could create a mod that also measures the ROF of units and thus the in game DPS.
After some more extensive testing I think this is something worth its own thread.
For a different project, I tested the rate of fire (ROF) in the game (context can be found from here onwards). In short, I noticed that the ROF is quite a bit longer than it should be on the basis of all formulas used by Cruzz and probably also the websites used for DPS calculations. There are four values that determine the ROF of a tank. My first gut feeling told me that for every stat used, there is an additional 0,125 second delay independent of the stat value itself.
So, working hypothesis (for tanks only):
ROF = wind_up + fire_aim_time + wind_down + reload + 0,125 * number_of_stats_used
I modded a T34 and a OST P4 for simultaneous testing to speed up the process.
Note: I called the rate of fire (ROF) a different name - time between shots (TBS).
The following table is a bit chaotic but I'll take you through it:
What we can see is, that my new model is way more accurate than the current one. So I assume my model to be true. My explanation for this is that the game runs in ticks of 0,125 seconds. So every time one step of the process is done, it has to wait for the next tick to start the following process.
Wind_up - 0,125 second wait - fire_aim_time - wait......
Now the T34 seems to have major issues if it has no reload time. I don't know why. The P4 doesn't though, and for all other tests even the T34 worked fine.
So why is this important?
The errors generally generated by the "wrong" ROF are in a range of 3-8% (see current model error below), depending on how many stats a unit uses. So it's not a super duper difference, but still noticeable for comparison of units.
Also I only tested tanks. How this applied for infantry that uses basically more stats I do not know. I assume the issue is the same, and I expect the differences to be larger than for tanks. This could mean that we might need to recalculate the DPS of many units, especially since also the balance team uses these DPS to compare and rework units.
Most DPS calculation take into account the times for the first and last shot so their bound to difference when shooting continuously and when you acquire a target.
I calculated the difference between what I measured and just adding up reload, win up, wind down and fire aim time. These four values should give a theoretical time between shots for continued firing. But they are off.
What I just realized is that my modded T34 had both wind up and down and a delay of 0,5. Maybe wind up and down could add additional 0,125 seconds due to tick rate. This would explain why the effect is gone with the vanilla T34. And also why thr ZiS has a higher difference than it should, because it alsp uses wind up (or down, can't remember)
Okay, so I did some testing, obviously they are open for criticism.
Tested T34/76, ZiS-3, Brummbär, Jagdtiger and Firefly with ground attack and measured 9 or 10 shot cycles (skipped the first cycle to be a bit more precise). Stopped time by ear with eyes closed and only went for the shot sound. All units except for the ZiS have defined reload and fire aim times with no RNG according to the attribute editor. Wind up/down is always defined with no RNG.
All were off and took longer than expected. This is what it took them longer than it should have per shot:
T34/76: 0,27 s
ZiS-3: 0,48 s
Brummbär: 0,25 s
Firefly: 0,25 s
Jagdtiger: 0,24 s
Side note: ZiS has a fire aim time between 0,125 and 0,25 seconds.
Now first off I did not get the ~0,5 seconds I got earlier on the T34. Retested it with 20 shots and still the same. So either I am just shitty at measuring or my modding previously screwed something up. At least the tanks seem to be consistent at 0,25s.
Are those numbers real? To be honest, I think so. If it were just my shitty measurements, at the end of each run I should be off by 2,5 seconds (10 shots * 0,25 seconds per shot). With the rerun of the T34 even about 5 seconds. That's almost a full cycle, pretty sure I would have noticed that.
Actually I'm not 100% sure if the formula is correct, at least not on the part if it actually works correctly in-game. I used to assume the NearShots/Sec from the Weapon Report is accurate and never did any in-game testing to confirm.
Cooldown duration will have no effect if reload frequency is still set to 0 (e.g. no salvo is fired, just a single shot. Did you try setting this to >0 already?
Other than that I'm not sure where the mysterious 0.5 sec comes from. Maybe anyone else has an idea?
Vipper just wrote me that the cool down only applied for weapons with magazines, so tanks are irrelevant for this.
I might have to run a couple more tests later on if this is only the case for the T34 or potentially other tanks as well.
Since I'm quite lazy, I usually use the reciprocal of the NearShots/Sec from the Weapon Report .csv file to get the total time between shots. This is usually enough for most cases, but if I need to factor in buffs to reload from abilities or vet I split this into a fixed 'delay' part and the actual 'reload' component (by simply subtracting the reload).
I've tried the formula above but got slightly off results from what I'd expect (i.e. 1 / NearShots/Sec). Removing the fire_aim and ready_aim from the formula you posted seems to work, though... at least it gives the correct delay between shots:
I have to crrect myself on the original post, tanks have a reload frequency of 0 (from the couple I looked at at least). This would mean that cooldown and fire_aim are eliminated from the formula, but see below.
Are you sure about your formula?
I just modded a T34 (to all values = 1 and then I started changing them to 2 to see if and how often it is applied and affects the time between shots) and from what I see cooldown does not matter at all.
Now I'm not sure if there is a quirk with the attribute editor, but I went to the cooldown->duration and added 3 seconds for both min and max. In the game however it did nothing at all.
Or did I do something wrong?
From what I see for tanks it goes like this:
ready_aim_time: is applied only ONCE the first shot (probably for every new target)
wind_up and wind_down are applied once per cylce
fire_aim_time is applied once per cylce
reload_duration is applied once per cylce
HOWEVER I still get half a second I cannot explain. No idea where it comes from. With all the values above set to 1, my modded T34 should have 4 seconds between shots. But what I actually measured were 4,5 seconds. Regardless of which factor I subsequently changed, there was always half a second added to what I expected.
There are two parts. The first line is mltiplied with (1+reload frequency), afterwards there are some corrections by subtracting cooldown and fire aim time, apparently because they do not exist after the last burst.
My question concerns tank combat. Tanks have a reload frequency of 1. According to the formula above, wind up, wind down and burst duration would be factored in twice. But I find thia counter-intuitive.
What is the correct formula to calculate the time between shota for a tank?
Collision hits require a projectiles and small arm do not have projectiles so there are no collision hits.
On could consider the "scatter hits" the chance of some weapon to hit another entities than the one they are firing.
I know this was thought for BARs, but wasn't that debunked at some point?
And do you know for which weapons this second roll after missing the inital target is performed? Is it known how it is determined weather another model is hit or not?