Thank you for reviewing the code and letting me know. I wanted to make a clarification for the ramp up / density system changes, keep in mind that I did change the math in addition to tweaking parameter values. And I did test it and basically measured using +left and cl_yawspeed. I used various different rotations per second that correlate to the tick rate of the flames, to measure if DPS proportionally decreased for reduction in persistent contact in between flame damage ticks. And I tuned it such that you get a nearly proportional increase to your accuracy on the target. So, if you have 50% accuracy, you get 50% DPS. If you have 70% accuracy, you have 70% DPS, etc.
I think the issues were that the parameters were not tuned to be proportional to flame accuracy, so it wasn't very responsive to focus fire, and it was based on lifetime rather than just tracking collision rate. This meant that if you were slightly too far away, each flame collision would not be enough to "fight" against the heat drain rate, and your DPS would decrease, despite being 100% accurate. And small variations in lifetime could cause this problem too even at closer ranges. The lack of parameter adjustment and the way heat decays each tick regardless of a hit or not, and regardless of if you had a chance to fire a flame that tick, meant that it was very slow to get up to 100% DPS, and when it got there, there were times where you simply had no chance to stop the DPS lowering. So, I very intentionally tuned the parameters and the math to counteract this based upon tickrate patterns, contact accuracy proportionality, etc.