int fnGetLevel(object oPC)
{ // level
  int nLevel=GetLevelByPosition(1,oPC);
  nLevel=nLevel+GetLevelByPosition(2,oPC);
  nLevel=nLevel+GetLevelByPosition(3,oPC);
  return nLevel;
} // fnGetLevel()

int StartingConditional()
{
    int nReturn=FALSE;
    object oPC;
    object oHigh;
    int nHighLevel=0;
    int nLevel;
    int nEq=FALSE;
    oPC=GetFirstPC();
    while(oPC!=OBJECT_INVALID)
    { // check PCs
      nLevel=fnGetLevel(oPC);
      if (nLevel>nHighLevel)
      { // new high
        nEq=FALSE;
        nHighLevel=nLevel;
        oHigh=oPC;
      } // new high
      else if (nLevel==nHighLevel)
        nEq=TRUE;
      oPC=GetNextPC();
    } // check PCs
    if (nEq!=TRUE)
    { // check
      if (oHigh==GetPCSpeaker()) nReturn=TRUE;
    } // check
    return nReturn;
}