Possibly interesting: My current GivePromotionReward code:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->void GivePromotionReward()
{
ref pchar = GetMainCharacter();
switch(GetCurrentLocationNation())
{
case ENGLAND:
switch(GetRank(pchar, GetCurrentLocationNation()))
{
case 1: // Midshipman
if(pchar.model == "cnorrington") pchar.model = "Mdnorrington";
if(pchar.model == "blaze") pchar.model = "47_Blaze_ brtmds";
break;
case 2: // Lieutenant
if(pchar.model == "depp") pchar.model = "47_Ltsparrow";
if(pchar.model == "Mdnorrington") pchar.model = "Ltnorrington";
if(pchar.model == "47_Blaze_ brtmds") pchar.model = "47_Blaze_brtlt";
break;
case 3: // Commander
break;
case 4: // Captain
if(pchar.model == "47_Ltsparrow") pchar.model = "47_Cptsparrow";
if(pchar.model == "Ltnorrington") pchar.model = "cnorrington";
if(pchar.model == "47_Blaze_brtlt") pchar.model = "47_Blaze_brtcpt";
GiveItem2Character(pchar,"blade24+2"); // English Officer's Saber
EquipCharacterByItem(pchar,"blade24+2");
break;
case 5: // Commodore
if(pchar.model == "47_Cptsparrow") pchar.model = "47_Cosparrow";
if(pchar.model == "cnorrington") pchar.model = "Conorrington";
if(pchar.model == "47_Blaze_brtcpt") pchar.model = "47_Blaze_brtco";
break;
case 6: // Vice-Admiral
break;
case 7: // Admiral
if(pchar.model == "47_Cosparrow") pchar.model = "47_Admsparrow";
if(pchar.model == "47_Blaze_ brtco") pchar.model = "47_Blaze_ brtadm";
break;
case 8: // Knight
GiveItem2Character(pchar,"blade22+2"); // Corsair's Pride
EquipCharacterByItem(pchar,"blade22+2");
break;
case 9: // Baron
break;
case 10: // Viscount
break;
case 11: // Earl
break;
case 12: // Marquess
break;
}
break;
case HOLLAND:
switch(GetRank(pchar, GetCurrentLocationNation()))
{
case 1: // 2e Luitenant
break;
case 2: // Luitenant ter zee
break;
case 3: // Kapitein-Luitenant
break;
case 4: // Kapitein ter zee
GiveItem2Character(pchar,"blade23+2"); // Dutch Admiralty Sword
EquipCharacterByItem(pchar,"blade23+2");
break;
case 5: // Commandeur
break;
case 6: // Schout-bij-nacht
break;
case 7: // Vice-Admiraal
break;
case 8: // Ridder
GiveItem2Character(pchar,"blade26+2"); // Solingen Rapier
EquipCharacterByItem(pchar,"blade26+2");
break;
case 9: // Baron
break;
case 10: // Graaf
break;
case 11: // Markgraaf
break;
case 12: // Markies
break;
}
break;
case FRANCE:
switch(GetRank(pchar, GetCurrentLocationNation()))
{
case 1: // Enseigne
if(pchar.model == "blaze") pchar.model = "47_Blaze_france";
if(pchar.model == "depp") pchar.model = "47_Sparrow_france";
break;
case 2: // Lieutenant
break;
case 3: // Cpt. de Fregate
break;
case 4: // Cpt. de Vaisseau
GiveItem2Character(pchar,"blade9+2"); // French Admiralty Rapier
EquipCharacterByItem(pchar,"blade9+2");
break;
case 5: // Contre-Amirale
break;
case 6: // Vice-Amirale
break;
case 7: // Amirale
break;
case 8: // Chevalier
GiveItem2Character(pchar,"blade25+2"); // French Nobility Sword
EquipCharacterByItem(pchar,"blade25+2");
break;
case 9: // Baron
break;
case 10: // Viscomte
break;
case 11: // Comte
break;
case 12: // Marquis
break;
}
break;
case SPAIN:
switch(GetRank(pchar, GetCurrentLocationNation()))
{
case 1: // Teniente
if(pchar.model == "blaze") pchar.model = "47_Blaze_spain";
if(pchar.model == "depp") pchar.model = "47_Sparrow_spain";
break;
case 2: // Cpt. de corbeta
break;
case 3: // Cpt. de fragata
break;
case 4: // Cpt. de navio
GiveItem2Character(pchar,"blade33+2"); // Moorish Saber
EquipCharacterByItem(pchar,"blade33+2");
break;
case 5: // Contralmirante
break;
case 6: // Vicealmirante
break;
case 7: // Almirante
break;
case 8: // Caballero
GiveItem2Character(pchar,"blade14+2"); // Spanish Nobility Longsword
EquipCharacterByItem(pchar,"blade14+2");
break;
case 9: // Baron
break;
case 10: // Vizconde
break;
case 11: // Conde
break;
case 12: // Marques
break;
}
break;
case PORTUGAL:
switch(GetRank(pchar, GetCurrentLocationNation()))
{
case 1: // Seg.-Tenente
break;
case 2: // Prim.-Tenente
break;
case 3: // Cpt. de Fragata
break;
case 4: // Cpt. de Mar
GiveItem2Character(pchar,"blade29+2"); // Portugese Officer's Sword
EquipCharacterByItem(pchar,"blade29+2");
break;
case 5: // Contra-Almirante
break;
case 6: // Vice-Almirante
break;
case 7: // Almirante
break;
case 8: // Cavaleiro
GiveItem2Character(pchar,"blade32+2"); // Damascus Shamshir
EquipCharacterByItem(pchar,"blade32+2");
break;
case 9: // Barao
break;
case 10: // Vizconde
break;
case 11: // Conde
break;
case 12: // Marques
break;
}
break;
/*
case PIRATE: // UNUSED: Just to remind us to use the pirate unique saber somewhere
GiveItem2Character(pchar,"blade34+2"); // Dragon's Head
EquipCharacterByItem(pchar,"blade34+2");
break;
case EITC: // UNUSED: Just to remind us to use those models at some point
switch(GetRank(pchar, GetCurrentLocationNation()))
{
case 2: // Lieutenant
if(pchar.model == "blaze") pchar.model = "47Blaze_Eitc_lt";
if(pchar.model == "depp") pchar.model = "47_Sparrow_Eitc_lt";
break;
case 4: // Captain
if(pchar.model == "47Blaze_Eitc_lt") pchar.model = "47Blaze_Eitc_cpt";
if(pchar.model == 47_Sparrow_Eitc_lt") pchar.model = "47_Sparrow_Eitc_cpt";
break;
}
break;
*/
}
}<!--c2--></div><!--ec2-->
Updated for Thomas' newest models. Still untested as of yet... <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />