Цитата:
Сообщение от Nick_B
Хм, очень интересно, я за 15 лет впервые с таким повстречался. Что ж, видимо, это какая-то так называемая фича, если проявляется на разных крафтах.
|
Есть такое. Проявляется и при попаданиях в самолёт.
Остановка двигателя прописана в классе самолета в разделе хит-бон.
Не во всех, правда. Чаще всего связана с пожаром мотора.
Конкретно для всей линейки Фок(и Та-152 тоже):
попадание в компрессор может вызвать остановку мотора,
но тогда упадёт давление наддува - тянуть будет только у земли.,
попадание в топливный насос гарантированно вызывает остановку мотора.,
Код:
if(s.endsWith("fuel"))
{
if(getEnergyPastArmor(1.1F, shot) > 0.0F && ((FlightModelMain) (super.FM)).EI.engines[0].getType() == 0)
{
((FlightModelMain) (super.FM)).EI.engines[0].setEngineStops(shot.initiator);
Aircraft.debugprintln(this, "*** Engine Module: Fuel Line Stalled, Engine Stalled..");
}
getEnergyPastArmor(1.0F, shot);
} else
Возможно, что удар корпусом по более лёгкому самолёту будет расцениваться как енергия повреждения и мотор заглохнет.
Такие инцеденты у меня были.
В коде есть даже повреждение синхронизаторов, но с повреждением пропеллера он не увязан, а надо бы.
Код:
if(s.endsWith("sync"))
{
if(getEnergyPastArmor(2.1F, shot) > 0.0F && World.Rnd().nextFloat() < 0.5F)
Aircraft.debugprintln(this, "*** Engine Module: Gun Synchronized Hit, Nose Guns Lose Authority..");
} else
Если повреждена топливная система, при ударе о землю на посадке
в том числе, то возникает пожар двигателя, вернее горит чуть
позади мотора по наблюдениям.
Код:
if(s.endsWith("feed"))
{
if(getEnergyPastArmor(8.9F, shot) > 0.0F && World.Rnd().nextFloat() < 0.25F && ((FlightModelMain) (super.FM)).EI.engines[0].getPowerOutput() > 0.7F && ((FlightModelMain) (super.FM)).EI.engines[0].getType() == 0)
{
((FlightModelMain) (super.FM)).AS.hitEngine(shot.initiator, 0, 100);
Aircraft.debugprintln(this, "*** Engine Module: Pressurized Fuel Line Pierced, Fuel Flamed..");
}
getEnergyPastArmor(1.0F, shot);
} else