Fix end-of-race standings

This commit is contained in:
TehRealSalt 2019-10-15 23:37:20 -04:00
parent 52624cb6de
commit c91986cc97

View file

@ -6036,26 +6036,37 @@ void K_KartUpdatePosition(player_t *player)
if (G_RaceGametype()) if (G_RaceGametype())
{ {
// I'm a lap behind this player OR if (player->exiting) // End of match standings
// My distance to the finish line is higher, so I'm behind
if ((players[i].laps > player->laps)
|| (players[i].distancetofinish < player->distancetofinish))
{ {
position++; // Only time matters
if (players[i].realtime < player->realtime)
position++;
}
else
{
// I'm a lap behind this player OR
// My distance to the finish line is higher, so I'm behind
if ((players[i].laps > player->laps)
|| (players[i].distancetofinish < player->distancetofinish))
{
position++;
}
} }
} }
else if (G_BattleGametype()) else if (G_BattleGametype())
{ {
if (player->exiting) // End of match standings if (player->exiting) // End of match standings
{ {
if (players[i].marescore > player->marescore) // Only score matters // Only score matters
if (players[i].marescore > player->marescore)
position++; position++;
} }
else else
{ {
if (players[i].kartstuff[k_bumper] == player->kartstuff[k_bumper] && players[i].marescore > player->marescore) // I have less points than but the same bumpers as this player OR
position++; // I have less bumpers than this player
else if (players[i].kartstuff[k_bumper] > player->kartstuff[k_bumper]) if ((players[i].kartstuff[k_bumper] == player->kartstuff[k_bumper] && players[i].marescore > player->marescore)
|| (players[i].kartstuff[k_bumper] > player->kartstuff[k_bumper]))
position++; position++;
} }
} }