mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Fix end-of-race standings
This commit is contained in:
parent
52624cb6de
commit
c91986cc97
1 changed files with 20 additions and 9 deletions
29
src/k_kart.c
29
src/k_kart.c
|
|
@ -6036,26 +6036,37 @@ void K_KartUpdatePosition(player_t *player)
|
|||
|
||||
if (G_RaceGametype())
|
||||
{
|
||||
// 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))
|
||||
if (player->exiting) // End of match standings
|
||||
{
|
||||
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())
|
||||
{
|
||||
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++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (players[i].kartstuff[k_bumper] == player->kartstuff[k_bumper] && players[i].marescore > player->marescore)
|
||||
position++;
|
||||
else if (players[i].kartstuff[k_bumper] > player->kartstuff[k_bumper])
|
||||
// I have less points than but the same bumpers as this player OR
|
||||
// I have less bumpers than this player
|
||||
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++;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue