Перейти к содержанию

Голоса и фразы в ил2 версия 4.8м


Рекомендуемые сообщения

по поводу пересобирания классов я сам хз если честно, как то давно КУТИМ говорил, как бороться с тем, что не хочет собираться, но это было сто лет назад. :) если хочешь могу помочь вопрос на ААА поднять, может там кто яву знает, на этом всё. :)

спраси может знают ААА это форум англ? я бы сам спрасил да я Schwarm1 и англ не знаю.

Где Кутима найти можно может он сможет чем помочь.

Ссылка на сообщение
Поделиться на другие сайты
 

по поводу КУТИМА я могу его спросить, как только он в аське появится :) по поводу ААА - составь конкретно и развернуто вопрос, я тебе постараюсь помочь с переводом на ангольский и запоствую его туда. ;) лично меня твой мод сильно заинтересовал. увы, особо помочь тебе профессионально не смогу...

скажи плиз, какие конкретно ты классы ковырял?

Ссылка на сообщение
Поделиться на другие сайты
 
по поводу КУТИМА я могу его спросить, как только он в аське появится :) по поводу ААА - составь конкретно и развернуто вопрос, я тебе постараюсь помочь с переводом на ангольский и запоствую его туда. ;) лично меня твой мод сильно заинтересовал. увы, особо помочь тебе профессионально не смогу...

скажи плиз, какие конкретно ты классы ковырял?

1 Voice.Class сам генератор

2 VoiceBase.class класс с именами звуковых файлов и каждый пронумирован номера нужны для генератора.

3 Maneuver.class не конвертируется обратно но там есть про 5 минут и задание выполнено

4 Pilot.class (там 2 их тот который в ии)тоже про 5 мин что то сказано.

Можешь аську его дать? плиз только в личку пиши.

Ссылка на сообщение
Поделиться на другие сайты
 

собственно вот сам генератор.

/* Voice - Decompiled by JODE

* Visit http://jode.sourceforge.net/

*/

package com.maddox.il2.objects.sounds;

import java.io.IOException;

import com.maddox.JGP.Point3d;

import com.maddox.JGP.Vector3d;

import com.maddox.JGP.Vector3f;

import com.maddox.il2.ai.Front;

import com.maddox.il2.ai.RangeRandom;

import com.maddox.il2.ai.Squadron;

import com.maddox.il2.ai.War;

import com.maddox.il2.ai.Wing;

import com.maddox.il2.ai.World;

import com.maddox.il2.ai.air.Maneuver;

import com.maddox.il2.ai.air.Pilot;

import com.maddox.il2.ai.ground.TgtShip;

import com.maddox.il2.engine.Actor;

import com.maddox.il2.engine.Config;

import com.maddox.il2.game.HUD;

import com.maddox.il2.game.Main3D;

import com.maddox.il2.game.Mission;

import com.maddox.il2.net.NetUser;

import com.maddox.il2.objects.air.Aircraft;

import com.maddox.il2.objects.air.JU_88MSTL;

import com.maddox.il2.objects.air.TypeBomber;

import com.maddox.il2.objects.air.TypeDiveBomber;

import com.maddox.il2.objects.air.TypeFighter;

import com.maddox.il2.objects.air.TypeTransport;

import com.maddox.il2.objects.trains.Train;

import com.maddox.il2.objects.trains.Wagon;

import com.maddox.il2.objects.vehicles.artillery.AAA;

import com.maddox.il2.objects.vehicles.cars.CarGeneric;

import com.maddox.il2.objects.vehicles.tanks.TankGeneric;

import com.maddox.rts.MsgAction;

import com.maddox.rts.NetEnv;

import com.maddox.rts.NetMsgGuaranted;

import com.maddox.rts.NetMsgInput;

import com.maddox.rts.Time;

public class Voice extends VoiceBase

{

private int SpeakRearGunKill;

private int SpeakPullUp;

private int SpeakRearGunShake;

private int[][] SpeakAttackByRockets = new int[2][4];

private int[][] SpeakAttackByBombs = new int[2][4];

private int[][] SpeakTargetDestroyed = new int[2][4];

private int[][] SpeakDanger = new int[2][4];

private int[][] SpeakHelpNeeded = new int[2][4];

private int[][] SpeakClearTail = new int[2][4];

private int[][] SpeakCoverMe = new int[2][4];

private int[][] SpeakCoverProvided = new int[2][4];

private int[][] SpeakHelpFromAir = new int[2][4];

private int[][] SpeakNiceKill = new int[2][4];

private int[][] SpeakEndOfAmmo = new int[2][4];

private int[][] SpeakMayday = new int[2][4];

private int[][] SpeakCheckFire = new int[2][4];

private int[][] SpeakHint = new int[2][4];

private int[][] SpeakToReturn = new int[2][4];

public int[][] SpeakBailOut = new int[2][4];

private int[][] SpeakAttackGround = new int[2][4];

private int[][] SpeakAttackMyTarget = new int[2][4];

private int[][] SpeakAttackBombers = new int[2][4];

private int[][] SpeakTargetAll = new int[2][4];

private int[][] SpeakDropTanks = new int[2][4];

private int[][] SpeakBreak = new int[2][4];

private int[][] SpeakRejoin = new int[2][4];

private int[][] SpeakTightFormation = new int[2][4];

private int[][] SpeakLoosenFormation = new int[2][4];

private int[][] SpeakOk = new int[2][4];

private int[][] SpeakLandingPermited = new int[2][4];

private int[] SpeakBombing = new int[2];

private int[] SpeakEndBombing = new int[2];

private int[] SpeakEndGattack = new int[2];

private int[] SpeakDeviateSmall = new int[2];

private int[] SpeakDeviateBig = new int[2];

private int[] SpeakHeading = new int[2];

private int[] SpeakAltitude = new int[2];

public int[] SpeakNearBombers = new int[2];

private int[] Speak1minute = new int[2];

private int[] Speak5minutes = new int[2];

public int[] SpeakBombersUnderAttack = new int[2];

public int[] SpeakBombersUnderAttack1 = new int[2];

public int[] SpeakBombersUnderAttack2 = new int[2];

private int[] SpeakEnemyDetected = new int[2];

private static Aircraft internalAir = null;

private static RangeRandom rnd = new RangeRandom();

public static int[] str = new int[8];

public static int[][] str2 = new int[4][8];

public static final int afPILOT = 0;

public static final int afNEARFRIEND = 1;

public static final int afWINGMAN = 2;

public static final int afLEADER = 3;

public static final int afREARGUN = 4;

public static final int afLAND = 5;

public static final int afBOMBERS = 6;

public static final int anNONE = 0;

public static final int anLEADER = 1;

public static final int anBOMBER1 = 2;

public static final int anBOMBER2 = 3;

public static final int anLAND = 4;

public static final int anREARGUN = 5;

public static final int anACTOR6 = 6;

public static final int anACTOR7 = 7;

public static final int anACTOR8 = 8;

public static final int anACTOR9 = 9;

private static int[] headings

= { 1, 3, 5, 6, 15, 20, 21, 27, 28, 30, 35, 36 };

private static int[] altitudes = { 2, 4, 7, 19, 26, 29, 34, 37, 41, 42, 46,

47, 53, 54, 58, 59, 63, 64, 68, 69, 8 };

private static final int[] clkstr

= { 16, 23, 31, 38, 43, 50, 55, 60, 65, 70, 9, 12, 48, 24, 32, 39, 44,

51, 56, 61, 66, 71, 10, 13, 17, 25, 33, 40, 45, 52, 57, 62, 67, 72,

11, 14, 18 };

private static final int[] aNumber

= { 285, 326, 331, 287, 284, 329, 327, 281, 297, 330, 282, 338, 332,

286, 283, 328 };

private static int[] your_o_clock

= { 206, 173, 182, 185, 188, 191, 194, 197, 200, 203, 176, 179, 206,

174, 183, 186, 189, 192, 195, 198, 201, 204, 177, 180, 207, 175,

184, 187, 190, 193, 196, 199, 202, 205, 178, 181, 208 };

private static final int[] thisIsNumber

= { 158, 360, 354, 346, 345, 357, 351, 333, 350, 358, 343, 337, 359,

349, 344, 336 };

private static final int[] thisIsPara = { 334, 347, 352, 355 };

private static final int[] thisIsWing = { 335, 348, 353, 356 };

private static final int[] thisIsRotte = { 361, 362, 363, 364 };

private static final int[] thisIsSwarm = { 365, 366, 367, 368 };

private static final int[] pilotVoice

= { 6, 9, 8, 7, 7, 9, 8, 6, 8, 9, 7, 6, 9, 8, 7, 6 };

public static final int M_SYNC = 0;

public static final int M_DELAY = 1;

public static final int M_IMMED = 2;

protected static int syncMode;

private static Point3d P3d;

public static Voice cur() {

return World.cur().voicebase;

}

public static boolean isEnableVoices() {

return VoiceFX.isEnabled();

}

public static void setEnableVoices(boolean bool) {

VoiceFX.setEnabled(bool);

}

static boolean frequency() {

return Main3D.cur3D().ordersTree.frequency();

}

public static void setSyncMode(int i) {

syncMode = i;

}

public static void reset() {

for (int i = 0; i < str.length; i++)

str = 0;

for (int i = 0; i < str2.length; i++) {

if (str2 != null) {

for (int i_0_ = 0; i_0_ < str2.length; i_0_++)

str2[i_0_] = 0;

}

}

}

public static void endSession() {

VoiceFX.end();

}

private static boolean isPunctChar(char c) {

return c == '!' || c == '?' || c == '.' || c == ',' || c == '@';

}

public static int actorVoice(Aircraft aircraft, int i) {

if (aircraft == null || !Actor.isValid(aircraft)

|| aircraft instanceof JU_88MSTL)

return 0;

if (aircraft.FM instanceof Maneuver) {

if (((Maneuver) aircraft.FM).silence)

return 0;

if (((Maneuver) aircraft.FM).kamikaze)

return 0;

}

Squadron squadron = aircraft.getSquadron();

if (squadron == null)

return 0;

Wing wing = null;

Object object = null;

if (i == 3 || i == 0) {

if (aircraft.isNet() && !aircraft.isNetMaster())

return 0;

float f = 0.0F;

for (int i_1_ = 0; i_1_ < squadron.wing.length; i_1_++) {

if (squadron.wing[i_1_] != null)

f += (float) squadron.wing[i_1_].aircReady();

}

if (f < 2.0F)

return 0;

}

switch (i) {

case 3: {

for (int i_2_ = 0; i_2_ < squadron.wing.length; i_2_++) {

if (squadron.wing[i_2_] != null) {

wing = squadron.wing[i_2_];

break;

}

}

if (wing == null)

return 0;

Aircraft aircraft_3_;

if (wing.airc.length > 0 && wing.airc[0] != null)

aircraft_3_ = wing.airc[0];

else

return 0;

if (!Actor.isAlive(aircraft_3_))

return 0;

Aircraft aircraft_4_ = aircraft_3_;

World.cur();

if (aircraft_4_ == World.getPlayerAircraft())

return 0;

if (aircraft_3_.FM.AS.astatePilotStates[0] > 50)

return 0;

return 1;

}

case 1: {

Aircraft aircraft_5_ = War.getNearestFriend(aircraft);

if (!Actor.isAlive(aircraft_5_))

return 0;

if (aircraft_5_ == World.getPlayerAircraft())

return 0;

if (Mission.isDogfight())

return 0;

return pilotVoice[(aircraft_5_.getWing().indexInSquadron() * 4

+ aircraft_5_.aircIndex())];

}

case 4:

if (!Actor.isAlive(aircraft))

return 0;

if (aircraft == World.getPlayerAircraft()

&& aircraft.FM.turret[0].bIsAIControlled)

return 5;

return 0;

case 0:

if (!Actor.isAlive(aircraft))

return 0;

if (aircraft == World.getPlayerAircraft())

return 0;

if (aircraft.FM.AS.astatePilotStates[0] > 50)

return 0;

return pilotVoice[(aircraft.getWing().indexInSquadron() * 4

+ aircraft.aircIndex())];

case 6:

return 2;

case 5:

return 4;

default:

return 0;

}

}

public static void new_speak(int i, int i_6_, String string, int[] is,

int i_7_) {

speak(i, i_6_, string, is, i_7_, true, true);

}

public static void speak(int i, int i_8_, String string, int[] is,

int i_9_) {

speak(i, i_8_, string, is, i_9_, true, false);

}

public static void speak(int i, int i_10_, String string, int[] is,

int i_11_, boolean bool, boolean bool_12_) {

int i_13_ = syncMode;

syncMode = 0;

if (i != 0) {

if (bool && i != 5)

((NetUser) NetEnv.host()).speekVoice(syncMode, i, i_10_,

string, is, i_11_,

bool_12_);

if (Config.isUSE_RENDER()) {

int i_14_ = World.getPlayerArmy();

if (Main3D.cur3D().ordersTree.frequency()) {

if (i_10_ != i_14_)

return;

} else if (i_10_ == i_14_)

return;

play(i_13_, i, i_10_, string, is, bool_12_);

if (World.cur().isDebugFM()) {

String string_15_ = "";

for (int i_16_ = 0; i_16_ < is.length && is[i_16_] != 0;

i_16_++)

string_15_ += " " + VoiceBase.vbStr[is[i_16_]];

System.out.print("AN: ");

System.out.print(i);

System.out.print(" Army: ");

System.out.print(i_10_);

System.out.println(" : " + string_15_);

}

for (int i_17_ = 0; i_17_ < is.length && is[i_17_] != 0;

i_17_++)

is[i_17_] = 0;

}

}

}

public static void play(int i, int i_18_, int i_19_, String string,

int[] is, boolean bool) {

if (Main3D.cur3D().gameTrackPlay() == null) {

if (Main3D.cur3D().gameTrackRecord() != null) {

try {

NetMsgGuaranted netmsgguaranted = new NetMsgGuaranted();

netmsgguaranted.writeByte(4);

netmsgguaranted.writeInt(i);

netmsgguaranted.writeInt(i_18_);

netmsgguaranted.writeInt(i_19_);

netmsgguaranted.writeBoolean(bool);

int i_20_ = is.length;

netmsgguaranted.writeInt(i_20_);

for (int i_21_ = 0; i_21_ < i_20_; i_21_++)

netmsgguaranted.writeInt(is[i_21_]);

if (string != null)

netmsgguaranted.write255(string);

Main3D.cur3D().gameTrackRecord().postTo

(Main3D.cur3D().gameTrackRecord().channel(),

netmsgguaranted);

} catch (Exception exception) {

/* empty */

}

}

HUD.message(is, i_18_, i_19_, bool);

VoiceFX.play(i, i_18_, i_19_, string, is);

}

}

public static boolean netInputPlay(NetMsgInput netmsginput)

throws IOException {

int i = netmsginput.readInt();

int i_22_ = netmsginput.readInt();

int i_23_ = netmsginput.readInt();

boolean bool = netmsginput.readBoolean();

int i_24_ = netmsginput.readInt();

int[] is = new int[i_24_];

for (int i_25_ = 0; i_25_ < i_24_; i_25_++)

is[i_25_] = netmsginput.readInt();

String string = null;

if (netmsginput.available() > 0)

string = netmsginput.read255();

HUD.message(is, i_22_, i_23_, bool);

VoiceFX.play(i, i_22_, i_23_, string, is);

return true;

}

public static void speak(int i, int i_26_, String string, int i_27_,

int i_28_) {

str[0] = i_27_;

str[1] = 0;

speak(i, i_26_, string, str, i_28_);

}

public static void new_speak(int i, int i_29_, String string, int i_30_,

int i_31_) {

str[0] = i_30_;

str[1] = 0;

new_speak(i, i_29_, string, str, i_31_);

}

public static void speakRandom(int i, int i_32_, String string, int[] is,

int i_33_) {

int i_34_;

for (i_34_ = 0; i_34_ < is.length && is[i_34_] != 0; i_34_++) {

/* empty */

}

if (i_34_ >= 1) {

int i_35_ = rnd.nextInt(0, i_34_ - 1);

speak(i, i_32_, string, is[i_35_], i_33_);

}

}

public static void speakNewRandom(int i, int i_36_, String string,

int[] is, int i_37_) {

int i_38_;

for (i_38_ = 0; i_38_ < is.length && is[i_38_] != 0; i_38_++) {

/* empty */

}

if (i_38_ >= 1) {

int i_39_ = rnd.nextInt(0, i_38_ - 1);

new_speak(i, i_36_, string, is[i_39_], i_37_);

}

}

public static void airSpeaksArray(Aircraft aircraft, int i, int[] is,

int i_40_) {

int i_41_ = actorVoice(aircraft, i);

if (i_41_ != 0) {

int i_42_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

speak(i_41_, i_42_, string, is, i_40_);

}

}

public static void airSpeaksNewArray(Aircraft aircraft, int i, int[] is,

int i_43_) {

int i_44_ = actorVoice(aircraft, i);

if (i_44_ != 0) {

int i_45_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

new_speak(i_44_, i_45_, string, is, i_43_);

}

}

public static void airSpeaks(Aircraft aircraft, int i, int i_46_,

int i_47_) {

str[0] = i_46_;

str[1] = 0;

airSpeaksArray(aircraft, i, str, i_47_);

}

public static void airSpeaks(Aircraft aircraft, int i, int i_48_) {

str[0] = i;

str[1] = 0;

airSpeaksArray(aircraft, 0, str, i_48_);

}

public static void airSpeaksNew(Aircraft aircraft, int i, int i_49_) {

str[0] = i;

str[1] = 0;

airSpeaksNewArray(aircraft, 0, str, i_49_);

}

public static void speakRandomArray(Aircraft aircraft, int[][] is, int i) {

for (int i_50_ = 0; i_50_ < is.length && is[i_50_] != null; i_50_++) {

if (is[i_50_][0] != 0) {

if (is[i_50_][1] == 0)

airSpeaks(aircraft, is[i_50_][0], i);

else {

int i_51_;

if (is[i_50_][2] == 0)

i_51_ = 2;

else

i_51_ = 3;

airSpeaks(aircraft, is[i_50_][rnd.nextInt(0, i_51_ - 1)],

i);

}

}

}

reset();

}

public static void speakRandom(Aircraft aircraft, int[] is, int i) {

int i_52_;

for (i_52_ = 0; i_52_ < is.length && is[i_52_] != 0; i_52_++) {

/* empty */

}

if (i_52_ >= 1) {

int i_53_ = rnd.nextInt(0, i_52_ - 1);

airSpeaks(aircraft, is[i_53_], i);

}

}

public static void speakNewRandom(Aircraft aircraft, int[] is, int i) {

int i_54_;

for (i_54_ = 0; i_54_ < is.length && is[i_54_] != 0; i_54_++) {

/* empty */

}

if (i_54_ >= 1) {

int i_55_ = rnd.nextInt(0, i_54_ - 1);

airSpeaksNew(aircraft, is[i_55_], i);

}

}

public static void speakAltitude(Aircraft aircraft, int i) {

if (Actor.isAlive(aircraft)) {

int i_56_ = (int) (Time.current() / 1000L);

int i_57_ = aircraft.getArmy() - 1 & 0x1;

if (i_56_ >= cur().SpeakAltitude[i_57_]) {

cur().SpeakAltitude[i_57_] = i_56_ + 20;

str[0] = 118;

if (i > 10000)

i = 10000;

if (i < 1)

i = 1;

str[1] = altitudes[i / 500];

str[2] = 0;

airSpeaksNewArray(aircraft, 3, str, 3);

}

}

}

public static void speakHeading(Aircraft aircraft, Vector3f vector3f) {

float f = 57.32484F * (float) Math.atan2((double) vector3f.x,

(double) vector3f.y);

int i = (int) f;

i = (i + 180) % 360;

speakHeading(aircraft, i);

}

public static void speakHeading(Aircraft aircraft) {

Vector3d vector3d = aircraft.FM.Vwld;

float f = 57.32484F * (float) Math.atan2(vector3d.x, vector3d.y);

int i = (int) f;

i = (i + 180) % 360;

speakHeading(aircraft, i);

}

public static void speakHeadingToHome(Aircraft aircraft, Point3d point3d) {

float f = 57.32484F * (float) Math.atan2(point3d.x, point3d.y);

int i = (int) f;

for (i = (i + 180) % 360; i < 0; i += 360) {

/* empty */

}

for (/**/; i >= 360; i -= 360) {

/* empty */

}

i /= 30;

int i_58_ = actorVoice(aircraft, 5);

int i_59_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

new_speak(i_58_, i_59_, string, 235, 2);

str[0] = 165;

str[1] = headings;

str[2] = 0;

airSpeaksArray(aircraft, 5, str, 2);

speak(i_58_, i_59_, string, 252, 2);

}

public static void speakHeadingToTarget(Aircraft aircraft,

Point3d point3d) {

float f = 57.32484F * (float) Math.atan2(point3d.x, point3d.y);

int i = (int) f;

for (i = (i + 180) % 360; i < 0; i += 360) {

/* empty */

}

for (/**/; i >= 360; i -= 360) {

/* empty */

}

i /= 30;

int i_60_ = actorVoice(aircraft, 5);

int i_61_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

str[0] = 165;

str[1] = headings;

str[2] = 0;

airSpeaksNewArray(aircraft, 5, str, 2);

speak(i_60_, i_61_, string, 252, 2);

}

public static void speakHeading(Aircraft aircraft, int i) {

if (Actor.isAlive(aircraft)) {

int i_62_ = (int) (Time.current() / 1000L);

int i_63_ = aircraft.getArmy() - 1 & 0x1;

if (i_62_ >= cur().SpeakHeading[i_63_]) {

cur().SpeakHeading[i_63_] = i_62_ + 20;

for (/**/; i < 0; i += 360) {

/* empty */

}

for (/**/; i >= 360; i -= 360) {

/* empty */

}

i /= 30;

str[0] = 165;

str[1] = headings;

str[2] = 0;

airSpeaksNewArray(aircraft, 3, str, 3);

}

}

}

public static void speak5minutes(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_64_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().Speak5minutes[i_64_]) {

cur().Speak5minutes[i_64_] = i + 40;

str[0] = 81;

if (rnd.nextFloat() < 0.5F)

str[1] = 49;

else

str[1] = 74;

str[2] = 0;

airSpeaksNewArray(aircraft, 3, str, 1);

}

}

}

