On Build 13 (at least on my version), search find :
hope that helps.
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Searching for 'OFFIC_TYPE'...
...\ PROGRAM \ Dialog_func.c (27) : #define OFFIC_TYPE_REGCAP "captain"
...\ PROGRAM \ Dialog_func.c (28) : #define OFFIC_TYPE_CAPMERCHANT "merchant captain"
...\ PROGRAM \ Dialog_func.c (29) : #define OFFIC_TYPE_CAPNAVY "navy captain"
...\ PROGRAM \ Dialog_func.c (30) : #define OFFIC_TYPE_CAPPIRATE "pirate captain"
...\ PROGRAM \ Dialog_func.c (31) : #define OFFIC_TYPE_RANDCHAR "fighter"
...\ PROGRAM \ Dialog_func.c (32) : #define OFFIC_TYPE_CIVILIAN "civilian"
...\ PROGRAM \ Dialog_func.c (34) : #define OFFIC_TYPE_BOATSWAIN "boatswain"
...\ PROGRAM \ Dialog_func.c (35) : #define OFFIC_TYPE_CANNONEER "cannoneer"
...\ PROGRAM \ Dialog_func.c (36) : #define OFFIC_TYPE_QMASTER "quartermaster"
...\ PROGRAM \ Dialog_func.c (37) : #define OFFIC_TYPE_NAVIGATOR "navigator"
...\ PROGRAM \ Dialog_func.c (38) : #define OFFIC_TYPE_FIRSTMATE "first mate"
...\ PROGRAM \ Dialog_func.c (40) : #define OFFIC_TYPE_CARPENTER "carpenter"
...\ PROGRAM \ Dialog_func.c (41) : #define OFFIC_TYPE_DOCTOR "doctor"
...\ PROGRAM \ Dialog_func.c (42) : #define OFFIC_TYPE_ABORDAGE "deck fighter"
...\ PROGRAM \ Dialog_func.c (932) : rCap1.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ Dialog_func.c (972) : rCap2.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ Dialog_func.c (1015) : rCap3.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ Dialog_func.c (1577) : case OFFIC_TYPE_FIRSTMATE: ofNum = 1; break;
...\ PROGRAM \ Dialog_func.c (1578) : case OFFIC_TYPE_BOATSWAIN: ofNum = 2; break;
...\ PROGRAM \ Dialog_func.c (1579) : case OFFIC_TYPE_NAVIGATOR: ofNum = 3; break;
...\ PROGRAM \ Dialog_func.c (1580) : //case OFFIC_TYPE_QMASTER: ofNum = 1; break;
...\ PROGRAM \ Dialog_func.c (1581) : //case OFFIC_TYPE_CANNONEER: ofNum = 2; break;
...\ PROGRAM \ Dialog_func.c (2267) : mr.quest.officertype = OFFIC_TYPE_CIVILIAN;
...\ PROGRAM \ Dialog_func.c (2380) : case "pirate": return OFFIC_TYPE_CAPPIRATE; break;
...\ PROGRAM \ Dialog_func.c (2381) : case "trade": return OFFIC_TYPE_CAPMERCHANT; break;
...\ PROGRAM \ Dialog_func.c (2382) : case "war": return OFFIC_TYPE_CAPNAVY; break;
...\ PROGRAM \ Dialog_func.c (2384) : return OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ Dialog_func.c (2447) : rCap1.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ Dialog_func.c (2487) : rCap2.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ NK.c (164) : case OFFIC_TYPE_NAVIGATOR:
...\ PROGRAM \ NK.c (205) : case OFFIC_TYPE_QMASTER:
...\ PROGRAM \ NK.c (246) : case OFFIC_TYPE_CANNONEER:
...\ PROGRAM \ NK.c (286) : case OFFIC_TYPE_CAPNAVY:
...\ PROGRAM \ Reinit.c (2346) : chr.quest.officertype = OFFIC_TYPE_FIRSTMATE;
...\ PROGRAM \ Reinit.c (2364) : chr.quest.officertype = OFFIC_TYPE_FIRSTMATE;
...\ PROGRAM \ Reinit.c (2587) : case 0: Fightincabin.quest.officertype = OFFIC_TYPE_BOATSWAIN; break;
...\ PROGRAM \ Reinit.c (2588) : case 1: Fightincabin.quest.officertype = OFFIC_TYPE_CANNONEER; break;
...\ PROGRAM \ Reinit.c (2589) : case 2: Fightincabin.quest.officertype = OFFIC_TYPE_QMASTER; break;
...\ PROGRAM \ Reinit.c (2590) : case 3: Fightincabin.quest.officertype = OFFIC_TYPE_NAVIGATOR; break;
...\ PROGRAM \ Reinit.c (2591) : case 4: Fightincabin.quest.officertype = OFFIC_TYPE_FIRSTMATE; break;
...\ PROGRAM \ Reinit.c (2592) : case 5: Fightincabin.quest.officertype = OFFIC_TYPE_CARPENTER; break;
...\ PROGRAM \ Reinit.c (2593) : case 6: Fightincabin.quest.officertype = OFFIC_TYPE_DOCTOR; break;
...\ PROGRAM \ Reinit.c (2594) : case 7: Fightincabin.quest.officertype = OFFIC_TYPE_ABORDAGE; break;
...\ PROGRAM \ Characters \ init \ Officers.c (114) : ch.quest.officertype = OFFIC_TYPE_BOATSWAIN;
...\ PROGRAM \ Characters \ init \ Officers.c (636) : ch.quest.officertype = OFFIC_TYPE_NAVIGATOR; // added by MAXIMUS
...\ PROGRAM \ Characters \ init \ Officers.c (696) : ch.quest.officertype = OFFIC_TYPE_ABORDAGE; // KevAtl to make him a Deck Fighter AKA Tough
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (260) : if(CheckAttribute(NPChar, "quest.officertype") && NPChar.quest.officertype != OFFIC_TYPE_RANDCHAR) { tmpstr = NPChar.quest.officertype; } // do we already have an officertype?
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (268) : case OFFIC_TYPE_BOATSWAIN: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (269) : case OFFIC_TYPE_CANNONEER: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (270) : case OFFIC_TYPE_QMASTER: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (271) : case OFFIC_TYPE_NAVIGATOR: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (272) : case OFFIC_TYPE_FIRSTMATE: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (275) : case OFFIC_TYPE_CARPENTER: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (276) : case OFFIC_TYPE_DOCTOR: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (277) : case OFFIC_TYPE_ABORDAGE: gennew = false; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (284) : case 0: NPChar.quest.officertype = OFFIC_TYPE_BOATSWAIN; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (285) : case 1: NPChar.quest.officertype = OFFIC_TYPE_CANNONEER; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (286) : case 2: NPChar.quest.officertype = OFFIC_TYPE_QMASTER; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (287) : case 3: NPChar.quest.officertype = OFFIC_TYPE_NAVIGATOR; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (288) : case 4: NPChar.quest.officertype = OFFIC_TYPE_FIRSTMATE; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (290) : case 5: NPChar.quest.officertype = OFFIC_TYPE_CARPENTER; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (291) : case 6: NPChar.quest.officertype = OFFIC_TYPE_DOCTOR; break;
...\ PROGRAM \ DIALOGS \ Enc_Officer_dialog.c (292) : case 7: NPChar.quest.officertype = OFFIC_TYPE_ABORDAGE; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (500) : case 0: NPChar.quest.officertype = OFFIC_TYPE_BOATSWAIN; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (501) : case 1: NPChar.quest.officertype = OFFIC_TYPE_CANNONEER; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (502) : case 2: NPChar.quest.officertype = OFFIC_TYPE_QMASTER; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (503) : case 3: NPChar.quest.officertype = OFFIC_TYPE_NAVIGATOR; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (504) : case 4: NPChar.quest.officertype = OFFIC_TYPE_FIRSTMATE; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (506) : case 5: NPChar.quest.officertype = OFFIC_TYPE_CARPENTER; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (507) : case 6: NPChar.quest.officertype = OFFIC_TYPE_DOCTOR; break;
...\ PROGRAM \ DIALOGS \ Enc_Walker.c (508) : case 7: NPChar.quest.officertype = OFFIC_TYPE_ABORDAGE; break;
...\ PROGRAM \ DIALOGS \ Enc_fort_dialog.c (431) : NPChar.quest.officertype = OFFIC_TYPE_BOATSWAIN;
...\ PROGRAM \ DIALOGS \ Enc_shipmate.c (81) : NPChar.quest.officertype = OFFIC_TYPE_BOATSWAIN;
...\ PROGRAM \ DIALOGS \ Fred Bob_dialog.c (786) : //if(Npchar.quest.officertype == OFFIC_TYPE_QMASTER)
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (45) : case 0: NPChar.quest.officertype = OFFIC_TYPE_BOATSWAIN; break;
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (46) : case 1: NPChar.quest.officertype = OFFIC_TYPE_CANNONEER; break;
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (47) : case 2: NPChar.quest.officertype = OFFIC_TYPE_QMASTER; break;
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (48) : case 3: NPChar.quest.officertype = OFFIC_TYPE_NAVIGATOR; break;
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (49) : case 4: NPChar.quest.officertype = OFFIC_TYPE_FIRSTMATE; break;
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (51) : case 5: NPChar.quest.officertype = OFFIC_TYPE_CARPENTER; break;
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (52) : case 6: NPChar.quest.officertype = OFFIC_TYPE_DOCTOR; break;
...\ PROGRAM \ DIALOGS \ Random_mates_sit_tavern_dialog.c (53) : case 7: NPChar.quest.officertype = OFFIC_TYPE_ABORDAGE; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (101) : case OFFIC_TYPE_BOATSWAIN: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (102) : case OFFIC_TYPE_CANNONEER: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (103) : case OFFIC_TYPE_QMASTER: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (104) : case OFFIC_TYPE_NAVIGATOR: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (105) : case OFFIC_TYPE_FIRSTMATE: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (106) : case OFFIC_TYPE_CARPENTER: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (107) : case OFFIC_TYPE_DOCTOR: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (108) : case OFFIC_TYPE_ABORDAGE: gennew = false; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (114) : case 0: prisoner.quest.officertype = OFFIC_TYPE_BOATSWAIN; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (115) : case 1: prisoner.quest.officertype = OFFIC_TYPE_CANNONEER; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (116) : case 2: prisoner.quest.officertype = OFFIC_TYPE_QMASTER; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (117) : case 3: prisoner.quest.officertype = OFFIC_TYPE_NAVIGATOR; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (118) : case 4: prisoner.quest.officertype = OFFIC_TYPE_FIRSTMATE; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (119) : case 5: prisoner.quest.officertype = OFFIC_TYPE_CARPENTER; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (120) : case 6: prisoner.quest.officertype = OFFIC_TYPE_DOCTOR; break;
...\ PROGRAM \ INTERFACE \ ransack_captain.c (121) : case 7: prisoner.quest.officertype = OFFIC_TYPE_ABORDAGE; break;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (695) : LandEncounters[n].char1.model1 = OFFIC_TYPE_BOATSWAIN;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (696) : LandEncounters[n].char1.model2 = OFFIC_TYPE_CANNONEER;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (697) : LandEncounters[n].char1.model3 = OFFIC_TYPE_QMASTER;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (698) : LandEncounters[n].char1.model4 = OFFIC_TYPE_NAVIGATOR;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (699) : LandEncounters[n].char1.model5 = OFFIC_TYPE_FIRSTMATE;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (701) : LandEncounters[n].char1.model6 = OFFIC_TYPE_CARPENTER;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (702) : LandEncounters[n].char1.model7 = OFFIC_TYPE_DOCTOR;
...\ PROGRAM \ LandEncounters \ LandEnc_init.c (703) : LandEncounters[n].char1.model8 = OFFIC_TYPE_ABORDAGE;
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (71) : if(!CheckAttribute(Npchar,"quest.officertype")) Npchar.quest.officertype = OFFIC_TYPE_RANDCHAR;
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (75) : case OFFIC_TYPE_CAPMERCHANT:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (80) : case OFFIC_TYPE_CAPNAVY:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (85) : case OFFIC_TYPE_CAPPIRATE:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (111) : if(GetDifficulty() < 4 && Npchar.quest.officertype != OFFIC_TYPE_CAPPIRATE && nRank > makeint(pow((cShipClass),1.5)*2.5)) nRank = makeint(pow((cShipClass),1.5)*2.5);
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (560) : case OFFIC_TYPE_RANDCHAR:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (583) : case OFFIC_TYPE_CIVILIAN:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (606) : case OFFIC_TYPE_CAPMERCHANT:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (629) : case OFFIC_TYPE_CAPNAVY:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (652) : case OFFIC_TYPE_CAPPIRATE:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (675) : case OFFIC_TYPE_BOATSWAIN:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (703) : case OFFIC_TYPE_CANNONEER:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (730) : case OFFIC_TYPE_QMASTER:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (757) : case OFFIC_TYPE_NAVIGATOR:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (778) : case OFFIC_TYPE_FIRSTMATE:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (801) : case OFFIC_TYPE_CARPENTER:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (823) : case OFFIC_TYPE_DOCTOR:
...\ PROGRAM \ Loc_ai \ LAi_CreateOfficer.c (846) : case OFFIC_TYPE_ABORDAGE:
...\ PROGRAM \ Loc_ai \ LAi_monsters.c(578) : fnt.quest.officertype = OFFIC_TYPE_RANDCHAR;
...\ PROGRAM \ Loc_ai \ LAi_utils.c(469) : chr.quest.officertype = OFFIC_TYPE_RANDCHAR;
...\ PROGRAM \ Models \ initModels.c (145) : AssignModelType(isstart, &model, OFFIC_TYPE_BOATSWAIN, 1.0);
...\ PROGRAM \ Models \ initModels.c (146) : AssignModelType(isstart, &model, OFFIC_TYPE_CANNONEER, 1.0);
...\ PROGRAM \ Models \ initModels.c (147) : AssignModelType(isstart, &model, OFFIC_TYPE_CARPENTER, 1.0);
(and a huge amount of others lines here)
.
.
.
...\ PROGRAM \ QUESTS \ both_reaction.c (4236) : case OFFIC_TYPE_FIRSTMATE: ofNum = 1; break;
...\ PROGRAM \ QUESTS \ both_reaction.c (4237) : case OFFIC_TYPE_BOATSWAIN: ofNum = 2; break;
...\ PROGRAM \ QUESTS \ both_reaction.c (4238) : case OFFIC_TYPE_NAVIGATOR: ofNum = 3; break;
...\ PROGRAM \ QUESTS \ quests_reaction.c (70) : rFantom.quest.officertype = OFFIC_TYPE_CAPMERCHANT;
...\ PROGRAM \ QUESTS \ quests_reaction.c (75) : rFantom.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ QUESTS \ quests_reaction.c (80) : rFantom.quest.officertype = OFFIC_TYPE_CAPPIRATE;
...\ PROGRAM \ QUESTS \ quests_reaction.c (85) : rFantom.quest.officertype = OFFIC_TYPE_CAPPIRATE;
...\ PROGRAM \ SEA_AI \ AIFantom.c (164) : rFantom.quest.officertype = OFFIC_TYPE_CAPMERCHANT;
...\ PROGRAM \ SEA_AI \ AIFantom.c (169) : rFantom.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ SEA_AI \ AIFantom.c (174) : rFantom.quest.officertype = OFFIC_TYPE_CAPPIRATE;
...\ PROGRAM \ SEA_AI \ AIFantom.c (179) : rFantom.quest.officertype = OFFIC_TYPE_CAPPIRATE;
...\ PROGRAM \ SEA_AI \ AIFort.c (110) : rCharacter.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ SEA_AI \ sea.c (791) : case 0: rFantom.quest.officertype = OFFIC_TYPE_BOATSWAIN; break;
...\ PROGRAM \ SEA_AI \ sea.c (792) : case 1: rFantom.quest.officertype = OFFIC_TYPE_CANNONEER; break;
...\ PROGRAM \ SEA_AI \ sea.c (793) : case 2: rFantom.quest.officertype = OFFIC_TYPE_QMASTER; break;
...\ PROGRAM \ SEA_AI \ sea.c (794) : case 3: rFantom.quest.officertype = OFFIC_TYPE_NAVIGATOR; break;
...\ PROGRAM \ SEA_AI \ sea.c (795) : case 4: rFantom.quest.officertype = OFFIC_TYPE_FIRSTMATE; break;
...\ PROGRAM \ SEA_AI \ sea.c (796) : case 5: rFantom.quest.officertype = OFFIC_TYPE_CARPENTER; break;
...\ PROGRAM \ SEA_AI \ sea.c (797) : case 6: rFantom.quest.officertype = OFFIC_TYPE_DOCTOR; break;
...\ PROGRAM \ SEA_AI \ sea.c (798) : case 7: rFantom.quest.officertype = OFFIC_TYPE_ABORDAGE; break;
...\ PROGRAM \ Ships \ Ships.c (117) : if(isgen) chr.quest.officertype = OFFIC_TYPE_CAPMERCHANT;
...\ PROGRAM \ Ships \ Ships.c (122) : if(isgen) chr.quest.officertype = OFFIC_TYPE_CAPNAVY;
...\ PROGRAM \ Ships \ Ships.c (127) : if(isgen) chr.quest.officertype = OFFIC_TYPE_CAPPIRATE;
...\ PROGRAM \ Ships \ Ships.c (132) : if(isgen) chr.quest.officertype = OFFIC_TYPE_CAPPIRATE;<!--QuoteEnd--></div><!--QuoteEEnd-->