Пока точно нет. Несколько вечеров экспериментирую с кодом повреждения баков.
Опознал флаги повреждения баков setTankState.
0 - нормальное состояние
1 - утечка
2 - светлый дым
3 - тёмный дым
4 - пожар без дыма
5 - пожар с дымом
Код:
if(s.startsWith("xxtank"))
{
int k = s.charAt(6) - 49;
if(getEnergyPastArmor(2.25F, shot) > 0.0F && World.Rnd().nextFloat() < 0.45F)// 2.25 - броня бака, 0.45 - вероятность пробития
{
if(FM.AS.astateTankStates[k] == 0)
{
debuggunnery("Fuel Tank (" + k + "): Pierced..");
FM.AS.hitTank(shot.initiator, k, 1);
FM.AS.doSetTankState(shot.initiator, k, 1);
}
if(World.Rnd().nextFloat() < 0.02F || shot.powerType == 3 && World.Rnd().nextFloat() < 0.4F)// 0.02 - вероятность возгорания при любом попадании или при пробитии бака боеприпасом типа 3 вероятность возгорания 0.4
{
FM.AS.hitTank(shot.initiator, k, 4);// 4 - пожар без дыма
debuggunnery("Fuel Tank (" + k + "): Hit..");
}
}
return;
}
Сейчас играю с кодом протектора, кодом перекидывания огня на соседние баки и кодом случайного затухания бака.