public static void speak1minute(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_65_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().Speak1minute[i_65_]) {

cur().Speak1minute[i_65_] = i + 40;

str[0] = 81;

if (rnd.nextFloat() < 0.5F)

str[1] = 22;

else

str[1] = 73;

str[2] = 0;

airSpeaksNewArray(aircraft, 3, str, 1);

}

}

}

public static void speakBeginGattack(Aircraft aircraft) {

if (Actor.isAlive(aircraft) && aircraft.aircNumber() >= 2) {

int i = actorVoice(aircraft, 3);

if (i != 0) {

int i_66_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

new_speak(i, i_66_, string, 81, 1);

speak(i, i_66_, string, 169, 1);

if (aircraft.FM instanceof Pilot) {

Pilot pilot = (Pilot) aircraft.FM;

if (Actor.isValid(pilot.target_ground)) {

Actor actor = pilot.target_ground;

if (actor instanceof CarGeneric)

str[0] = 162;

else if (actor instanceof TankGeneric)

str[0] = 152;

else if (actor instanceof AAA)

str[0] = 111;

else if (actor instanceof Wagon)

str[0] = 161;

else if (actor instanceof Train)

str[0] = 161;

else if (actor instanceof TgtShip)

str[0] = 99;

str[1] = 0;

speak(i, i_66_, string, str[0], 1);

speak(i, i_66_, string, 75, 1);

}

Squadron squadron = aircraft.getSquadron();

Wing wing = aircraft.getWing();

Wing wing_67_ = null;

for (int i_68_ = 0; i_68_ < squadron.wing.length;

i_68_++) {

if (squadron.wing[i_68_] != null) {

wing_67_ = squadron.wing[i_68_];

break;

}

}

if (wing.airc.length > 0) {

for (int i_69_ = 0; i_69_ < wing.airc.length;

i_69_++) {

if ((wing_67_ != wing || i_69_ != 0)

&& wing.airc[i_69_] != null)

speakAttackGround(wing.airc[i_69_]);

}

}

}

}

}

}

