// advisor - calculate how doing
#include "advisor_header"

void main()
{
    object oMod=GetModule();
    object oPC=GetPCSpeaker();
    string sTID=GetLocalString(oPC,"sTeamID");
    string sID;
    object oLead;
    int nYourScore=fnScore(oPC);
    int nTotal=nYourScore;
    int nLeaders=1;
    int nAverage;
    int nLow=nYourScore;
    int nHigh=nYourScore;
    int nThis;
    int nC=0;
    while(nC<4)
    { // each team
      if (nC==0) sID="SPID";
      else if (nC==1) sID="DWF";
      else if (nC==2) sID="UNC";
      else if (nC==3) sID="UND";
      if (sID!=sTID)
      { // other leader
        oLead=GetLocalObject(oMod,"oTeamLead"+sID);
        if (GetIsPC(oLead)==TRUE)
        { // valid leader
          nThis=fnScore(oLead);
          nTotal=nTotal+nThis;
          if (nThis<nLow) nLow=nThis;
          if (nThis>nHigh) nHigh=nThis;
          nLeaders++;
        } // valid leader
      } // other leader
      nC++;
    } // each team
    nAverage=nTotal/nLeaders;
    if (nLow==nYourScore) nC=1;
    else if (nHigh=nYourScore) nC=4;
    else if (nYourScore<=nAverage) nC=2;
    else if (nYourScore>nAverage) nC=3;
    else { nC=0; }
    SetLocalInt(oPC,"nStatusRealm",nC);
}