void main()
{
    object oPC = (GetLastUsedBy());
    object oFirstMember = GetLastUsedBy();
    object oPartyMember = GetFirstFactionMember(oFirstMember, TRUE);

    object oDest = GetObjectByTag("WP_FINALFIGHT");
    location lDest = GetLocation(oDest);

    object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oPC);
    int iAnimal = GetIsObjectValid(oAnimal);
    object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oPC);
    int iDominated = GetIsObjectValid(oDominated);
    object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC);
    int iFamiliar = GetIsObjectValid(oFamiliar);
    object oHenchman = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC);
    int iHenchman = GetIsObjectValid(oHenchman);

    {
        while (GetIsObjectValid (oPartyMember))
            {
            object oPartyMemberArea = GetArea(oPartyMember);
            if (!GetIsDead (oPartyMember))
            {
            AssignCommand(oPartyMember, ClearAllActions());
            AssignCommand(oPartyMember, JumpToLocation (lDest));
            }
        oPartyMember = GetNextFactionMember (oFirstMember, TRUE);
        }
    AssignCommand(oFirstMember, ClearAllActions());
    AssignCommand(oFirstMember, JumpToLocation (lDest));
    }

            if (iAnimal == TRUE)
            {
              AssignCommand( oAnimal, JumpToLocation(lDest));
            }
            if (iDominated == TRUE)
            {
              AssignCommand( oDominated, JumpToLocation(lDest));
            }
            if (iFamiliar == TRUE)
            {
              AssignCommand( oFamiliar, JumpToLocation(lDest));
            }
            if (iHenchman == TRUE)
            {
              AssignCommand( oHenchman, JumpToLocation(lDest));
            }
        }



