29.06.2018, 20:35 | #10 |
Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,085
|
Код:
protected void moveAileron(float f) { float f1 = -(f * 30F); hierMesh().chunkSetAngles("AroneL_D0", 0.0F, f1, 0.0F); f1 = -(f * 30F); hierMesh().chunkSetAngles("AroneR_D0", 0.0F, f1, 0.0F); } protected void moveRudder(float f) { hierMesh().chunkSetAngles("Rudder1_D0", 0.0F, -31F * f, 0.0F); } protected void moveElevator(float f) { if(f < 0.0F) { hierMesh().chunkSetAngles("VatorL_D0", 0.0F, -20F * f, 0.0F); hierMesh().chunkSetAngles("VatorR_D0", 0.0F, -20F * f, 0.0F); } else { hierMesh().chunkSetAngles("VatorL_D0", 0.0F, -30F * f, 0.0F); hierMesh().chunkSetAngles("VatorR_D0", 0.0F, -30F * f, 0.0F); } } protected void hitBone(String s, Shot shot, Point3d point3d) { if(s.startsWith("xx")) { if(s.startsWith("xxarmor")) { if(s.startsWith("xxarmorp")) { int i = s.charAt(8) - 48; switch(i) { case 1: // '\001' getEnergyPastArmor(22.760000228881836D / (Math.abs(Aircraft.v1.x) + 9.9999997473787516E-005D), shot); if(shot.power <= 0.0F) doRicochetBack(shot); break; case 3: // '\003' getEnergyPastArmor(9.366F, shot); break; case 5: // '\005' getEnergyPastArmor(12.699999809265137D / (Math.abs(Aircraft.v1.x) + 9.9999997473787516E-005D), shot); break; } return; } if(s.startsWith("xxcontrols")) { int j = s.charAt(10) - 48; switch(j) { case 1: // '\001' case 2: // '\002' if(getEnergyPastArmor(0.28F / ((float)Math.sqrt(Aircraft.v1.y * Aircraft.v1.y + Aircraft.v1.z * Aircraft.v1.z) + 0.0001F), shot) > 0.0F) { if(World.Rnd().nextFloat() < 0.05F) FM.AS.setControlsDamage(shot.initiator, 1); if(World.Rnd().nextFloat() < 0.75F) FM.AS.setControlsDamage(shot.initiator, 2); } break; case 3: // '\003' if(getEnergyPastArmor(3.6F, shot) > 0.0F) { FM.AS.setControlsDamage(shot.initiator, 2); FM.AS.setControlsDamage(shot.initiator, 1); FM.AS.setControlsDamage(shot.initiator, 0); } break; case 4: // '\004' if(getEnergyPastArmor(0.22F, shot) > 0.0F) { FM.AS.setCockpitState(shot.initiator, FM.AS.astateCockpitState | 8); FM.AS.setEngineSpecificDamage(shot.initiator, 0, 1); FM.AS.setEngineSpecificDamage(shot.initiator, 0, 6); } break; case 5: // '\005' case 7: // '\007' if(getEnergyPastArmor(0.125F, shot) > 0.0F) FM.AS.setControlsDamage(shot.initiator, 0); break; case 6: // '\006' case 8: // '\b' if(getEnergyPastArmor(4D / (Math.abs(Aircraft.v1.x) + 9.9999997473787516E-005D), shot) > 0.0F && World.Rnd().nextFloat() < 0.5F) FM.AS.setControlsDamage(shot.initiator, 0); break; } return; } if(s.startsWith("xxeng")) { if(s.endsWith("case") || s.endsWith("gear")) { if((s.endsWith("prop") || s.endsWith("pipe")) && getEnergyPastArmor(0.2F, shot) > 0.0F && World.Rnd().nextFloat() < 0.5F) FM.EI.engines[0].setKillPropAngleDevice(shot.initiator); if(getEnergyPastArmor(0.1F, shot) > 0.0F) { if(World.Rnd().nextFloat() < shot.power / 140000F) { FM.AS.setEngineStuck(shot.initiator, 0); debugprintln(this, "*** Engine Crank Case Hit - Engine Stucks.."); } if(World.Rnd().nextFloat() < shot.power / 85000F) { FM.AS.hitEngine(shot.initiator, 0, 2); debugprintln(this, "*** Engine Crank Case Hit - Engine Damaged.."); } } else if(World.Rnd().nextFloat() < 0.01F) { FM.EI.engines[0].setCyliderKnockOut(shot.initiator, 1); } else { FM.EI.engines[0].setReadyness(shot.initiator, FM.EI.engines[0].getReadyness() - 0.002F); debugprintln(this, "*** Engine Crank Case Hit - Readyness Reduced to " + FM.EI.engines[0].getReadyness() + ".."); } getEnergyPastArmor(14F, shot); } if(s.endsWith("cyl1") || s.endsWith("cyl2")) if(getEnergyPastArmor(5.85F, shot) > 0.0F && World.Rnd().nextFloat() < FM.EI.engines[0].getCylindersRatio() * 0.75F) { FM.EI.engines[0].setCyliderKnockOut(shot.initiator, World.Rnd().nextInt(1, (int)(shot.power / 19000F))); debugprintln(this, "*** Engine Cylinders Hit, " + FM.EI.engines[0].getCylindersOperable() + "/" + FM.EI.engines[0].getCylinders() + " Left.."); if(World.Rnd().nextFloat() < shot.power / 48000F) { FM.AS.hitEngine(shot.initiator, 0, 2); debugprintln(this, "*** Engine Cylinders Hit - Engine Fires.."); } } getEnergyPastArmor(25F, shot); } else if(s.endsWith("supc") && getEnergyPastArmor(0.1F, shot) > 0.0F && World.Rnd().nextFloat() < 0.89F) { ((FlightModelMain) (super.FM)).EI.engines[0].setKillCompressor(shot.initiator); Aircraft.debugprintln(this, "*** Engine Supercharger Out.."); } if(s.startsWith("xxeng1oil")) { if(getEnergyPastArmor(0.25F, shot) > 0.0F && World.Rnd().nextFloat() < 0.125F) { ((FlightModelMain) (super.FM)).AS.hitOil(shot.initiator, 0); getEnergyPastArmor(0.22F, shot); debuggunnery("Engine Module: Oil Tank Pierced.."); } return; } if(s.startsWith("xxtank")) { int k = s.charAt(6) - 49; if(getEnergyPastArmor(0.12F, shot) > 0.0F && World.Rnd().nextFloat() < 0.45F) { 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(FM.AS.astateTankStates[k] == 1) { debuggunnery("Fuel Tank (" + k + "): Pierced.."); FM.AS.hitTank(shot.initiator, k, 1); FM.AS.doSetTankState(shot.initiator, k, 2); } if(World.Rnd().nextFloat() < 0.01F || shot.powerType == 3 && World.Rnd().nextFloat() < 0.4F) { FM.AS.hitTank(shot.initiator, k, 4); debuggunnery("Fuel Tank (" + k + "): Hit.."); } } return; } |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|