880 lines
27 KiB
Plaintext
880 lines
27 KiB
Plaintext
|
|
|
|
#namespace name;
|
|
|
|
function setup()
|
|
{
|
|
assert( !isdefined( level.names ) );
|
|
|
|
//Init arrays
|
|
level.names = [];
|
|
level.namesIndex = [];
|
|
|
|
if( !isdefined( level.script ) )
|
|
{
|
|
level.script = toLower( GetDvarString( "mapname" ) );
|
|
}
|
|
|
|
//Setup default names list
|
|
initialize_nationality( "american" );
|
|
}
|
|
|
|
function initialize_nationality( str_nationality )
|
|
{
|
|
//Check if the nationality list has been created yet. If not, make it now
|
|
if( !isdefined(level.names[str_nationality] ) )
|
|
{
|
|
level.names[str_nationality] = [];
|
|
|
|
if( str_nationality != "civilian" )
|
|
{
|
|
add_nationality_names( str_nationality );
|
|
}
|
|
|
|
randomize_name_list( str_nationality );
|
|
level.nameIndex[str_nationality] = 0;
|
|
}
|
|
}
|
|
|
|
//*7-22-13* Please note, some old nationalities have been cleaned up. If you need names for any of the nationalities commented below,
|
|
//please check the p4 history and bring back what you need as those names have likely been approved by legal(but will need to be done again).
|
|
// Afghan
|
|
// Angolan
|
|
// British
|
|
// Cuban
|
|
// German
|
|
// Japanese
|
|
// Nicaraguan
|
|
// Pakastani
|
|
// Panamanian
|
|
// Yemeni
|
|
function add_nationality_names( str_nationality )
|
|
{
|
|
switch( str_nationality )
|
|
{
|
|
case "american":
|
|
american_names();
|
|
break;
|
|
|
|
case "chinese":
|
|
chinese_names();
|
|
break;
|
|
|
|
case "egyptian":
|
|
egyptian_names();
|
|
break;
|
|
|
|
case "russian":
|
|
russian_names();
|
|
break;
|
|
|
|
case "agent":
|
|
agent_names();
|
|
break;
|
|
|
|
case "police":
|
|
police_names();
|
|
break;
|
|
|
|
case "seal":
|
|
seal_names();
|
|
break;
|
|
|
|
case "navy":
|
|
navy_names();
|
|
break;
|
|
|
|
case "security":
|
|
security_names();
|
|
break;
|
|
|
|
case "singapore_police":
|
|
sing_police_names();
|
|
break;
|
|
|
|
default:
|
|
AssertMsg("Name list does not exist for " + str_nationality);
|
|
break;
|
|
}
|
|
}
|
|
|
|
function american_names()
|
|
{
|
|
// Generic Names
|
|
add_name( "american", "Adams" );
|
|
add_name( "american", "Alexander" );
|
|
add_name( "american", "Allen" );
|
|
add_name( "american", "Anderson" );
|
|
add_name( "american", "Bailey" );
|
|
add_name( "american", "Baker" );
|
|
add_name( "american", "Barnes" );
|
|
add_name( "american", "Bell" );
|
|
add_name( "american", "Bennett" );
|
|
add_name( "american", "Brooks" );
|
|
add_name( "american", "Brown" );
|
|
add_name( "american", "Bryant" );
|
|
add_name( "american", "Butler" );
|
|
add_name( "american", "Campbell" );
|
|
add_name( "american", "Carter" );
|
|
add_name( "american", "Clark" );
|
|
add_name( "american", "Coleman" );
|
|
add_name( "american", "Collins" );
|
|
add_name( "american", "Cook" );
|
|
add_name( "american", "Cooper" );
|
|
add_name( "american", "Cox" );
|
|
add_name( "american", "Davis" );
|
|
add_name( "american", "Diaz" );
|
|
add_name( "american", "Edwards" );
|
|
add_name( "american", "Evans" );
|
|
add_name( "american", "Flores" );
|
|
add_name( "american", "Foster" );
|
|
add_name( "american", "Garcia" );
|
|
add_name( "american", "Gonzales" );
|
|
add_name( "american", "Gonzalez" );
|
|
add_name( "american", "Gray" );
|
|
add_name( "american", "Green" );
|
|
add_name( "american", "Griffin" );
|
|
add_name( "american", "Hall" );
|
|
add_name( "american", "Harris" );
|
|
add_name( "american", "Hayes" );
|
|
add_name( "american", "Henderson" );
|
|
add_name( "american", "Hernandez" );
|
|
add_name( "american", "Hill" );
|
|
add_name( "american", "Howard" );
|
|
add_name( "american", "Hughes" );
|
|
add_name( "american", "Jackson" );
|
|
add_name( "american", "James" );
|
|
add_name( "american", "Jenkins" );
|
|
add_name( "american", "Johnson" );
|
|
add_name( "american", "Jones" );
|
|
add_name( "american", "Kelly" );
|
|
add_name( "american", "King" );
|
|
add_name( "american", "Lee" );
|
|
add_name( "american", "Lewis" );
|
|
add_name( "american", "Long" );
|
|
add_name( "american", "Lopez" );
|
|
add_name( "american", "Martin" );
|
|
add_name( "american", "Martinez" );
|
|
add_name( "american", "Miller" );
|
|
add_name( "american", "Mitchell" );
|
|
add_name( "american", "Moore" );
|
|
add_name( "american", "Morgan" );
|
|
add_name( "american", "Morris" );
|
|
add_name( "american", "Murphy" );
|
|
add_name( "american", "Nelson" );
|
|
add_name( "american", "Parker" );
|
|
add_name( "american", "Patterson" );
|
|
add_name( "american", "Perez" );
|
|
add_name( "american", "Perry" );
|
|
add_name( "american", "Peterson" );
|
|
add_name( "american", "Phillips" );
|
|
add_name( "american", "Powell" );
|
|
add_name( "american", "Price" );
|
|
add_name( "american", "Ramirez" );
|
|
add_name( "american", "Reed" );
|
|
add_name( "american", "Richardson" );
|
|
add_name( "american", "Rivera" );
|
|
add_name( "american", "Roberts" );
|
|
add_name( "american", "Robinson" );
|
|
add_name( "american", "Rodriguez" );
|
|
add_name( "american", "Rogers" );
|
|
add_name( "american", "Ross" );
|
|
add_name( "american", "Russell" );
|
|
add_name( "american", "Sanchez" );
|
|
add_name( "american", "Sanders" );
|
|
add_name( "american", "Scott" );
|
|
add_name( "american", "Simmons" );
|
|
add_name( "american", "Smith" );
|
|
add_name( "american", "Stewart" );
|
|
add_name( "american", "Taylor" );
|
|
add_name( "american", "Thomas" );
|
|
add_name( "american", "Thompson" );
|
|
add_name( "american", "Torres" );
|
|
add_name( "american", "Turner" );
|
|
add_name( "american", "Walker" );
|
|
add_name( "american", "Ward" );
|
|
add_name( "american", "Washington" );
|
|
add_name( "american", "Watson" );
|
|
add_name( "american", "White" );
|
|
add_name( "american", "Williams" );
|
|
add_name( "american", "Wilson" );
|
|
add_name( "american", "Wood" );
|
|
add_name( "american", "Wright" );
|
|
add_name( "american", "Young" );
|
|
|
|
// DevTeam Names:
|
|
|
|
// Publisher Names:
|
|
|
|
// Friend Names:
|
|
}
|
|
|
|
function egyptian_names()
|
|
{
|
|
add_name( "egyptian", "Ababneh" );
|
|
add_name( "egyptian", "Abba" );
|
|
add_name( "egyptian", "Abbas" );
|
|
add_name( "egyptian", "Abdel" );
|
|
add_name( "egyptian", "Abdellah" );
|
|
add_name( "egyptian", "Abdul" );
|
|
add_name( "egyptian", "Abdulah" );
|
|
add_name( "egyptian", "Abdullah" );
|
|
add_name( "egyptian", "Abolhassan" );
|
|
add_name( "egyptian", "Ahmad" );
|
|
add_name( "egyptian", "Ahmed" );
|
|
add_name( "egyptian", "Alam" );
|
|
add_name( "egyptian", "Ali" );
|
|
add_name( "egyptian", "Ameen" );
|
|
add_name( "egyptian", "Amin" );
|
|
add_name( "egyptian", "Armanjani" );
|
|
add_name( "egyptian", "Awad" );
|
|
add_name( "egyptian", "Ayasha" );
|
|
add_name( "egyptian", "Aziz" );
|
|
add_name( "egyptian", "Bari" );
|
|
add_name( "egyptian", "Essa" );
|
|
add_name( "egyptian", "Habib" );
|
|
add_name( "egyptian", "Hadad" );
|
|
add_name( "egyptian", "Haddad" );
|
|
add_name( "egyptian", "Hamdan" );
|
|
add_name( "egyptian", "Hamid" );
|
|
add_name( "egyptian", "Hana" );
|
|
add_name( "egyptian", "Hanna" );
|
|
add_name( "egyptian", "Hasan" );
|
|
add_name( "egyptian", "Hassan" );
|
|
add_name( "egyptian", "Hossein" );
|
|
add_name( "egyptian", "Hussain" );
|
|
add_name( "egyptian", "Ibraheem" );
|
|
add_name( "egyptian", "Ibrahim" );
|
|
add_name( "egyptian", "Isa" );
|
|
add_name( "egyptian", "Ismail" );
|
|
add_name( "egyptian", "Issa" );
|
|
add_name( "egyptian", "Jaber" );
|
|
add_name( "egyptian", "Jabir" );
|
|
add_name( "egyptian", "Karim" );
|
|
add_name( "egyptian", "Khatib" );
|
|
add_name( "egyptian", "Khoury" );
|
|
add_name( "egyptian", "Mahmad" );
|
|
add_name( "egyptian", "Mahmood" );
|
|
add_name( "egyptian", "Mahmoud" );
|
|
add_name( "egyptian", "Malik" );
|
|
add_name( "egyptian", "Mansoor" );
|
|
add_name( "egyptian", "Mansour" );
|
|
add_name( "egyptian", "Mazin" );
|
|
add_name( "egyptian", "Mousa" );
|
|
add_name( "egyptian", "Murat" );
|
|
add_name( "egyptian", "Musa" );
|
|
add_name( "egyptian", "Mustafa" );
|
|
add_name( "egyptian", "Najeeb" );
|
|
add_name( "egyptian", "Najjar" );
|
|
add_name( "egyptian", "Naser" );
|
|
add_name( "egyptian", "Nasser" );
|
|
add_name( "egyptian", "Omar" );
|
|
add_name( "egyptian", "Omer" );
|
|
add_name( "egyptian", "Ommar" );
|
|
add_name( "egyptian", "Qasem" );
|
|
add_name( "egyptian", "Qasim" );
|
|
add_name( "egyptian", "Qassem" );
|
|
add_name( "egyptian", "Rahman" );
|
|
add_name( "egyptian", "Rasheed" );
|
|
add_name( "egyptian", "Rashid" );
|
|
add_name( "egyptian", "Saad" );
|
|
add_name( "egyptian", "Sad" );
|
|
add_name( "egyptian", "Salah" );
|
|
add_name( "egyptian", "Saleh" );
|
|
add_name( "egyptian", "Salih" );
|
|
add_name( "egyptian", "Salman" );
|
|
add_name( "egyptian", "Sam" );
|
|
add_name( "egyptian", "Shadi" );
|
|
add_name( "egyptian", "Shaheen" );
|
|
add_name( "egyptian", "Shahriar" );
|
|
add_name( "egyptian", "Shareef" );
|
|
add_name( "egyptian", "Sharif" );
|
|
add_name( "egyptian", "Sleiman" );
|
|
add_name( "egyptian", "Sulaiman" );
|
|
add_name( "egyptian", "Sulayman" );
|
|
add_name( "egyptian", "Temiz" );
|
|
add_name( "egyptian", "Turk" );
|
|
add_name( "egyptian", "Yaseen" );
|
|
add_name( "egyptian", "Yousef" );
|
|
add_name( "egyptian", "Yousif" );
|
|
}
|
|
|
|
function sing_police_names()
|
|
{
|
|
add_name( "singapore_police", "Ang" );
|
|
add_name( "singapore_police", "Chan" );
|
|
add_name( "singapore_police", "Chen" );
|
|
add_name( "singapore_police", "Chia" );
|
|
add_name( "singapore_police", "Chong" );
|
|
add_name( "singapore_police", "Chua" );
|
|
add_name( "singapore_police", "Feng" );
|
|
add_name( "singapore_police", "He" );
|
|
add_name( "singapore_police", "Ho" );
|
|
add_name( "singapore_police", "Jau" );
|
|
add_name( "singapore_police", "Kao" );
|
|
add_name( "singapore_police", "Kiu" );
|
|
add_name( "singapore_police", "Koh" );
|
|
add_name( "singapore_police", "Lee" );
|
|
add_name( "singapore_police", "Liang" );
|
|
add_name( "singapore_police", "Lim" );
|
|
add_name( "singapore_police", "Low" );
|
|
add_name( "singapore_police", "Lu" );
|
|
add_name( "singapore_police", "Ma" );
|
|
add_name( "singapore_police", "Meng" );
|
|
add_name( "singapore_police", "Ng" );
|
|
add_name( "singapore_police", "Ong" );
|
|
add_name( "singapore_police", "Pan" );
|
|
add_name( "singapore_police", "Shi" );
|
|
add_name( "singapore_police", "Sim" );
|
|
add_name( "singapore_police", "Suen" );
|
|
add_name( "singapore_police", "Sun" );
|
|
add_name( "singapore_police", "Tan" );
|
|
add_name( "singapore_police", "Tay" );
|
|
add_name( "singapore_police", "Teo" );
|
|
add_name( "singapore_police", "Toh" );
|
|
add_name( "singapore_police", "Tuan" );
|
|
add_name( "singapore_police", "Wong" );
|
|
add_name( "singapore_police", "Wu" );
|
|
add_name( "singapore_police", "Xie" );
|
|
add_name( "singapore_police", "Yeo" );
|
|
add_name( "singapore_police", "Yu" );
|
|
add_name( "singapore_police", "Zhang" );
|
|
add_name( "singapore_police", "Zhao" );
|
|
add_name( "singapore_police", "Zhu" );
|
|
}
|
|
|
|
function russian_names()
|
|
{
|
|
add_name( "russian", "Avtamonov" );
|
|
add_name( "russian", "Barzilovich" );
|
|
add_name( "russian", "Blyakher" );
|
|
add_name( "russian", "Bulenkov" );
|
|
add_name( "russian", "Datsyuk" );
|
|
add_name( "russian", "Diakov" );
|
|
add_name( "russian", "Dvilyansky" );
|
|
add_name( "russian", "Dymarsky" );
|
|
add_name( "russian", "Fedorova" );
|
|
add_name( "russian", "Gerasimov" );
|
|
add_name( "russian", "Ilyin" );
|
|
add_name( "russian", "Ikonnikov" );
|
|
add_name( "russian", "Kosteltsev" );
|
|
add_name( "russian", "Krasilnikov" );
|
|
add_name( "russian", "Lukin" );
|
|
add_name( "russian", "Maximov" );
|
|
add_name( "russian", "Melnikov" );
|
|
add_name( "russian", "Nesterov" );
|
|
add_name( "russian", "Pelov" );
|
|
add_name( "russian", "Polubencev" );
|
|
add_name( "russian", "Pokrovsky" );
|
|
add_name( "russian", "Repin" );
|
|
add_name( "russian", "Romanenko" );
|
|
add_name( "russian", "Saslovsky" );
|
|
add_name( "russian", "Sidorenko" );
|
|
add_name( "russian", "Touevsky" );
|
|
add_name( "russian", "Vakhitov" );
|
|
add_name( "russian", "Yakubov");
|
|
add_name( "russian", "Yoslov");
|
|
add_name( "russian", "Zubarev");
|
|
|
|
// Friend Names
|
|
|
|
}
|
|
|
|
//-- BO2 new block
|
|
function agent_names()
|
|
{
|
|
add_name( "agent", "Bailey" );
|
|
add_name( "agent", "Campbell" );
|
|
add_name( "agent", "Collins" );
|
|
add_name( "agent", "Cook" );
|
|
add_name( "agent", "Cooper" );
|
|
add_name( "agent", "Edwards" );
|
|
add_name( "agent", "Evans" );
|
|
add_name( "agent", "Gray" );
|
|
add_name( "agent", "Howard" );
|
|
add_name( "agent", "Morgan" );
|
|
add_name( "agent", "Morris" );
|
|
add_name( "agent", "Murphy" );
|
|
add_name( "agent", "Phillips" );
|
|
add_name( "agent", "Rivera" );
|
|
add_name( "agent", "Roberts" );
|
|
add_name( "agent", "Rogers" );
|
|
add_name( "agent", "Stewart" );
|
|
add_name( "agent", "Torres" );
|
|
add_name( "agent", "Turner" );
|
|
add_name( "agent", "Ward" );
|
|
}
|
|
|
|
|
|
function chinese_names()
|
|
{
|
|
add_name( "chinese", "Chan" );
|
|
add_name( "chinese", "Cheng" );
|
|
add_name( "chinese", "Chiang" );
|
|
add_name( "chinese", "Feng" );
|
|
add_name( "chinese", "Guan" );
|
|
add_name( "chinese", "Hu" );
|
|
add_name( "chinese", "Lai" );
|
|
add_name( "chinese", "Leung" );
|
|
add_name( "chinese", "Wu" );
|
|
add_name( "chinese", "Zheng" );
|
|
}
|
|
|
|
function navy_names()
|
|
{
|
|
add_name( "navy", "Buckner" );
|
|
add_name( "navy", "Coffey" );
|
|
add_name( "navy", "Dashnaw" );
|
|
add_name( "navy", "Dobson" );
|
|
add_name( "navy", "Frank" );
|
|
add_name( "navy", "Frey" );
|
|
add_name( "navy", "Howe" );
|
|
add_name( "navy", "Johns" );
|
|
add_name( "navy", "Lee" );
|
|
add_name( "navy", "Lockhart" );
|
|
add_name( "navy", "Moon" );
|
|
add_name( "navy", "Paiser" );
|
|
add_name( "navy", "Preston" );
|
|
add_name( "navy", "Reyes" );
|
|
add_name( "navy", "Slater" );
|
|
add_name( "navy", "Waller" );
|
|
add_name( "navy", "Wong" );
|
|
add_name( "navy", "Velasquez" );
|
|
add_name( "navy", "York" );
|
|
}
|
|
|
|
function police_names()
|
|
{
|
|
add_name( "police", "Anderson" );
|
|
add_name( "police", "Brown" );
|
|
add_name( "police", "Davis" );
|
|
add_name( "police", "Garcia" );
|
|
add_name( "police", "Harris" );
|
|
add_name( "police", "Jackson" );
|
|
add_name( "police", "Johnson" );
|
|
add_name( "police", "Jones" );
|
|
add_name( "police", "Martin" );
|
|
add_name( "police", "Martinez" );
|
|
add_name( "police", "Miller" );
|
|
add_name( "police", "Moore" );
|
|
add_name( "police", "Robinson" );
|
|
add_name( "police", "Smith" );
|
|
add_name( "police", "Taylor" );
|
|
add_name( "police", "Thomas" );
|
|
add_name( "police", "Thompson" );
|
|
add_name( "police", "White" );
|
|
add_name( "police", "Williams" );
|
|
add_name( "police", "Wilson" );
|
|
}
|
|
|
|
function security_names()
|
|
{
|
|
add_name( "security", "Anderson" );
|
|
add_name( "security", "Brown" );
|
|
add_name( "security", "Davis" );
|
|
add_name( "security", "Garcia" );
|
|
add_name( "security", "Harris" );
|
|
add_name( "security", "Jackson" );
|
|
add_name( "security", "Johnson" );
|
|
add_name( "security", "Jones" );
|
|
add_name( "security", "Martin" );
|
|
add_name( "security", "Martinez" );
|
|
add_name( "security", "Miller" );
|
|
add_name( "security", "Moore" );
|
|
add_name( "security", "Robinson" );
|
|
add_name( "security", "Smith" );
|
|
add_name( "security", "Taylor" );
|
|
add_name( "security", "Thomas" );
|
|
add_name( "security", "Thompson" );
|
|
add_name( "security", "White" );
|
|
add_name( "security", "Williams" );
|
|
add_name( "security", "Wilson" );
|
|
}
|
|
|
|
function seal_names()
|
|
{
|
|
add_name( "seal", "Adams" );
|
|
add_name( "seal", "Carter" );
|
|
add_name( "seal", "Gonzalez" );
|
|
add_name( "seal", "Green" );
|
|
add_name( "seal", "Hall" );
|
|
add_name( "seal", "Hill" );
|
|
add_name( "seal", "Hernandez" );
|
|
add_name( "seal", "King" );
|
|
add_name( "seal", "Lee" );
|
|
add_name( "seal", "Lewis" );
|
|
add_name( "seal", "Lopez" );
|
|
add_name( "seal", "Maestas" );
|
|
add_name( "seal", "Mitchell" );
|
|
add_name( "seal", "Nelson" );
|
|
add_name( "seal", "Rodriguez" );
|
|
add_name( "seal", "Scott" );
|
|
add_name( "seal", "Walker" );
|
|
add_name( "seal", "Weichert" );
|
|
add_name( "seal", "Wright" );
|
|
add_name( "seal", "Young" );
|
|
}
|
|
|
|
//Begin name functions
|
|
|
|
function add_name( nationality, thename )
|
|
{
|
|
level.names[nationality][level.names[nationality].size] = thename;
|
|
}
|
|
|
|
function randomize_name_list( nationality )
|
|
{
|
|
size = level.names[nationality].size;
|
|
for( i = 0; i < size; i++ )
|
|
{
|
|
switchwith = RandomInt( size );
|
|
temp = level.names[nationality][i];
|
|
level.names[nationality][i] = level.names[nationality][switchwith];
|
|
level.names[nationality][switchwith] = temp;
|
|
}
|
|
}
|
|
|
|
function get( override )
|
|
{
|
|
if( !isdefined( override ) && level.script == "credits" )
|
|
{
|
|
self.airank = "private";
|
|
self notify( "set name and rank" );
|
|
return;
|
|
}
|
|
|
|
if( isdefined( self.script_friendname ) )
|
|
{
|
|
if( self.script_friendname == "none" )
|
|
{
|
|
self.properName = "";
|
|
}
|
|
else
|
|
{
|
|
self.properName = self.script_friendname;
|
|
getRankFromName( self.properName );
|
|
}
|
|
self notify( "set name and rank" );
|
|
return;
|
|
}
|
|
|
|
assert( isdefined( level.names ) );
|
|
|
|
str_classname = self get_ai_classname();
|
|
str_nationality = "american";//Default nationality
|
|
|
|
if( IsSubStr( str_classname, "_civilian_" ) )//Civilian
|
|
{
|
|
self.airank = "none";
|
|
str_nationality = "civilian";
|
|
}
|
|
else if( self is_special_agent_member(str_classname) )//Special Agent
|
|
{
|
|
str_nationality = "agent";
|
|
}
|
|
else if( IsSubStr( str_classname, "_sco_" ) ) //Chinese
|
|
{
|
|
self.airank = "none";
|
|
str_nationality = "chinese";
|
|
}
|
|
else if( IsSubStr( str_classname, "_egypt_" ) ) //Egyptian
|
|
{
|
|
str_nationality = "egyptian";
|
|
}
|
|
else if( self is_police_member(str_classname) )//Police
|
|
{
|
|
str_nationality = "police";
|
|
}
|
|
else if( self is_seal_member(str_classname) )//SEAL
|
|
{
|
|
str_nationality = "seal";
|
|
}
|
|
else if( self is_navy_member(str_classname) )//NAVY
|
|
{
|
|
str_nationality = "navy";
|
|
}
|
|
else if ( self is_security_member( str_classname ) )
|
|
{
|
|
str_nationality = "security";
|
|
}
|
|
else if( IsSubStr( str_classname, "_soviet_" ))//Russian
|
|
{
|
|
self.airank = "none";
|
|
str_nationality = "russian";
|
|
}
|
|
else if( IsSubStr( str_classname, "_ally_sing_" ))//Singapore Police
|
|
{
|
|
str_nationality = "singapore_police";
|
|
}
|
|
|
|
initialize_nationality( str_nationality );
|
|
get_name_for_nationality( str_nationality );//Defaults to 'American'
|
|
|
|
self notify( "set name and rank" );
|
|
}
|
|
|
|
function get_ai_classname()
|
|
{
|
|
if( isdefined( self.dr_ai_classname ) )
|
|
{
|
|
str_classname = tolower( self.dr_ai_classname );
|
|
}
|
|
else
|
|
{
|
|
str_classname = tolower( self.classname );
|
|
}
|
|
|
|
return str_classname;
|
|
}
|
|
|
|
function add_override_name_func(nationality, func)
|
|
{
|
|
if( !isdefined(level._override_name_funcs) )
|
|
{
|
|
level._override_name_funcs = [];
|
|
}
|
|
|
|
assert( !isdefined(level._override_name_funcs[nationality]), "Setting a name override function twice.");
|
|
|
|
level._override_name_funcs[nationality] = func;
|
|
}
|
|
|
|
function get_name_for_nationality( nationality )
|
|
{
|
|
assert( isdefined( level.nameIndex[nationality] ), nationality );
|
|
|
|
//kdrew 6/1/2010 - Added overloading name functions for nationalities
|
|
if( isdefined( level._override_name_funcs) && isdefined( level._override_name_funcs[nationality] ) )
|
|
{
|
|
self.properName = [[ level._override_name_funcs[nationality] ]]();
|
|
|
|
//a rank must be assigned for squadmanager
|
|
self.airank = "";
|
|
|
|
return;
|
|
}
|
|
|
|
if( nationality == "civilian" )
|
|
{
|
|
self.properName = "";
|
|
return;
|
|
}
|
|
|
|
level.nameIndex[nationality] = ( level.nameIndex[nationality] + 1 ) % level.names[nationality].size;
|
|
lastname = level.names[nationality][level.nameIndex[nationality]];
|
|
|
|
if(!isdefined(lastname))
|
|
{
|
|
lastname = "";
|
|
}
|
|
|
|
if (isdefined(level._override_rank_func))
|
|
{
|
|
self [[level._override_rank_func]](lastname);
|
|
}
|
|
else if( isdefined(self.airank) && self.airank == "none")
|
|
{
|
|
self.properName = lastname;
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
rank = RandomInt( 100 );
|
|
|
|
if ( nationality == "seal" )
|
|
{
|
|
if( rank > 20 )
|
|
{
|
|
fullname = "PO " + lastname;
|
|
self.airank = "petty officer";
|
|
}
|
|
else if( rank > 10 )
|
|
{
|
|
fullname = "CPO " + lastname;
|
|
self.airank = "chief petty officer";
|
|
}
|
|
else
|
|
{
|
|
fullname = "Lt. " + lastname;
|
|
self.airank = "lieutenant";
|
|
}
|
|
}
|
|
else if ( nationality == "navy" )
|
|
{
|
|
if( rank > 60 )
|
|
{
|
|
fullname = "SN " + lastname;
|
|
self.airank = "seaman";
|
|
}
|
|
else if( rank > 20 )
|
|
{
|
|
fullname = "PO " + lastname;
|
|
self.airank = "petty officer";
|
|
}
|
|
else
|
|
{
|
|
fullname = "CPO " + lastname;
|
|
self.airank = "chief petty officer";
|
|
}
|
|
}
|
|
else if ( nationality == "police" )
|
|
{
|
|
fullname = "Officer " + lastname;
|
|
self.airank = "police officer";
|
|
}
|
|
else if ( nationality == "agent" )
|
|
{
|
|
fullname = "Agent " + lastname;
|
|
self.airank = "special agent";
|
|
}
|
|
else if ( nationality == "security" )
|
|
{
|
|
fullname = "Officer " + lastname;
|
|
}
|
|
else if ( nationality == "singapore_police" )
|
|
{
|
|
fullname = "Officer " + lastname;
|
|
self.airank = "police officer";
|
|
}
|
|
else //catch all for remaining for now so script doesn't break on new types
|
|
{
|
|
if( rank > 20 )
|
|
{
|
|
fullname = "Pvt. " + lastname;
|
|
self.airank = "private";
|
|
}
|
|
else if( rank > 10 )
|
|
{
|
|
fullname = "Cpl. " + lastname;
|
|
self.airank = "corporal";
|
|
}
|
|
else
|
|
{
|
|
fullname = "Sgt. " + lastname;
|
|
self.airank = "sergeant";
|
|
}
|
|
}
|
|
|
|
/* if( self.team == "axis" )
|
|
{
|
|
self.ainame = fullname;
|
|
}
|
|
else
|
|
{
|
|
self.properName = fullname;
|
|
}*/
|
|
|
|
self.properName = fullname;
|
|
}
|
|
}
|
|
|
|
function is_seal_member(str_classname)
|
|
{
|
|
if( IsSubStr( str_classname, "_seal_" ) )
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function is_navy_member(str_classname)
|
|
{
|
|
if( IsSubStr( str_classname, "_navy_" ) )
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function is_police_member(str_classname)
|
|
{
|
|
if( IsSubStr( str_classname, "_lapd_" ) || IsSubStr( str_classname, "_swat_" ) )
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function is_security_member( str_classname )
|
|
{
|
|
if( IsSubStr( str_classname, "_security_" ) )
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function is_special_agent_member(str_classname)
|
|
{
|
|
if( IsSubStr( str_classname, "_sstactical_" ) )
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function getRankFromName( name )
|
|
{
|
|
if( !isdefined( name ) )
|
|
{
|
|
self.airank = ( "private" );
|
|
}
|
|
|
|
tokens = Strtok( name, " " );
|
|
assert( tokens.size );
|
|
shortRank = tokens[0];
|
|
|
|
switch( shortRank )
|
|
{
|
|
case "Pvt.":
|
|
self.airank = "private";
|
|
break;
|
|
case "Pfc.":
|
|
self.airank = "private";
|
|
break;
|
|
case "Cpl.":
|
|
self.airank = "corporal";
|
|
break;
|
|
case "Sgt.":
|
|
self.airank = "sergeant";
|
|
break;
|
|
case "Lt.":
|
|
self.airank = "lieutenant";
|
|
break;
|
|
case "Cpt.":
|
|
self.airank = "captain";
|
|
break;
|
|
default:
|
|
/#println( "sentient has invalid rank " + shortRank + "!" ); #/
|
|
self.airank = "private";
|
|
break;
|
|
}
|
|
}
|
|
|
|
function issubstr_match_any( str_match, str_search_array)
|
|
{
|
|
assert( str_search_array.size, "String array is empty" );
|
|
|
|
foreach( str_search in str_search_array )
|
|
{
|
|
if( IsSubStr( str_match, str_search ) )
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|