Показать сообщение отдельно
Старый 02.08.2023, 23:11   #1410
Dimas1999
Местный
 
Аватар для Dimas1999
 
Регистрация: 18.11.2015
Адрес: Анапа
Сообщений: 1,657
По умолчанию

Пока точно нет. Несколько вечеров экспериментирую с кодом повреждения баков.
Опознал флаги повреждения баков 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;
            }
Сейчас играю с кодом протектора, кодом перекидывания огня на соседние баки и кодом случайного затухания бака.

Последний раз редактировалось Dimas1999; 02.08.2023 в 23:19.
Dimas1999 вне форума   Ответить с цитированием