Merge branch 'no-contest-exp' into 'master'

No contest exp fixes

See merge request kart-krew-dev/ring-racers-internal!2924
This commit is contained in:
AJ Martinez 2025-10-09 01:40:22 +00:00
commit 98d90e3501
3 changed files with 14 additions and 3 deletions

View file

@ -60,7 +60,7 @@ INT16 K_CalculateGPRankPoints(UINT16 exp, UINT8 position, UINT8 numplayers)
{
INT16 points;
if (position >= numplayers || position == 0)
if (position > numplayers || position == 0)
{
// Invalid position, no points
return 0;

View file

@ -3988,6 +3988,18 @@ void P_DoTimeOver(player_t *player)
CON_LogMessage(va(M_GetText("%s ran out of time.\n"), player_names[player-players]));
}
// actually, lets not do the below, because its a suitable penalty to not be granted the increase from remaining gradingpoints
// iterate through remaining gradingpoints and update gradingfactor and exp for current position, as if you crossed all of them
// const UINT32 numgradingpoints = K_GetNumGradingPoints();
// const UINT32 remaininggradingpoints = numgradingpoints - player->gradingpointnum;
// for (UINT32 i = 0; i < remaininggradingpoints; i++)
// {
// player->gradingfactor += K_GetGradingFactorAdjustment(player, player->gradingpointnum);
// player->gradingpointnum++;
// player->exp = K_GetEXP(player);
// }
player->pflags |= PF_NOCONTEST;
K_UpdatePowerLevelsFinalize(player, false);

View file

@ -295,8 +295,7 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32))
{
UINT8 pointgetters = numplayersingame + spectateGriefed;
if (data.pos[data.numplayers] < pointgetters
&& !(players[i].pflags & PF_NOCONTEST))
if (data.pos[data.numplayers] <= pointgetters)
{
data.increase[i] = K_CalculateGPRankPoints((&players[i])->exp, data.pos[data.numplayers], pointgetters);