‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
name_shared.gsc
Go to the documentation of this file.
1 #insert scripts\shared\shared.gsh;
2 
3 #namespace name;
4 
5 function ‪setup()
6 {
7  assert( !isdefined( level.names ) );
8 
9  //Init arrays
10  level.names = [];
11  level.namesIndex = [];
12 
13  if( !isdefined( level.script ) )
14  {
15  level.script = toLower( GetDvarString( "mapname" ) );
16  }
17 
18  //Setup default names list
19  ‪initialize_nationality( "american" );
20 }
21 
22 function ‪initialize_nationality( str_nationality )
23 {
24  //Check if the nationality list has been created yet. If not, make it now
25  if( !isdefined(level.names[str_nationality] ) )
26  {
27  level.names[str_nationality] = [];
28 
29  if( str_nationality != "civilian" )
30  {
31  ‪add_nationality_names( str_nationality );
32  }
33 
34  ‪randomize_name_list( str_nationality );
35  level.nameIndex[str_nationality] = 0;
36  }
37 }
38 
39 function ‪add_nationality_names( str_nationality )
40 {
41  switch( str_nationality )
42  {
43  case "american":
45  break;
46 
47  case "chinese":
49  break;
50 
51  case "egyptian":
53  break;
54 
55  case "russian":
57  break;
58 
59  case "agent":
61  break;
62 
63  case "police":
65  break;
66 
67  case "seal":
68  ‪seal_names();
69  break;
70 
71  case "navy":
72  ‪navy_names();
73  break;
74 
75  case "security":
77  break;
78 
79  case "singapore_police":
81  break;
82 
83  default:
84  AssertMsg("Name list does not exist for " + str_nationality);
85  break;
86  }
87 }
88 
90 {
91  // Generic Names
92  ‪add_name( "american", "Adams" );
93  ‪add_name( "american", "Alexander" );
94  ‪add_name( "american", "Allen" );
95  ‪add_name( "american", "Anderson" );
96  ‪add_name( "american", "Bailey" );
97  ‪add_name( "american", "Baker" );
98  ‪add_name( "american", "Barnes" );
99  ‪add_name( "american", "Bell" );
100  ‪add_name( "american", "Bennett" );
101  ‪add_name( "american", "Brooks" );
102  ‪add_name( "american", "Brown" );
103  ‪add_name( "american", "Bryant" );
104  ‪add_name( "american", "Butler" );
105  ‪add_name( "american", "Campbell" );
106  ‪add_name( "american", "Carter" );
107  ‪add_name( "american", "Clark" );
108  ‪add_name( "american", "Coleman" );
109  ‪add_name( "american", "Collins" );
110  ‪add_name( "american", "Cook" );
111  ‪add_name( "american", "Cooper" );
112  ‪add_name( "american", "Cox" );
113  ‪add_name( "american", "Davis" );
114  ‪add_name( "american", "Diaz" );
115  ‪add_name( "american", "Edwards" );
116  ‪add_name( "american", "Evans" );
117  ‪add_name( "american", "Flores" );
118  ‪add_name( "american", "Foster" );
119  ‪add_name( "american", "Garcia" );
120  ‪add_name( "american", "Gonzales" );
121  ‪add_name( "american", "Gonzalez" );
122  ‪add_name( "american", "Gray" );
123  ‪add_name( "american", "Green" );
124  ‪add_name( "american", "Griffin" );
125  ‪add_name( "american", "Hall" );
126  ‪add_name( "american", "Harris" );
127  ‪add_name( "american", "Hayes" );
128  ‪add_name( "american", "Henderson" );
129  ‪add_name( "american", "Hernandez" );
130  ‪add_name( "american", "Hill" );
131  ‪add_name( "american", "Howard" );
132  ‪add_name( "american", "Hughes" );
133  ‪add_name( "american", "Jackson" );
134  ‪add_name( "american", "James" );
135  ‪add_name( "american", "Jenkins" );
136  ‪add_name( "american", "Johnson" );
137  ‪add_name( "american", "Jones" );
138  ‪add_name( "american", "Kelly" );
139  ‪add_name( "american", "King" );
140  ‪add_name( "american", "Lee" );
141  ‪add_name( "american", "Lewis" );
142  ‪add_name( "american", "Long" );
143  ‪add_name( "american", "Lopez" );
144  ‪add_name( "american", "Martin" );
145  ‪add_name( "american", "Martinez" );
146  ‪add_name( "american", "Miller" );
147  ‪add_name( "american", "Mitchell" );
148  ‪add_name( "american", "Moore" );
149  ‪add_name( "american", "Morgan" );
150  ‪add_name( "american", "Morris" );
151  ‪add_name( "american", "Murphy" );
152  ‪add_name( "american", "Nelson" );
153  ‪add_name( "american", "Parker" );
154  ‪add_name( "american", "Patterson" );
155  ‪add_name( "american", "Perez" );
156  ‪add_name( "american", "Perry" );
157  ‪add_name( "american", "Peterson" );
158  ‪add_name( "american", "Phillips" );
159  ‪add_name( "american", "Powell" );
160  ‪add_name( "american", "Price" );
161  ‪add_name( "american", "Ramirez" );
162  ‪add_name( "american", "Reed" );
163  ‪add_name( "american", "Richardson" );
164  ‪add_name( "american", "Rivera" );
165  ‪add_name( "american", "Roberts" );
166  ‪add_name( "american", "Robinson" );
167  ‪add_name( "american", "Rodriguez" );
168  ‪add_name( "american", "Rogers" );
169  ‪add_name( "american", "Ross" );
170  ‪add_name( "american", "Russell" );
171  ‪add_name( "american", "Sanchez" );
172  ‪add_name( "american", "Sanders" );
173  ‪add_name( "american", "Scott" );
174  ‪add_name( "american", "Simmons" );
175  ‪add_name( "american", "Smith" );
176  ‪add_name( "american", "Stewart" );
177  ‪add_name( "american", "Taylor" );
178  ‪add_name( "american", "Thomas" );
179  ‪add_name( "american", "Thompson" );
180  ‪add_name( "american", "Torres" );
181  ‪add_name( "american", "Turner" );
182  ‪add_name( "american", "Walker" );
183  ‪add_name( "american", "Ward" );
184  ‪add_name( "american", "Washington" );
185  ‪add_name( "american", "Watson" );
186  ‪add_name( "american", "White" );
187  ‪add_name( "american", "Williams" );
188  ‪add_name( "american", "Wilson" );
189  ‪add_name( "american", "Wood" );
190  ‪add_name( "american", "Wright" );
191  ‪add_name( "american", "Young" );
192 
193  // DevTeam Names:
194 
195  // Publisher Names:
196 
197  // Friend Names:
198 }
199 
201 {
202  ‪add_name( "egyptian", "Ababneh" );
203  ‪add_name( "egyptian", "Abba" );
204  ‪add_name( "egyptian", "Abbas" );
205  ‪add_name( "egyptian", "Abdel" );
206  ‪add_name( "egyptian", "Abdellah" );
207  ‪add_name( "egyptian", "Abdul" );
208  ‪add_name( "egyptian", "Abdulah" );
209  ‪add_name( "egyptian", "Abdullah" );
210  ‪add_name( "egyptian", "Abolhassan" );
211  ‪add_name( "egyptian", "Ahmad" );
212  ‪add_name( "egyptian", "Ahmed" );
213  ‪add_name( "egyptian", "Alam" );
214  ‪add_name( "egyptian", "Ali" );
215  ‪add_name( "egyptian", "Ameen" );
216  ‪add_name( "egyptian", "Amin" );
217  ‪add_name( "egyptian", "Armanjani" );
218  ‪add_name( "egyptian", "Awad" );
219  ‪add_name( "egyptian", "Ayasha" );
220  ‪add_name( "egyptian", "Aziz" );
221  ‪add_name( "egyptian", "Bari" );
222  ‪add_name( "egyptian", "Essa" );
223  ‪add_name( "egyptian", "Habib" );
224  ‪add_name( "egyptian", "Hadad" );
225  ‪add_name( "egyptian", "Haddad" );
226  ‪add_name( "egyptian", "Hamdan" );
227  ‪add_name( "egyptian", "Hamid" );
228  ‪add_name( "egyptian", "Hana" );
229  ‪add_name( "egyptian", "Hanna" );
230  ‪add_name( "egyptian", "Hasan" );
231  ‪add_name( "egyptian", "Hassan" );
232  ‪add_name( "egyptian", "Hossein" );
233  ‪add_name( "egyptian", "Hussain" );
234  ‪add_name( "egyptian", "Ibraheem" );
235  ‪add_name( "egyptian", "Ibrahim" );
236  ‪add_name( "egyptian", "Isa" );
237  ‪add_name( "egyptian", "Ismail" );
238  ‪add_name( "egyptian", "Issa" );
239  ‪add_name( "egyptian", "Jaber" );
240  ‪add_name( "egyptian", "Jabir" );
241  ‪add_name( "egyptian", "Karim" );
242  ‪add_name( "egyptian", "Khatib" );
243  ‪add_name( "egyptian", "Khoury" );
244  ‪add_name( "egyptian", "Mahmad" );
245  ‪add_name( "egyptian", "Mahmood" );
246  ‪add_name( "egyptian", "Mahmoud" );
247  ‪add_name( "egyptian", "Malik" );
248  ‪add_name( "egyptian", "Mansoor" );
249  ‪add_name( "egyptian", "Mansour" );
250  ‪add_name( "egyptian", "Mazin" );
251  ‪add_name( "egyptian", "Mousa" );
252  ‪add_name( "egyptian", "Murat" );
253  ‪add_name( "egyptian", "Musa" );
254  ‪add_name( "egyptian", "Mustafa" );
255  ‪add_name( "egyptian", "Najeeb" );
256  ‪add_name( "egyptian", "Najjar" );
257  ‪add_name( "egyptian", "Naser" );
258  ‪add_name( "egyptian", "Nasser" );
259  ‪add_name( "egyptian", "Omar" );
260  ‪add_name( "egyptian", "Omer" );
261  ‪add_name( "egyptian", "Ommar" );
262  ‪add_name( "egyptian", "Qasem" );
263  ‪add_name( "egyptian", "Qasim" );
264  ‪add_name( "egyptian", "Qassem" );
265  ‪add_name( "egyptian", "Rahman" );
266  ‪add_name( "egyptian", "Rasheed" );
267  ‪add_name( "egyptian", "Rashid" );
268  ‪add_name( "egyptian", "Saad" );
269  ‪add_name( "egyptian", "Sad" );
270  ‪add_name( "egyptian", "Salah" );
271  ‪add_name( "egyptian", "Saleh" );
272  ‪add_name( "egyptian", "Salih" );
273  ‪add_name( "egyptian", "Salman" );
274  ‪add_name( "egyptian", "Sam" );
275  ‪add_name( "egyptian", "Shadi" );
276  ‪add_name( "egyptian", "Shaheen" );
277  ‪add_name( "egyptian", "Shahriar" );
278  ‪add_name( "egyptian", "Shareef" );
279  ‪add_name( "egyptian", "Sharif" );
280  ‪add_name( "egyptian", "Sleiman" );
281  ‪add_name( "egyptian", "Sulaiman" );
282  ‪add_name( "egyptian", "Sulayman" );
283  ‪add_name( "egyptian", "Temiz" );
284  ‪add_name( "egyptian", "Turk" );
285  ‪add_name( "egyptian", "Yaseen" );
286  ‪add_name( "egyptian", "Yousef" );
287  ‪add_name( "egyptian", "Yousif" );
288 }
289 
291 {
292  ‪add_name( "singapore_police", "Ang" );
293  ‪add_name( "singapore_police", "Chan" );
294  ‪add_name( "singapore_police", "Chen" );
295  ‪add_name( "singapore_police", "Chia" );
296  ‪add_name( "singapore_police", "Chong" );
297  ‪add_name( "singapore_police", "Chua" );
298  ‪add_name( "singapore_police", "Feng" );
299  ‪add_name( "singapore_police", "He" );
300  ‪add_name( "singapore_police", "Ho" );
301  ‪add_name( "singapore_police", "Jau" );
302  ‪add_name( "singapore_police", "Kao" );
303  ‪add_name( "singapore_police", "Kiu" );
304  ‪add_name( "singapore_police", "Koh" );
305  ‪add_name( "singapore_police", "Lee" );
306  ‪add_name( "singapore_police", "Liang" );
307  ‪add_name( "singapore_police", "Lim" );
308  ‪add_name( "singapore_police", "Low" );
309  ‪add_name( "singapore_police", "Lu" );
310  ‪add_name( "singapore_police", "Ma" );
311  ‪add_name( "singapore_police", "Meng" );
312  ‪add_name( "singapore_police", "Ng" );
313  ‪add_name( "singapore_police", "Ong" );
314  ‪add_name( "singapore_police", "Pan" );
315  ‪add_name( "singapore_police", "Shi" );
316  ‪add_name( "singapore_police", "Sim" );
317  ‪add_name( "singapore_police", "Suen" );
318  ‪add_name( "singapore_police", "Sun" );
319  ‪add_name( "singapore_police", "Tan" );
320  ‪add_name( "singapore_police", "Tay" );
321  ‪add_name( "singapore_police", "Teo" );
322  ‪add_name( "singapore_police", "Toh" );
323  ‪add_name( "singapore_police", "Tuan" );
324  ‪add_name( "singapore_police", "Wong" );
325  ‪add_name( "singapore_police", "Wu" );
326  ‪add_name( "singapore_police", "Xie" );
327  ‪add_name( "singapore_police", "Yeo" );
328  ‪add_name( "singapore_police", "Yu" );
329  ‪add_name( "singapore_police", "Zhang" );
330  ‪add_name( "singapore_police", "Zhao" );
331  ‪add_name( "singapore_police", "Zhu" );
332 }
333 
335 {
336  ‪add_name( "russian", "Avtamonov" );
337  ‪add_name( "russian", "Barzilovich" );
338  ‪add_name( "russian", "Blyakher" );
339  ‪add_name( "russian", "Bulenkov" );
340  ‪add_name( "russian", "Datsyuk" );
341  ‪add_name( "russian", "Diakov" );
342  ‪add_name( "russian", "Dvilyansky" );
343  ‪add_name( "russian", "Dymarsky" );
344  ‪add_name( "russian", "Fedorova" );
345  ‪add_name( "russian", "Gerasimov" );
346  ‪add_name( "russian", "Ilyin" );
347  ‪add_name( "russian", "Ikonnikov" );
348  ‪add_name( "russian", "Kosteltsev" );
349  ‪add_name( "russian", "Krasilnikov" );
350  ‪add_name( "russian", "Lukin" );
351  ‪add_name( "russian", "Maximov" );
352  ‪add_name( "russian", "Melnikov" );
353  ‪add_name( "russian", "Nesterov" );
354  ‪add_name( "russian", "Pelov" );
355  ‪add_name( "russian", "Polubencev" );
356  ‪add_name( "russian", "Pokrovsky" );
357  ‪add_name( "russian", "Repin" );
358  ‪add_name( "russian", "Romanenko" );
359  ‪add_name( "russian", "Saslovsky" );
360  ‪add_name( "russian", "Sidorenko" );
361  ‪add_name( "russian", "Touevsky" );
362  ‪add_name( "russian", "Vakhitov" );
363  ‪add_name( "russian", "Yakubov");
364  ‪add_name( "russian", "Yoslov");
365  ‪add_name( "russian", "Zubarev");
366 
367  // Friend Names
368 
369 }
370 
371 //-- BO2 new block
372 function ‪agent_names()
373 {
374  ‪add_name( "agent", "Bailey" );
375  ‪add_name( "agent", "Campbell" );
376  ‪add_name( "agent", "Collins" );
377  ‪add_name( "agent", "Cook" );
378  ‪add_name( "agent", "Cooper" );
379  ‪add_name( "agent", "Edwards" );
380  ‪add_name( "agent", "Evans" );
381  ‪add_name( "agent", "Gray" );
382  ‪add_name( "agent", "Howard" );
383  ‪add_name( "agent", "Morgan" );
384  ‪add_name( "agent", "Morris" );
385  ‪add_name( "agent", "Murphy" );
386  ‪add_name( "agent", "Phillips" );
387  ‪add_name( "agent", "Rivera" );
388  ‪add_name( "agent", "Roberts" );
389  ‪add_name( "agent", "Rogers" );
390  ‪add_name( "agent", "Stewart" );
391  ‪add_name( "agent", "Torres" );
392  ‪add_name( "agent", "Turner" );
393  ‪add_name( "agent", "Ward" );
394 }
395 
396 
398 {
399  ‪add_name( "chinese", "Chan" );
400  ‪add_name( "chinese", "Cheng" );
401  ‪add_name( "chinese", "Chiang" );
402  ‪add_name( "chinese", "Feng" );
403  ‪add_name( "chinese", "Guan" );
404  ‪add_name( "chinese", "Hu" );
405  ‪add_name( "chinese", "Lai" );
406  ‪add_name( "chinese", "Leung" );
407  ‪add_name( "chinese", "Wu" );
408  ‪add_name( "chinese", "Zheng" );
409 }
410 
411 function ‪navy_names()
412 {
413  ‪add_name( "navy", "Buckner" );
414  ‪add_name( "navy", "Coffey" );
415  ‪add_name( "navy", "Dashnaw" );
416  ‪add_name( "navy", "Dobson" );
417  ‪add_name( "navy", "Frank" );
418  ‪add_name( "navy", "Frey" );
419  ‪add_name( "navy", "Howe" );
420  ‪add_name( "navy", "Johns" );
421  ‪add_name( "navy", "Lee" );
422  ‪add_name( "navy", "Lockhart" );
423  ‪add_name( "navy", "Moon" );
424  ‪add_name( "navy", "Paiser" );
425  ‪add_name( "navy", "Preston" );
426  ‪add_name( "navy", "Reyes" );
427  ‪add_name( "navy", "Slater" );
428  ‪add_name( "navy", "Waller" );
429  ‪add_name( "navy", "Wong" );
430  ‪add_name( "navy", "Velasquez" );
431  ‪add_name( "navy", "York" );
432 }
433 
434 function ‪police_names()
435 {
436  ‪add_name( "police", "Anderson" );
437  ‪add_name( "police", "Brown" );
438  ‪add_name( "police", "Davis" );
439  ‪add_name( "police", "Garcia" );
440  ‪add_name( "police", "Harris" );
441  ‪add_name( "police", "Jackson" );
442  ‪add_name( "police", "Johnson" );
443  ‪add_name( "police", "Jones" );
444  ‪add_name( "police", "Martin" );
445  ‪add_name( "police", "Martinez" );
446  ‪add_name( "police", "Miller" );
447  ‪add_name( "police", "Moore" );
448  ‪add_name( "police", "Robinson" );
449  ‪add_name( "police", "Smith" );
450  ‪add_name( "police", "Taylor" );
451  ‪add_name( "police", "Thomas" );
452  ‪add_name( "police", "Thompson" );
453  ‪add_name( "police", "White" );
454  ‪add_name( "police", "Williams" );
455  ‪add_name( "police", "Wilson" );
456 }
457 
459 {
460  ‪add_name( "security", "Anderson" );
461  ‪add_name( "security", "Brown" );
462  ‪add_name( "security", "Davis" );
463  ‪add_name( "security", "Garcia" );
464  ‪add_name( "security", "Harris" );
465  ‪add_name( "security", "Jackson" );
466  ‪add_name( "security", "Johnson" );
467  ‪add_name( "security", "Jones" );
468  ‪add_name( "security", "Martin" );
469  ‪add_name( "security", "Martinez" );
470  ‪add_name( "security", "Miller" );
471  ‪add_name( "security", "Moore" );
472  ‪add_name( "security", "Robinson" );
473  ‪add_name( "security", "Smith" );
474  ‪add_name( "security", "Taylor" );
475  ‪add_name( "security", "Thomas" );
476  ‪add_name( "security", "Thompson" );
477  ‪add_name( "security", "White" );
478  ‪add_name( "security", "Williams" );
479  ‪add_name( "security", "Wilson" );
480 }
481 
482 function ‪seal_names()
483 {
484  ‪add_name( "seal", "Adams" );
485  ‪add_name( "seal", "Carter" );
486  ‪add_name( "seal", "Gonzalez" );
487  ‪add_name( "seal", "Green" );
488  ‪add_name( "seal", "Hall" );
489  ‪add_name( "seal", "Hill" );
490  ‪add_name( "seal", "Hernandez" );
491  ‪add_name( "seal", "King" );
492  ‪add_name( "seal", "Lee" );
493  ‪add_name( "seal", "Lewis" );
494  ‪add_name( "seal", "Lopez" );
495  ‪add_name( "seal", "Maestas" );
496  ‪add_name( "seal", "Mitchell" );
497  ‪add_name( "seal", "Nelson" );
498  ‪add_name( "seal", "Rodriguez" );
499  ‪add_name( "seal", "Scott" );
500  ‪add_name( "seal", "Walker" );
501  ‪add_name( "seal", "Weichert" );
502  ‪add_name( "seal", "Wright" );
503  ‪add_name( "seal", "Young" );
504 }
505 
506 //Begin name functions
507 
508 function ‪add_name( nationality, thename )
509 {
510  level.names[nationality][level.names[nationality].size] = thename;
511 }
512 
513 function ‪randomize_name_list( nationality )
514 {
515  size = level.names[nationality].size;
516  for( i = 0; i < size; i++ )
517  {
518  switchwith = RandomInt( size );
519  temp = level.names[nationality][i];
520  level.names[nationality][i] = level.names[nationality][switchwith];
521  level.names[nationality][switchwith] = temp;
522  }
523 }
524 
525 function ‪get( override )
526 {
527  if( !isdefined( override ) && level.script == "credits" )
528  {
529  self.airank = "private";
530  self notify( "set name and rank" );
531  return;
532  }
533 
534  if( isdefined( self.script_friendname ) )
535  {
536  if( self.script_friendname == "none" )
537  {
538  self.properName = "";
539  }
540  else
541  {
542  self.properName = self.script_friendname;
543  ‪getRankFromName( self.properName );
544  }
545  self notify( "set name and rank" );
546  return;
547  }
548 
549  assert( isdefined( level.names ) );
550 
551  str_classname = self ‪get_ai_classname();
552  str_nationality = "american";//Default nationality
553 
554  if( IsSubStr( str_classname, "_civilian_" ) )//Civilian
555  {
556  self.airank = "none";
557  str_nationality = "civilian";
558  }
559  else if( self ‪is_special_agent_member(str_classname) )//Special Agent
560  {
561  str_nationality = "agent";
562  }
563  else if( IsSubStr( str_classname, "_sco_" ) ) //Chinese
564  {
565  self.airank = "none";
566  str_nationality = "chinese";
567  }
568  else if( IsSubStr( str_classname, "_egypt_" ) ) //Egyptian
569  {
570  str_nationality = "egyptian";
571  }
572  else if( self ‪is_police_member(str_classname) )//Police
573  {
574  str_nationality = "police";
575  }
576  else if( self ‪is_seal_member(str_classname) )//SEAL
577  {
578  str_nationality = "seal";
579  }
580  else if( self ‪is_navy_member(str_classname) )//NAVY
581  {
582  str_nationality = "navy";
583  }
584  else if ( self ‪is_security_member( str_classname ) )
585  {
586  str_nationality = "security";
587  }
588  else if( IsSubStr( str_classname, "_soviet_" ))//Russian
589  {
590  self.airank = "none";
591  str_nationality = "russian";
592  }
593  else if( IsSubStr( str_classname, "_ally_sing_" ))//Singapore Police
594  {
595  str_nationality = "singapore_police";
596  }
597 
598  ‪initialize_nationality( str_nationality );
599  ‪get_name_for_nationality( str_nationality );//Defaults to 'American'
600 
601  self notify( "set name and rank" );
602 }
603 
605 {
606  if( isdefined( self.dr_ai_classname ) )
607  {
608  str_classname = tolower( self.dr_ai_classname );
609  }
610  else
611  {
612  str_classname = tolower( self.classname );
613  }
614 
615  return str_classname;
616 }
617 
618 function ‪add_override_name_func(nationality, func)
619 {
620  if( !isdefined(level._override_name_funcs) )
621  {
622  level._override_name_funcs = [];
623  }
624 
625  assert( !isdefined(level._override_name_funcs[nationality]), "Setting a name override function twice.");
626 
627  level._override_name_funcs[nationality] = func;
628 }
629 
630 function ‪get_name_for_nationality( nationality )
631 {
632  assert( isdefined( level.nameIndex[nationality] ), nationality );
633 
634  //kdrew 6/1/2010 - Added overloading name functions for nationalities
635  if( isdefined( level._override_name_funcs) && isdefined( level._override_name_funcs[nationality] ) )
636  {
637  self.properName = [[ level._override_name_funcs[nationality] ]]();
638 
639  //a rank must be assigned for squadmanager
640  self.airank = "";
641 
642  return;
643  }
644 
645  if( nationality == "civilian" )
646  {
647  self.properName = "";
648  return;
649  }
650 
651  level.nameIndex[nationality] = ( level.nameIndex[nationality] + 1 ) % level.names[nationality].size;
652  lastname = level.names[nationality][level.nameIndex[nationality]];
653 
654  if(!isdefined(lastname))
655  {
656  lastname = "";
657  }
658 
659  if (isdefined(level._override_rank_func))
660  {
661  self [[level._override_rank_func]](lastname);
662  }
663  else if( isdefined(self.airank) && self.airank == "none")
664  {
665  self.properName = lastname;
666  return;
667  }
668  else
669  {
670  rank = RandomInt( 100 );
671 
672  if ( nationality == "seal" )
673  {
674  if( rank > 20 )
675  {
676  fullname = "PO " + lastname;
677  self.airank = "petty officer";
678  }
679  else if( rank > 10 )
680  {
681  fullname = "CPO " + lastname;
682  self.airank = "chief petty officer";
683  }
684  else
685  {
686  fullname = "Lt. " + lastname;
687  self.airank = "lieutenant";
688  }
689  }
690  else if ( nationality == "navy" )
691  {
692  if( rank > 60 )
693  {
694  fullname = "SN " + lastname;
695  self.airank = "seaman";
696  }
697  else if( rank > 20 )
698  {
699  fullname = "PO " + lastname;
700  self.airank = "petty officer";
701  }
702  else
703  {
704  fullname = "CPO " + lastname;
705  self.airank = "chief petty officer";
706  }
707  }
708  else if ( nationality == "police" )
709  {
710  fullname = "Officer " + lastname;
711  self.airank = "police officer";
712  }
713  else if ( nationality == "agent" )
714  {
715  fullname = "Agent " + lastname;
716  self.airank = "special agent";
717  }
718  else if ( nationality == "security" )
719  {
720  fullname = "Officer " + lastname;
721  }
722  else if ( nationality == "singapore_police" )
723  {
724  fullname = "Officer " + lastname;
725  self.airank = "police officer";
726  }
727  else //catch all for remaining for now so script doesn't break on new types
728  {
729  if( rank > 20 )
730  {
731  fullname = "Pvt. " + lastname;
732  self.airank = "private";
733  }
734  else if( rank > 10 )
735  {
736  fullname = "Cpl. " + lastname;
737  self.airank = "corporal";
738  }
739  else
740  {
741  fullname = "Sgt. " + lastname;
742  self.airank = "sergeant";
743  }
744  }
745 
746  self.properName = fullname;
747  }
748 }
749 
750 function ‪is_seal_member(str_classname)
751 {
752  if( IsSubStr( str_classname, "_seal_" ) )
753  {
754  return true;
755  }
756  else
757  {
758  return false;
759  }
760 }
761 
762 function ‪is_navy_member(str_classname)
763 {
764  if( IsSubStr( str_classname, "_navy_" ) )
765  {
766  return true;
767  }
768  else
769  {
770  return false;
771  }
772 }
773 
774 function ‪is_police_member(str_classname)
775 {
776  if( IsSubStr( str_classname, "_lapd_" ) || IsSubStr( str_classname, "_swat_" ) )
777  {
778  return true;
779  }
780  else
781  {
782  return false;
783  }
784 }
785 
786 function ‪is_security_member( str_classname )
787 {
788  if( IsSubStr( str_classname, "_security_" ) )
789  {
790  return true;
791  }
792 
793  return false;
794 }
795 
796 function ‪is_special_agent_member(str_classname)
797 {
798  if( IsSubStr( str_classname, "_sstactical_" ) )
799  {
800  return true;
801  }
802  else
803  {
804  return false;
805  }
806 }
807 
809 {
810  if( !isdefined( ‪name ) )
811  {
812  self.airank = ( "private" );
813  }
814 
815  tokens = Strtok( ‪name, " " );
816  assert( tokens.size );
817  shortRank = tokens[0];
818 
819  switch( shortRank )
820  {
821  case "Pvt.":
822  self.airank = "private";
823  break;
824  case "Pfc.":
825  self.airank = "private";
826  break;
827  case "Cpl.":
828  self.airank = "corporal";
829  break;
830  case "Sgt.":
831  self.airank = "sergeant";
832  break;
833  case "Lt.":
834  self.airank = "lieutenant";
835  break;
836  case "Cpt.":
837  self.airank = "captain";
838  break;
839  default:
840  /#println( "sentient has invalid rank " + shortRank + "!" ); #/
841  self.airank = "private";
842  break;
843  }
844 }
845 
846 function ‪issubstr_match_any( str_match, str_search_array)
847 {
848  assert( str_search_array.size, "String array is empty" );
849 
850  foreach( str_search in str_search_array )
851  {
852  if( IsSubStr( str_match, str_search ) )
853  {
854  return true;
855  }
856  }
857  return false;
858 }
‪sing_police_names
‪function sing_police_names()
Definition: name_shared.gsc:290
‪add_name
‪function add_name(nationality, thename)
Definition: name_shared.gsc:508
‪get
‪function get(override)
Definition: name_shared.gsc:525
‪is_special_agent_member
‪function is_special_agent_member(str_classname)
Definition: name_shared.gsc:796
‪add_nationality_names
‪function add_nationality_names(str_nationality)
Definition: name_shared.gsc:39
‪is_seal_member
‪function is_seal_member(str_classname)
Definition: name_shared.gsc:750
‪russian_names
‪function russian_names()
Definition: name_shared.gsc:334
‪security_names
‪function security_names()
Definition: name_shared.gsc:458
‪get_name_for_nationality
‪function get_name_for_nationality(nationality)
Definition: name_shared.gsc:630
‪american_names
‪function american_names()
Definition: name_shared.gsc:89
‪is_security_member
‪function is_security_member(str_classname)
Definition: name_shared.gsc:786
‪initialize_nationality
‪function initialize_nationality(str_nationality)
Definition: name_shared.gsc:22
‪chinese_names
‪function chinese_names()
Definition: name_shared.gsc:397
‪is_police_member
‪function is_police_member(str_classname)
Definition: name_shared.gsc:774
‪add_override_name_func
‪function add_override_name_func(nationality, func)
Definition: name_shared.gsc:618
‪randomize_name_list
‪function randomize_name_list(nationality)
Definition: name_shared.gsc:513
‪is_navy_member
‪function is_navy_member(str_classname)
Definition: name_shared.gsc:762
‪egyptian_names
‪function egyptian_names()
Definition: name_shared.gsc:200
‪seal_names
‪function seal_names()
Definition: name_shared.gsc:482
‪get_ai_classname
‪function get_ai_classname()
Definition: name_shared.gsc:604
‪getRankFromName
‪function getRankFromName(name)
Definition: name_shared.gsc:808
‪police_names
‪function police_names()
Definition: name_shared.gsc:434
‪issubstr_match_any
‪function issubstr_match_any(str_match, str_search_array)
Definition: name_shared.gsc:846
‪name
‪class GroundFx name
‪agent_names
‪function agent_names()
Definition: name_shared.gsc:372
‪navy_names
‪function navy_names()
Definition: name_shared.gsc:411
‪setup
‪function setup()
Definition: name_shared.gsc:5