public static void speakLeaderEndGattack() {

if (Actor.isValid(internalAir)) {

str[0] = 81;

str[1] = 153;

str[2] = 136;

str[3] = 0;

airSpeaksNewArray(internalAir, 3, str, 1);

}

}

public static void speakLeaderRepeatGattack() {

if (Actor.isValid(internalAir)) {

str[0] = 81;

str[1] = 138;

str[2] = 136;

str[3] = 0;

airSpeaksNewArray(internalAir, 3, str, 1);

}

}

public static void speakEndGattack(Aircraft aircraft) {

if (Actor.isAlive(aircraft) && aircraft.aircIndex() <= 0

&& !(aircraft instanceof TypeBomber)

&& aircraft.aircNumber() >= 2) {

int i = (int) (Time.current() / 1000L);

int i_70_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakEndGattack[i_70_]) {

cur().SpeakEndGattack[i_70_] = i + 60;

if (aircraft.FM instanceof Pilot) {

Pilot pilot = (Pilot) aircraft.FM;

internalAir = aircraft;

if (Actor.isValid(pilot.target_ground))

new MsgAction(10.0) {

public void doAction() {

speakLeaderRepeatGattack();

}

};

else

new MsgAction(10.0) {

public void doAction() {

speakLeaderEndGattack();

}

};

}

}

}

}

public static void speakAttackByRockets(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_71_ = aircraft.getArmy() - 1 & 0x1;

int i_72_ = aircraft.aircIndex();

if (i >= cur().SpeakAttackByRockets[i_71_][i_72_]) {

cur().SpeakAttackByRockets[i_71_][i_72_] = i + 60;

setSyncMode(2);

speakThisIs(aircraft);

str[0] = 108;

str[1] = 79;

str[2] = 141;

speakRandom(aircraft, str, 1);

}

}

}

public static void speakAttackByBombs(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_73_ = aircraft.getArmy() - 1 & 0x1;

int i_74_ = aircraft.aircIndex();

if (i >= cur().SpeakAttackByBombs[i_73_][i_74_]) {

cur().SpeakAttackByBombs[i_73_][i_74_] = i + 60;

setSyncMode(2);

speakThisIs(aircraft);

reset();

str2[0][0] = 81;

str2[1][0] = 232;

str2[1][1] = 231;

str2[1][2] = 85;

speakRandomArray(aircraft, str2, 1);

}

}

}

public static void speakNearBombers(Aircraft aircraft) {

int i = (int) (Time.current() / 60000L);

int i_75_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakNearBombers[i_75_]) {

cur().SpeakNearBombers[i_75_] = i + 300;

int i_76_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

str[0] = 219;

str[1] = 220;

str[2] = 221;

str[3] = 136;

str[4] = 0;

airSpeaksNewArray(aircraft, 6, str, 3);

}

}

public static void speakCheckFire(Aircraft aircraft,

Aircraft aircraft_77_) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_78_ = aircraft.getArmy() - 1 & 0x1;

int i_79_ = aircraft.aircIndex();

if (i >= cur().SpeakCheckFire[i_78_][i_79_]) {

cur().SpeakCheckFire[i_78_][i_79_] = i + 15;

int i_80_ = (aircraft_77_.getWing().indexInSquadron() * 4

+ aircraft_77_.aircIndex());

if (i_80_ <= 15) {

str[0] = aNumber[i_80_];

str[1] = 0;

setSyncMode(2);

airSpeaksNewArray(aircraft, 0, str, 1);

str[0] = 87;

str[1] = 166;

str[2] = 0;

setSyncMode(2);

speakRandom(aircraft, str, 1);

}

}

}

}

public static void speakBombersUnderAttack(Aircraft aircraft,

boolean bool) {

int i = (int) (Time.current() / 60000L);

if (Actor.isValid(aircraft)) {

boolean bool_81_

= (aircraft.FM.AP.way.curr().Action == 3

&& aircraft.FM.AP.getWayPointDistance() < 20000.0F);

int i_82_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_83_ = i_82_ - 1 & 0x1;

if (!bool) {

if (i >= cur().SpeakBombersUnderAttack[i_83_]) {

cur().SpeakBombersUnderAttack[i_83_] = i + 25;

if (bool_81_)

new_speak(2, i_82_, string, 223, 2);

else

new_speak(2, i_82_, string, 223, 2);

if (bool_81_)

new_speak(2, i_82_, string, 225, 2);

else

new_speak(2, i_82_, string, 226, 2);

}

} else if (actorVoice(aircraft, 1) != 0) {

if (i < cur().SpeakBombersUnderAttack1[i_83_]) {

if (i < cur().SpeakBombersUnderAttack2[i_83_]) {

cur().SpeakBombersUnderAttack2[i_83_] = i + 5;

str[0] = 119;

str[1] = 215;

str[2] = 213;

str[3] = 216;

str[4] = 0;

speakNewRandom(2, i_82_, string, str, 2);

str[0] = 229;

str[1] = 0;

speak(2, i_82_, string, str, 2);

speakNewRandom(2, i_82_, string, str, 2);

str[0] = 226;

str[1] = 0;

speak(2, i_82_, string, str, 2);

}

} else {

cur().SpeakBombersUnderAttack1[i_83_] = i + 28;

if (bool_81_)

new_speak(2, i_82_, string, 229, 2);

else

new_speak(2, i_82_, string, 229, 2);

cur().SpeakBombersUnderAttack1[i_83_] = i + 28;

if (bool_81_)

new_speak(2, i_82_, string, 230, 2);

else

new_speak(2, i_82_, string, 230, 2);

cur().SpeakBombersUnderAttack1[i_83_] = i + 25;

if (bool_81_)

new_speak(2, i_82_, string, 226, 2);

else

new_speak(2, i_82_, string, 228, 2);

}

}

}

}

