The damage code has two states for fuel tank leaks; 1 for light and 2 for heavy. In the stock implementation, the basic fuel loss rate for the heavier leak is 4X that of the lighter leak (the damage state values are squared when calculating the loss rate). However, the fuel leak effect representing the stream pouring out is the one and same for both states. Furthermore, the HUD warning of a leak starting occurs only when the leak first occurs from the undamaged state. That is, there is no differentiation, by messsage nor visual appearance, between the leak being light or heavy, nor if it has been made worse after subsequent damage.
I've changed that by creating a second fuel leak effect; the light and heavy leaks now appear different enough to gauge which is which (one could further tweak one or both of the effect to taste so as to obtain more or less difference in appearance.) And the HUD warning now states if the leak is light or heavy, and will appear if transitioning between states, as when worsening from light to heavy or when stopping (such as for self-sealing liners).
The current scheme, and retained by me, has it possible for the first leak state only to be repairable; the second state never can improve, and fuel will always be pouring out. Furthermore, the code calculates the fuel loss rate as a function of the damage state for all tanks together. The total range for fuel loss rate for 4 fuel tanks (the maximum that any plane can have), for damage states between 1 (light leak) though 6 (heavy fire) is 1 to 36 for a one-tank plane and 1 to 144 for a four-tank plane.
The new code in Aircraft.doSetTankState() has the conditions containing the text strings on the left side of the list below; the right-side messages are player editable and are what appear on screen.
The original and the additional two HUD_log.properties entries (with my preferred messages as they appear on screen):
FailedTank Fuel Tank Small Leak!
FailedTankHeavy Fuel Tank HEAVY LEAK!
FailedTankRepaired Fuel Tank Leak STOPS!