"reloadTime" does not work properly. I noticed that certain completely different reloadTimes (eg, one 60% lower than the other) could result in the exact same rate of fire in game. Without proper function, it will not be possible to simulate a large number of weapons.
To test weapon rate of fire setting, I created several inherited versions of MP5K with reloadtimes of:
350 rounds/minute = 0.171
1000 rounds/minute = 0.06
1200 rounds/minute = 0.05
1500 rounds/minute = 0.04
1600 rounds/minute = 0.0375
2000 rounds/minute = 0.03
When testing the results, the values between 1000-1600 rounds/minute (reloadTime = 0.06 to reloadTime = 0.0375) had zero effect, all these weapons all seemed to be limited to approximately 889 rounds/minute.
Despite having values from 0.0375 to 0.06 there was no difference in the observed rate of fire. I checked frame by frame video and observed sound file as well. The fastest of those weapons should be fully 60% faster rate of fire than the slowest, but the setting had no effect here!
However, on the two weapons with values 350 rpm (reloadTime = 0.171) and 2000 rpm (reloadTime = 0.03) appeared to fire at (more or less) the specified rates.
Config'd vs tested rate of fire:
350 rpm 299
1000 rpm 889
1200 rpm 889
1500 rpm 889
1600 rpm 889
2000 rpm 1799