public static void speakDanger(Aircraft aircraft, int i) {

if (Actor.isAlive(aircraft)) {

int i_84_ = (int) (Time.current() / 1000L);

int i_85_ = aircraft.getArmy() - 1 & 0x1;

int i_86_ = aircraft.aircIndex();

if (i_84_ >= cur().SpeakDanger[i_85_][i_86_]) {

cur().SpeakDanger[i_85_][i_86_] = i_84_ + 27;

setSyncMode(2);

if (i == 4) {

int i_87_ = actorVoice(aircraft, 4);

if (i_87_ != 0) {

int i_88_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

str[0] = 260;

str[1] = 255;

str[2] = 254;

speakNewRandom(i_87_, i_88_, string, str, 1);

}

} else

speakClearTail(aircraft);

}

}

}

public static void speakClearTail(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_89_ = aircraft.aircIndex();

int i_90_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakClearTail[i_90_][i_89_]) {

cur().SpeakClearTail[i_90_][i_89_] = i + 37;

setSyncMode(2);

speakThisIs(aircraft);

float f = rnd.nextFloat();

if (f < 0.33F)

str[0] = 90;

else if (f < 0.66F)

str[0] = 218;

else

str[0] = 146;

f = rnd.nextFloat();

if (f < 0.5F)

str[1] = 115;

else

str[1] = 89;

str[2] = 0;

airSpeaksArray(aircraft, 0, str, 1);

}

}

}

public static void speakBombing(Aircraft aircraft) {

int i = (int) (Time.current() / 60000L);

int i_91_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakBombing[i_91_]) {

cur().SpeakBombing[i_91_] = i + 1;

reset();

str2[0][0] = 81;

str2[1][0] = 232;

str2[1][1] = 231;

str2[1][2] = 85;

speakRandomArray(aircraft, str2, 1);

}

}

public static void speakEndBombing(Aircraft aircraft) {

int i = (int) (Time.current() / 60000L);

int i_92_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakEndBombing[i_92_]) {

cur().SpeakEndBombing[i_92_] = i + 300;

int i_93_ = aircraft.getRegiment().diedBombers;

str[0] = 107;

if (i_93_ > 1)

str[1] = 222;

else if (i_93_ == 1)

str[1] = 223;

else

str[1] = 224;

str[2] = 0;

airSpeaksNewArray(aircraft, 6, str, 2);

}

}

public static void speakDeviateSmall(Aircraft aircraft) {

int i = (int) (Time.current() / 60000L);

int i_94_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakDeviateSmall[i_94_]) {

cur().SpeakDeviateSmall[i_94_] = i + 4;

str[0] = 170;

str[1] = 150;

str[2] = 0;

airSpeaksNewArray(aircraft, 3, str, 2);

Wing wing = aircraft.getWing();

if (wing.airc.length > 0) {

speakHeading(wing.airc[0]);

speakAltitude(aircraft, (int) wing.airc[0].FM.Loc.z);

str[0] = 136;

str[1] = 0;

airSpeaksArray(aircraft, 3, str, 2);

}

}

}

public static void speakDeviateBig(Aircraft aircraft) {

int i = (int) (Time.current() / 60000L);

int i_95_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakDeviateBig[i_95_]) {

cur().SpeakDeviateBig[i_95_] = i + 10;

if (rnd.nextFloat() < 0.5F) {

if (rnd.nextFloat() < 0.5F)

str[0] = 90;

else

str[0] = 214;

} else if (rnd.nextFloat() < 0.5F)

str[0] = 170;

else

str[0] = 217;

str[1] = 0;

airSpeaksNewArray(aircraft, 3, str, 2);

str[0] = 171;

str[1] = 149;

str[2] = 0;

airSpeaksArray(aircraft, 3, str, 2);

Wing wing = aircraft.getWing();

if (wing.airc.length > 0) {

speakHeading(wing.airc[0]);

speakAltitude(aircraft, (int) wing.airc[0].FM.Loc.z);

}

}

}

public static void speakEnemyDetected(Aircraft aircraft,

Aircraft aircraft_96_) {

int i = (int) (Time.current() / 1000L);

int i_97_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakEnemyDetected[i_97_]) {

cur().SpeakEnemyDetected[i_97_] = i + 40;

if (aircraft.FM instanceof Pilot && aircraft.aircNumber() >= 2) {

Aircraft aircraft_98_ = aircraft_96_;

if (aircraft_98_ != null) {

str[0] = 81;

if (aircraft_98_ instanceof TypeFighter)

str[1] = 107;

else if (aircraft_98_ instanceof TypeBomber)

str[1] = 84;

else if (aircraft_98_ instanceof TypeDiveBomber)

str[1] = 84;

else

str[1] = 83;

str[2] = speakTarget_O_Clock(aircraft, aircraft_98_);

str[3] = 0;

int i_99_ = actorVoice(aircraft, 3);

if (i_99_ != 0)

airSpeaksNewArray(aircraft, 3, str, 1);

}

}

}

}

private static int speakTarget_O_Clock(Aircraft aircraft, Actor actor) {

int i = aircraft.target_O_Clock(actor);

if (i < 1 || i > 36)

return 0;

return clkstr;

}

public static void speakCheckYour6(Aircraft aircraft,

Aircraft aircraft_100_) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 60000L);

int i_101_ = aircraft.getArmy() - 1 & 0x1;

int i_102_ = aircraft.aircIndex();

if (i >= cur().SpeakHint[i_101_][i_102_]) {

cur().SpeakHint[i_101_][i_102_] = i + 2;

if (aircraft.aircNumber() >= 2) {

int i_103_ = (aircraft.getWing().indexInSquadron() * 4

+ aircraft.aircIndex());

if (i_103_ <= 15) {

str[0] = aNumber[i_103_];

str[1] = 88;

str[2] = (your_o_clock

[aircraft.target_O_Clock(aircraft_100_)]);

airSpeaksNewArray(aircraft, 1, str, 1);

}

}

}

}

}

public static void speakToReturn(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 60000L);

int i_104_ = aircraft.getArmy() - 1 & 0x1;

int i_105_ = aircraft.aircIndex();

if (i >= cur().SpeakToReturn[i_104_][i_105_]) {

cur().SpeakToReturn[i_104_][i_105_] = i + 5;

if (aircraft.aircNumber() >= 2) {

int i_106_ = (aircraft.getWing().indexInSquadron() * 4

+ aircraft.aircIndex());

if (i_106_ <= 15) {

str[0] = aNumber[i_106_];

str[1] = 140;

str[2] = 136;

str[3] = 0;

airSpeaksNewArray(aircraft, 3, str, 1);

}

}

}

}

}

public static void speakBailOut(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 60000L);

int i_107_ = aircraft.getArmy() - 1 & 0x1;

int i_108_ = aircraft.aircIndex();

if (i >= cur().SpeakBailOut[i_107_][i_108_]) {

cur().SpeakBailOut[i_107_][i_108_] = i + 1;

if (aircraft.aircNumber() >= 2) {

int i_109_ = (aircraft.getWing().indexInSquadron() * 4

+ aircraft.aircIndex());

if (i_109_ <= 15) {

int i_110_ = actorVoice(aircraft, 1);

Aircraft aircraft_111_

= War.getNearestFriend(aircraft);

setSyncMode(2);

if (aircraft_111_ != null

&& (rnd.nextFloat() > 0.5F

|| aircraft == World.getPlayerAircraft())) {

airSpeaksNew(aircraft_111_, aNumber[i_109_], 1);

str[0] = 82;

str[1] = 116;

str[2] = 120;

str[3] = 137;

str[4] = 172;

str[5] = 167;

setSyncMode(2);

speakRandom(aircraft_111_, str, 1);

} else if (aircraft != World.getPlayerAircraft()) {

speakThisIs(aircraft);

str[0] = 121;

str[1] = 123;

str[2] = 125;

setSyncMode(2);

speakRandom(aircraft, str, 1);

}

}

}

}

}

}

