@Levis: I've added a CheckAttribute here to prevent error.log entries when starting the Hornblower storyline:
Code:
void MakeOfficerCaptain(ref officer)
{
if (CheckAttribute(officer, "quest.officertype")) officer.quest.oldofficertype = officer.quest.officertype; // PB: Just in case
officer.quest.officertype = GetCaptainType(officer);
}