Legacy Proration, force "Leader" splits for Class R

This commit is contained in:
Antonio Martinez 2025-08-26 00:51:52 -04:00
parent 0a94c2ac83
commit a498ca732f
3 changed files with 11 additions and 4 deletions

View file

@ -2344,6 +2344,10 @@ void G_SetDemoCheckpointTiming(player_t *player, tic_t time, UINT8 checkpoint)
boolean polite = (cv_attacksplits.value == 1); boolean polite = (cv_attacksplits.value == 1);
// Class R doesn't have coherent times, just watch the leader.
if (K_LegacyRingboost(player))
polite = false;
// "Next" Mode: Find the weakest ghost who beats our best time. // "Next" Mode: Find the weakest ghost who beats our best time.
// Don't set a ghost if we have no set time (oldbest == UINT32_MAX) // Don't set a ghost if we have no set time (oldbest == UINT32_MAX)
if (polite) if (polite)

View file

@ -3108,6 +3108,9 @@ fixed_t K_PlayerTripwireSpeedThreshold(const player_t *player)
{ {
fixed_t required_speed = 2 * K_GetKartSpeed(player, false, false); // 200% fixed_t required_speed = 2 * K_GetKartSpeed(player, false, false); // 200%
if (K_LegacyRingboost(player))
return required_speed;
if (specialstageinfo.valid) if (specialstageinfo.valid)
required_speed = 3 * K_GetKartSpeed(player, false, false) / 2; // 150% required_speed = 3 * K_GetKartSpeed(player, false, false) / 2; // 150%
@ -9484,7 +9487,7 @@ static inline BlockItReturn_t PIT_AttractingRings(mobj_t *thing)
return BMIT_CONTINUE; // find other rings return BMIT_CONTINUE; // find other rings
} }
boolean K_LegacyRingboost(player_t *player) boolean K_LegacyRingboost(const player_t *player)
{ {
if (netgame) if (netgame)
return false; return false;

View file

@ -348,7 +348,7 @@ UINT16 K_GetEXP(player_t *player);
UINT32 K_GetNumGradingPoints(void); UINT32 K_GetNumGradingPoints(void);
boolean K_LegacyRingboost(player_t *player); boolean K_LegacyRingboost(const player_t *player);
void K_BotHitPenalty(player_t *player); void K_BotHitPenalty(player_t *player);