public static void speakMayday(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 60000L);

int i_112_ = aircraft.getArmy() - 1 & 0x1;

int i_113_ = aircraft.aircIndex();

if (i >= cur().SpeakMayday[i_112_][i_113_]) {

cur().SpeakMayday[i_112_][i_113_] = i + 1;

setSyncMode(2);

speakThisIs(aircraft);

str[0] = 122;

str[1] = 91;

str[2] = 126;

str[3] = 0;

speakRandom(aircraft, str, 1);

}

}

}

public static void speakMissionAccomplished(Aircraft aircraft) {

int i = actorVoice(aircraft, 3);

if (i != 0) {

int i_114_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

new_speak(i, i_114_, string, 81, 1);

if (aircraft.getRegiment().diedAircrafts == 0)

speak(i, i_114_, string, 128, 1);

else

speak(i, i_114_, string, 127, 1);

str[0] = 139;

str[1] = 105;

str[2] = 168;

str[3] = 0;

speakRandom(i, i_114_, string, str, 1);

speakHeading(aircraft);

speakAltitude(aircraft, (int) aircraft.FM.Loc.z);

if (!(aircraft instanceof TypeFighter)) {

Aircraft aircraft_115_

= War.getNearestFriendlyFighter(aircraft, 50000.0F);

if (aircraft_115_ != null)

speakEndBombing(aircraft);

}

}

}

public static void speakThisIs(Aircraft aircraft) {

if (aircraft != null) {

int i = aircraft.getWing().indexInSquadron();

int i_116_ = aircraft.aircIndex();

int i_117_ = aircraft.aircNumber();

int i_118_ = i * 4 + i_116_;

if (i_118_ <= 15) {

str[0] = thisIsNumber[i_118_];

str[1] = 0;

int i_119_ = syncMode;

airSpeaksNewArray(aircraft, 0, str, 1);

setSyncMode(i_119_);

}

}

}

public static void speakIAm(Aircraft aircraft) {

if (aircraft != null) {

int i = aircraft.getWing().indexInSquadron();

int i_120_ = aircraft.aircIndex();

int i_121_ = aircraft.aircNumber();

int i_122_ = i * 4 + i_120_;

if (i_122_ <= 15) {

str[0] = thisIsNumber[i_122_];

int i_123_ = aircraft.getArmy() - 1 & 0x1;

if (i_123_ == 0) {

if (i_120_ == 0) {

if (i_121_ == 2)

str[0] = thisIsPara;

else if (i_121_ > 1)

str[0] = thisIsWing;

}

} else if (i_120_ == 0) {

if (i_121_ == 2)

str[0] = thisIsRotte;

else if (i_121_ > 1)

str[0] = thisIsSwarm;

}

str[1] = 0;

int i_124_ = syncMode;

airSpeaksNewArray(aircraft, 0, str, 1);

setSyncMode(i_124_);

}

}

}

public static void speakNumber_same_str(int i, Aircraft aircraft) {

if (aircraft != null) {

int i_125_ = aircraft.getWing().indexInSquadron();

int i_126_ = aircraft.aircIndex();

int i_127_ = i_125_ * 4 + i_126_;

if (i_127_ <= 15) {

int i_128_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_129_ = syncMode;

speak(i, i_128_, string, aNumber[i_127_], 2);

setSyncMode(i_129_);

}

}

}

public static void speakNumber(int i, Aircraft aircraft) {

if (aircraft != null) {

int i_130_ = aircraft.getWing().indexInSquadron();

int i_131_ = aircraft.aircIndex();

int i_132_ = i_130_ * 4 + i_131_;

if (i_132_ <= 15) {

int i_133_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_134_ = syncMode;

new_speak(i, i_133_, string, aNumber[i_132_], 2);

setSyncMode(i_134_);

}

}

}

public static void speakCoverMe(Aircraft aircraft) {

int i = (int) (Time.current() / 1000L);

int i_135_ = aircraft.getArmy() - 1 & 0x1;

int i_136_ = aircraft.aircIndex();

if (i >= cur().SpeakCoverMe[i_135_][i_136_]) {

cur().SpeakCoverMe[i_135_][i_136_] = i + 15;

int i_137_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_138_ = actorVoice(aircraft, 0);

speakThisIs(aircraft);

str[0] = 310;

str[1] = 309;

str[2] = 268;

str[3] = 0;

speakRandom(i_138_, i_137_, string, str, 1);

}

}

public static void speakYouAreClear(Aircraft aircraft) {

int i = (int) (Time.current() / 1000L);

int i_139_ = aircraft.getArmy() - 1 & 0x1;

int i_140_ = aircraft.aircIndex();

if (i >= cur().SpeakCoverMe[i_139_][i_140_]) {

cur().SpeakCoverMe[i_139_][i_140_] = i + 15;

speakThisIs(aircraft);

str[0] = 341;

str[1] = 342;

str[2] = 263;

airSpeaksArray(aircraft, 0, str, 1);

}

}

public static void speakTargetAll(Aircraft aircraft) {

int i = (int) (Time.current() / 60000L);

int i_141_ = aircraft.getArmy() - 1 & 0x1;

int i_142_ = aircraft.aircIndex();

if (i >= cur().SpeakTargetAll[i_141_][i_142_]) {

cur().SpeakTargetAll[i_141_][i_142_] = i + 1;

int i_143_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_144_ = actorVoice(aircraft, 0);

speakThisIs(aircraft);

str[0] = 324;

str[1] = 320;

str[2] = 277;

str[3] = 369;

speakRandom(i_144_, i_143_, string, str, 1);

}

}

public static void speakAttackFighters(Aircraft aircraft) {

int i = (int) (Time.current() / 1000L);

int i_145_ = aircraft.getArmy() - 1 & 0x1;

int i_146_ = aircraft.aircIndex();

if (i >= cur().SpeakTargetAll[i_145_][i_146_]) {

cur().SpeakTargetAll[i_145_][i_146_] = i + 30;

int i_147_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_148_ = actorVoice(aircraft, 0);

speakThisIs(aircraft);

str[0] = 323;

str[1] = 306;

str[2] = 267;

str[3] = 0;

speakRandom(i_148_, i_147_, string, str, 1);

}

}

public static void speakAttackBombers(Aircraft aircraft) {

int i = (int) (Time.current() / 1000L);

int i_149_ = aircraft.getArmy() - 1 & 0x1;

int i_150_ = aircraft.aircIndex();

if (i >= cur().SpeakAttackBombers[i_149_][i_150_]) {

cur().SpeakAttackBombers[i_149_][i_150_] = i + 30;

int i_151_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_152_ = actorVoice(aircraft, 0);

speakThisIs(aircraft);

str[0] = 307;

str[1] = 264;

str[2] = 0;

speakRandom(i_152_, i_151_, string, str, 1);

}

}

public static void speakAttackMyTarget(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str2[0][0] = 278;

str2[0][1] = 264;

speakRandomArray(aircraft, str2, 1);

}

}

public static void speakAttackGround(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str2[0][0] = 262;

str2[0][1] = 264;

speakRandomArray(aircraft, str2, 1);

}

}

public static void speakDropTanks(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str2[0][0] = 322;

str2[0][1] = 275;

speakRandomArray(aircraft, str2, 1);

}

}

