The stock handling of oil damage effects is strange, at least compared to fuel tanks and engines, the latter two being more varied and handled with more 'sophistication.' For oil damage there are just two effects, a SPD and a TSPD variant used together during flight. But unlike the case for tanks and engines, there is no GND variant to be used when the plane is on the ground; the same SPD/TSPD effects are used on the ground as well.
I've never liked that, and so I've restructured the code for the handling of oil damage to be more like that for tanks and engines. A look at the defined astateOilStrings[] shown below will tell the tale. The first code listing is the stock scheme, and the second is my revised scheme, which follows the implementation for tanks and engines.
Now I have a dedicated GND effect, for which the smoke behaves consistently with other smokes. Moreover, I took advantage of the available slot to assign another new effect which has oil dripping out (while on the ground) in addition to the smoke rising and being carried with the wind.
Note also the additional damage state created for the purpose of having two levels of oil damage, the three damage states (0, 1 and 2) being none, light and heavy. For the light and heavy states, appropriate effects for the smoke and oil drip are generated. All of this appears to work just fine.
My question here concerns arrays astateOilStates[] and astateOilEffects[][]. Would the sizes of these arrays remain unchanged (as I have retained them), or should I increase them? I don't think a change is needed, but in my ignorance doubts are always festering in my addled brain.

Thanks!
STOCK:
private static final String astateOilStrings[] = {
"3DO/Effects/Aircraft/OilSmokeSPD.eff", "3DO/Effects/Aircraft/OilSmokeTSPD.eff",
null, null
};
public byte astateOilStates[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
private Eff3DActor astateOilEffects[][] = {
{
null, null
}, {
null, null
}, {
null, null
}, {
null, null
}, {
null, null
}, {
null, null
}, {
null, null
}, {
null, null
}, {
null, null
}, {
null, null
}
};
My modded effect string definition array:
private static final String astateOilStrings[] = {
null, null,
"3DO/Effects/Aircraft/OilSmokeSmallSPD.eff", "3DO/Effects/Aircraft/OilSmokeSmallTSPD.eff",
"3DO/Effects/Aircraft/OilSmokeSPD.eff", "3DO/Effects/Aircraft/OilSmokeTSPD.eff",
null, null,
"3DO/Effects/Aircraft/OilSmokeSmallGND.eff", "3DO/Effects/Aircraft/OilDripSmallGND.eff",
"3DO/Effects/Aircraft/OilSmokeGND.eff", "3DO/Effects/Aircraft/OilDripGND.eff"
};