|
|
|
#11 |
|
Местный
Регистрация: 18.11.2015
Сообщений: 1,717
|
Вот нашёл в коде P-40 кусок повреждения тяг управления дросселем.
Код:
if(s.startsWith("xxcontrols"))
if(s.endsWith("1"))
{
if(World.Rnd().nextFloat() < 0.3F)
{
FM.AS.setEngineSpecificDamage(shot.initiator, 0, 6);
Aircraft.debugprintln(this, "*** Engine Controls Out..");
}
if(World.Rnd().nextFloat() < 0.3F)
{
FM.AS.setEngineSpecificDamage(shot.initiator, 0, 1);
Aircraft.debugprintln(this, "*** Engine Controls Out..");
}
Код:
if(s.startsWith("xxcontrols"))
{
if(s.endsWith("1"))
Код:
if(s.startsWith("xxcontrols"))
{
debuggunnery("Controls: Hit..");
int i = s.charAt(10) - 48;
switch(i)
{
default:
break;
case 1: // '\001'
if(getEnergyPastArmor(0.1F, shot) > 0.0F)
{
if(World.Rnd().nextFloat() < 0.1F)
FM.AS.setEngineSpecificDamage(shot.initiator, 0, 1);
if(World.Rnd().nextFloat() < 0.1F)
FM.AS.setEngineSpecificDamage(shot.initiator, 0, 6);
if(World.Rnd().nextFloat() < 0.1F)
FM.AS.setEngineSpecificDamage(shot.initiator, 0, 7);
}
break;
Код:
case 1: // '\001'
if(((FlightModelMain) (((SndAircraft) (aircraft)).FM)).EI.engines[enginenumber].isHasControlThrottle())
((FlightModelMain) (((SndAircraft) (aircraft)).FM)).EI.engines[enginenumber].doSetKillControlThrottle();
break;
case 6: // '\006'
if(((FlightModelMain) (((SndAircraft) (aircraft)).FM)).EI.engines[enginenumber].isHasControlProp())
((FlightModelMain) (((SndAircraft) (aircraft)).FM)).EI.engines[enginenumber].doSetKillControlProp();
break;
case 7: // '\007'
if(((FlightModelMain) (((SndAircraft) (aircraft)).FM)).EI.engines[enginenumber].isHasControlMix())
((FlightModelMain) (((SndAircraft) (aircraft)).FM)).EI.engines[enginenumber].doSetKillControlMix();
break;
Нашёл в чистой игре код повреждения водорадиатора у Спитфайра. Код:
if(s.startsWith("xwater"))
{
if(FM.AS.astateEngineStates[0] == 0)
{
debuggunnery("Engine Module: Water Radiator Pierced..");
FM.AS.hitEngine(shot.initiator, 0, 1);
FM.AS.doSetEngineState(shot.initiator, 0, 1);
} else
if(FM.AS.astateEngineStates[0] == 1)
{
debuggunnery("Engine Module: Water Radiator Pierced..");
FM.AS.hitEngine(shot.initiator, 0, 1);
FM.AS.doSetEngineState(shot.initiator, 0, 2);
}
Вот в классе Бф-110 тоже есть код пробития водорадиатора, есть уже условия повреждения, но опять не понял что запускает этот код, что начинает ломаться. Код:
if(s.startsWith("xxw"))
{
if(getEnergyPastArmor(World.Rnd().nextFloat(0.1F, 0.75F), shot) > 0.0F)
{
int i1 = s.charAt(3) - 49;
if(FM.AS.astateEngineStates[i1] == 0)
{
debuggunnery("Engine Module (" + (i1 != 0 ? "Right" : "Left") + "): Water Radiator Pierced..");
FM.AS.hitEngine(shot.initiator, i1, 2);
FM.AS.doSetEngineState(shot.initiator, i1, 2);
}
getEnergyPastArmor(2.22F, shot);
}
|
|
|
|
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|