public static void speakHelpNeeded(Aircraft aircraft, int i) {

if (Actor.isAlive(aircraft)) {

int i_153_ = (int) (Time.current() / 1000L);

int i_154_ = aircraft.getArmy() - 1 & 0x1;

int i_155_ = aircraft.aircIndex();

if (i_153_ >= cur().SpeakHelpNeeded[i_154_][i_155_])

cur().SpeakHelpNeeded[i_154_][i_155_] = i_153_ + 30;

}

}

public static void speakCoverProvided(Aircraft aircraft,

Aircraft aircraft_156_) {

if (Actor.isAlive(aircraft) && Actor.isAlive(aircraft_156_)) {

int i = (int) (Time.current() / 1000L);

int i_157_ = aircraft.aircIndex();

int i_158_ = aircraft.getArmy() - 1 & 0x1;

if (i >= cur().SpeakCoverProvided[i_158_][i_157_]) {

cur().SpeakCoverProvided[i_158_][i_157_] = i + 30;

int i_159_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_160_ = actorVoice(aircraft, 0);

speakThisIs(aircraft);

if (World.Rnd().nextBoolean())

speakNumber_same_str(i_160_, aircraft_156_);

str[0] = 310;

str[1] = 309;

str[2] = 268;

str[3] = 0;

speakRandom(i_160_, i_159_, string, str, 1);

}

}

}

public static void speakHelpNeededFromBase(Aircraft aircraft,

boolean bool) {

if (Actor.isAlive(aircraft)) {

int i = aircraft.getArmy() - 1 & 0x1;

int i_161_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_162_ = actorVoice(aircraft, 5);

new_speak(i_162_, i_161_, string, 235, 1);

if (bool) {

str[0] = 237;

str[1] = 239;

str[2] = 0;

speakRandom(i_162_, i_161_, string, str, 1);

} else {

str[0] = 234;

str[1] = 233;

str[2] = 249;

str[3] = 251;

speakRandom(i_162_, i_161_, string, str, 1);

}

}

}

public static void speakHelpFromAir(Aircraft aircraft, int i) {

if (Actor.isAlive(aircraft)) {

int i_163_ = (int) (Time.current() / 1000L);

int i_164_ = aircraft.getArmy() - 1 & 0x1;

int i_165_ = aircraft.aircIndex();

if (i_163_ >= cur().SpeakCoverProvided[i_164_][i_165_]) {

cur().SpeakCoverProvided[i_164_][i_165_] = i_163_ + 45;

speakThisIs(aircraft);

switch (i) {

case 1:

str[0] = 291;

str[1] = 294;

str[2] = 291;

break;

case 2:

str[0] = 341;

str[1] = 342;

str[2] = 342;

break;

default:

str[0] = 295;

str[1] = 339;

str[2] = 340;

}

str[3] = 0;

speakRandom(aircraft, str, 1);

}

}

}

public static void speakRearGunKill() {

int i = (int) (Time.current() / 1000L);

if (i >= cur().SpeakRearGunKill) {

cur().SpeakRearGunKill = i + 20;

int i_166_ = World.getPlayerArmy();

String string = World.getPlayerAircraft().getRegiment().speech();

setSyncMode(2);

new_speak(5, i_166_, string, 258, 1);

}

}

public static void speakRearGunShake() {

int i = (int) (Time.current() / 1000L);

if (i >= cur().SpeakRearGunShake) {

cur().SpeakRearGunShake = i + 20;

int i_167_ = World.getPlayerArmy();

String string = World.getPlayerAircraft().getRegiment().speech();

setSyncMode(2);

if (rnd.nextFloat() < 0.5F)

new_speak(5, i_167_, string, 256, 1);

else

new_speak(5, i_167_, string, 259, 1);

}

}

public static void speakNiceKill(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_168_ = aircraft.getArmy() - 1 & 0x1;

int i_169_ = aircraft.aircIndex();

if (i >= cur().SpeakNiceKill[i_168_][i_169_]) {

cur().SpeakNiceKill[i_168_][i_169_] = i + 5;

if (aircraft != null) {

float f = rnd.nextFloat();

int i_170_ = actorVoice(aircraft, 1);

setSyncMode(2);

if (aircraft == World.getPlayerAircraft())

f = 0.0F;

else if (i_170_ == 0)

f = 1.0F;

if (f > 0.5F) {

speakThisIs(aircraft);

str[0] = 293;

str[1] = 290;

str[2] = 0;

speakRandom(aircraft, str, 2);

} else {

int i_171_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

speakNumber(i_170_, aircraft);

str[0] = 289;

str[1] = 288;

str[2] = 296;

str[3] = 0;

speakRandom(i_170_, i_171_, string, str, 1);

}

}

}

}

}

public static void speakRearGunTargetDestroyed() {

Aircraft aircraft = World.getPlayerAircraft();

if (Actor.isAlive(aircraft)) {

int i = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

setSyncMode(2);

str[0] = 153;

str[1] = 93;

str[2] = 154;

str[3] = 0;

speakNewRandom(5, i, string, str, 2);

str[0] = 257;

str[1] = 261;

str[2] = 0;

speakRandom(5, i, string, str, 2);

}

}

public static void speakTargetDestroyed(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 1000L);

int i_172_ = aircraft.getArmy() - 1 & 0x1;

int i_173_ = aircraft.aircIndex();

if (i >= cur().SpeakTargetDestroyed[i_172_][i_173_]) {

cur().SpeakTargetDestroyed[i_172_][i_173_] = i + 60;

if (aircraft == World.getPlayerAircraft()

&& aircraft.FM.turret.length > 0

&& (aircraft.FM.AS.astatePilotStates

[aircraft.FM.turret.length]) < 90

&& aircraft.FM.turret[0].bIsAIControlled)

new MsgAction(5.5) {

public void doAction() {

speakRearGunTargetDestroyed();

}

};

if (Actor.isAlive(aircraft)) {

speakThisIs(aircraft);

str[0] = 153;

str[1] = 93;

str[2] = 154;

str[3] = 0;

speakRandom(aircraft, str, 1);

}

}

}

}

public static void speakEndOfAmmo(Aircraft aircraft) {

if (Actor.isAlive(aircraft)

&& (!(aircraft instanceof TypeBomber)

&& !(aircraft instanceof TypeTransport))) {

int i = (int) (Time.current() / 60000L);

int i_174_ = aircraft.getArmy() - 1 & 0x1;

int i_175_ = aircraft.aircIndex();

if (i >= cur().SpeakEndOfAmmo[i_174_][i_175_]) {

cur().SpeakEndOfAmmo[i_174_][i_175_] = i + 5;

setSyncMode(2);

speakThisIs(aircraft);

str[0] = 292;

str[1] = 124;

str[2] = 0;

speakRandom(aircraft, str, 2);

}

}

}

public static void speakBreak(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 60000L);

int i_176_ = aircraft.getArmy() - 1 & 0x1;

int i_177_ = aircraft.aircIndex();

if (i >= cur().SpeakBreak[i_176_][i_177_]) {

cur().SpeakBreak[i_176_][i_177_] = i + 1;

speakIAm(aircraft);

str[0] = 302;

str[1] = 298;

str[2] = 266;

str[3] = 0;

speakRandom(aircraft, str, 2);

}

}

}

public static void speakRejoin(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str[0] = 318;

str[1] = 317;

str[2] = 274;

str[3] = 0;

speakRandom(aircraft, str, 2);

}

}

public static void speakTightFormation(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str[0] = 300;

str[1] = 301;

str[2] = 279;

str[3] = 0;

speakRandom(aircraft, str, 2);

}

}

public static void speakLoosenFormation(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

str[0] = 299;

str[1] = 311;

str[2] = 265;

str[3] = 0;

speakNewRandom(aircraft, str, 2);

}

}

