int StartingConditional()
{
    //initialize variables
    float fTotalCR = 0.0;
    float fPreviousCR = 0.0;
    float fCreatureCR = 0.0;
    string sDisplayCR;
    object oCreature = GetFirstObjectInArea(OBJECT_SELF);

    //calculate total CR
    while (GetIsObjectValid(oCreature))
        {
            if (
                !GetIsPC(oCreature) &&
                !GetIsDM(oCreature) &&
                GetObjectType(oCreature) == OBJECT_TYPE_CREATURE
                )
                    {
                    fCreatureCR = GetChallengeRating(oCreature);
                    fTotalCR = fCreatureCR + fPreviousCR;
                    fPreviousCR = fTotalCR;
                    }

            oCreature = GetNextObjectInArea(OBJECT_SELF);
        }

    //set custom token
    if (fTotalCR > 0.0)
    {
        sDisplayCR = "Total CR = " + GetSubString(FloatToString(fTotalCR), 5, 6);
    }
    else
        sDisplayCR = " ";

    SetCustomToken(102, sDisplayCR);

    return TRUE;
}