float leaderscore;
float secondscore;
-int fragsleftlast;
+int fragsleft_last;
float WinningCondition_Scores(float limit, float leadlimit)
{
float limitreached;
limit = -limit;
}
- if(WinningConditionHelper_zeroisworst)
+ if(WinningConditionHelper_zeroisworst
+ || (!autocvar_leadlimit_and_fraglimit && limit && leadlimit >= fabs(limit)))
leadlimit = 0; // not supported in this mode
if(MUTATOR_CALLHOOK(Scores_CountFragsRemaining))
fragsleft |= BIT(3);
}
- fragsleft = fragsleft & -fragsleft; // lowest significant bit
+ fragsleft = fragsleft & -fragsleft; // least significant bit where 1 is set
- if (fragsleftlast != fragsleft) // do not announce same remaining frags multiple times
+ if (fragsleft_last != fragsleft) // do not announce same remaining frags multiple times
{
if (fragsleft & BIT(1))
Send_Notification(NOTIF_ALL, NULL, MSG_ANNCE, ANNCE_REMAINING_FRAG_1);
else if (fragsleft & BIT(3))
Send_Notification(NOTIF_ALL, NULL, MSG_ANNCE, ANNCE_REMAINING_FRAG_3);
- fragsleftlast = fragsleft;
+ fragsleft_last = fragsleft;
}
}
}