void main()
{

object oPC = GetPCSpeaker();

object oCaptain = GetObjectByTag("CaptainStart");
object oHench1 = GetNearestObjectByTag("LembuStart");
object oHench2 = GetNearestObjectByTag("ZinetharStart");
object oHench3 = GetNearestObjectByTag("DiscinqueStart");
object oHench4 = GetNearestObjectByTag("HodarStart");
object oHench5 = GetNearestObjectByTag("LiHonStart");

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("WP_Camp");
lTarget = GetLocation(oTarget);
if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;

DestroyObject(GetNearestObjectByTag("POST_CaptainExit"), 0.0f);

AssignCommand(oCaptain, ActionMoveToObject(GetNearestObjectByTag("WP_CaptainExit")));

DelayCommand(1.5, AssignCommand(oHench5, ActionMoveToObject(GetNearestObjectByTag("WP_CaptainExit"))));
DelayCommand(1.5, AssignCommand(oHench4, ActionMoveToObject(GetNearestObjectByTag("WP_CaptainExit"))));
DelayCommand(1.75, AssignCommand(oHench3, ActionMoveToObject(GetNearestObjectByTag("WP_CaptainExit"))));
DelayCommand(1.75, AssignCommand(oHench1, ActionMoveToObject(GetNearestObjectByTag("WP_CaptainExit"))));
DelayCommand(2.0, AssignCommand(oHench2, ActionMoveToObject(GetNearestObjectByTag("WP_CaptainExit"))));

DelayCommand(3.5, FadeToBlack(oPC, FADE_SPEED_SLOWEST));

DelayCommand(4.9, AssignCommand(oPC, ClearAllActions()));

DelayCommand(7.5, AssignCommand(oPC, ActionJumpToLocation(lTarget)));

}