public static void speakOk(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

airSpeaks(aircraft, 298, 1);

}

}

public static void speakUnable(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str[0] = 295;

str[1] = 339;

str[2] = 340;

speakRandom(aircraft, str, 1);

}

}

public static void speakNextWayPoint(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str[0] = 314;

str[1] = 271;

str[2] = 0;

speakRandom(aircraft, str, 1);

}

}

public static void speakPrevWayPoint(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str[0] = 316;

str[1] = 319;

str[2] = 272;

str[3] = 0;

speakRandom(aircraft, str, 1);

}

}

public static void speakReturnToBase(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str[0] = 325;

str[1] = 305;

str[2] = 276;

str[3] = 0;

speakRandom(aircraft, str, 1);

}

}

public static void speakHangOn(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str[0] = 308;

str[1] = 269;

str[2] = 280;

speakRandom(aircraft, str, 1);

}

}

public static void speakEchelonRight(Aircraft aircraft) {

speakIAm(aircraft);

airSpeaks(aircraft, 304, 2);

}

public static void speakEchelonLeft(Aircraft aircraft) {

speakIAm(aircraft);

airSpeaks(aircraft, 303, 2);

}

public static void speakLineAbreast(Aircraft aircraft) {

speakIAm(aircraft);

airSpeaks(aircraft, 312, 2);

}

public static void speakLineAstern(Aircraft aircraft) {

speakIAm(aircraft);

airSpeaks(aircraft, 313, 1);

}

public static void speakVic(Aircraft aircraft) {

speakIAm(aircraft);

airSpeaks(aircraft, 321, 1);

}

public static void speakPullUp(Aircraft aircraft) {

int i = (int) (Time.current() / 1000L);

if (i >= cur().SpeakPullUp) {

cur().SpeakPullUp = i + 30;

int i_178_ = actorVoice(aircraft, 1);

int i_179_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

setSyncMode(2);

speakNumber(i_178_, aircraft);

str[0] = 137;

str[1] = 172;

str[2] = 167;

str[3] = 0;

speakRandom(i_178_, i_179_, string, str, 3);

}

}

public static void speakLandingPermited(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = (int) (Time.current() / 60000L);

int i_180_ = aircraft.getArmy() - 1 & 0x1;

int i_181_ = aircraft.aircIndex();

if (aircraft == World.getPlayerAircraft()

|| i >= cur().SpeakLandingPermited[i_180_][i_181_]) {

cur().SpeakLandingPermited[i_180_][i_181_] = i + 60;

int i_182_ = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

speakNumber(4, aircraft);

str[0] = 240;

str[1] = 243;

str[2] = 248;

str[3] = 0;

speakRandom(4, i_182_, string, str, 2);

}

}

}

public static void speakLandingDenied(Aircraft aircraft) {

int i = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

speakNumber(4, aircraft);

str[0] = 250;

str[1] = 236;

str[2] = 247;

str[3] = 238;

speakRandom(4, i, string, str, 2);

}

public static void speakWaveOff(Aircraft aircraft) {

int i = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

speakNumber(4, aircraft);

str[0] = 236;

str[1] = 238;

str[2] = 247;

speakRandom(4, i, string, str, 2);

}

public static void speakLanding(Aircraft aircraft) {

speakThisIs(aircraft);

airSpeaks(aircraft, 134, 1);

}

public static void speakGoAround(Aircraft aircraft) {

int i = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

int i_183_ = actorVoice(aircraft, 0);

speakThisIs(aircraft);

str[0] = 135;

str[1] = 117;

str[2] = 0;

speakRandom(i_183_, i, string, str, 1);

}

public static void speakGoingIn(Aircraft aircraft) {

airSpeaks(aircraft, 130, 1);

}

public static void testTargDestr(Actor actor, Actor actor_184_) {

if (Actor.isValid(actor_184_)

&& (!actor_184_.isNet() || actor_184_.isNetMaster())) {

try {

if (actor instanceof Aircraft) {

if (!(actor instanceof TypeFighter)) {

((Wing) actor.getOwner()).regiment().diedBombers++;

if (actor_184_ instanceof TypeFighter)

speakBombersUnderAttack((Aircraft) actor, true);

}

((Wing) actor.getOwner()).regiment().diedAircrafts++;

if (actor_184_ instanceof Aircraft

&& actor.getArmy() != actor_184_.getArmy()

&& !((Aircraft) actor).buried)

speakNiceKill((Aircraft) actor_184_);

} else if (actor_184_ instanceof Aircraft) {

int i = actor.getArmy();

if (i == 0) {

actor.pos.getAbs(P3d);

i = Front.army(P3d.x, P3d.x);

}

if (i != actor_184_.getArmy())

speakTargetDestroyed((Aircraft) actor_184_);

}

} catch (Exception exception) {

System.out.println(exception.getMessage());

exception.printStackTrace();

}

}

}

public static void speakTakeoffPermited(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

speakNumber(4, aircraft);

str[0] = 241;

str[1] = 242;

str[2] = 0;

speakRandom(4, i, string, str, 1);

}

}

public static void speakTakeoffDenied(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

int i = aircraft.getArmy();

String string = aircraft.getRegiment().speech();

speakNumber(4, aircraft);

str[0] = 253;

str[1] = 0;

speakRandom(4, i, string, str, 1);

}

}

static {

reset();

syncMode = 0;

P3d = new Point3d();

}

}

Ссылка на сообщение
Поделиться на другие сайты
 

а вот те номера которые в VoiceBase

str[0] = 81; (Внимание)

str[1] = 49;(5 минут до цели)

else

str[1] = 74;* Приближаемся к нашей цели около 5 мин полета)

str[2] = 0;

Ссылка на сообщение
Поделиться на другие сайты
 

Вот конкретный пример говорится когда ии сбросил баки

public static void speakDropTanks(Aircraft aircraft) {

if (Actor.isAlive(aircraft)) {

speakIAm(aircraft);

str2[0][0] = 322;

str2[0][1] = 275;

speakRandomArray(aircraft, str2, 1);

}

}

Ссылка на сообщение
Поделиться на другие сайты
 

скажите, а где чего нада подправить, чтобы когда на 6-ти появляется противник, мягкий мужской баритон сообщал "внимание, шесть..."? :na_metle:

Ссылка на сообщение
Поделиться на другие сайты
 
скажите, а где чего нада подправить, чтобы когда на 6-ти появляется противник, мягкий мужской баритон сообщал "внимание, шесть..."? :na_metle:

на 6 это с зади ? это итак работает

1 фрийц сзади за тобой например.

Ссылка на сообщение
Поделиться на другие сайты
 
на 6 это с зади ? это итак работает

1 фрийц сзади за тобой например.

хехе... я про он-лайн вообщето :Smile172:

Ссылка на сообщение
Поделиться на другие сайты
 
 
 
скажите, а где чего нада подправить, чтобы когда на 6-ти появляется противник, мягкий мужской баритон сообщал "внимание, шесть..."? :na_metle:

Надо поставить ТС... Тока за мягкий мужской баритон не отвечаю :cheburan:

Ссылка на сообщение
Поделиться на другие сайты
 
 
 
 
 
 
 

Тады есть просьба! а мона все измененные файлы сдесь в архиве выложить? спс заранее

Ссылка на сообщение
Поделиться на другие сайты
 
скажите, а где чего нада подправить, чтобы когда на 6-ти появляется противник, мягкий мужской баритон сообщал "внимание, шесть..."? :na_metle:

Попробуй привентить РусРиту от Локона....тока там голос женский))))

Ссылка на сообщение
Поделиться на другие сайты
 
 
 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...