From 5ad6812f1738e4cbacdc5e4cbb338d554b089c4f Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Thu, 28 May 2020 13:42:11 -0400 Subject: [PATCH] No modify power level for beating/losing to players with no power level set This mainly is intended for bots, but also applies to splitscreen guests who also probably shouldn't have any power level --- src/k_pwrlv.c | 7 ++++--- src/y_inter.c | 16 ++++++++++------ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/k_pwrlv.c b/src/k_pwrlv.c index b8d78e0ee..8101a013e 100644 --- a/src/k_pwrlv.c +++ b/src/k_pwrlv.c @@ -305,9 +305,10 @@ void K_PlayerForfeit(UINT8 playernum, boolean pointloss) if (i == playernum) continue; - theirpower = PWRLVRECORD_DEF; - if (clientpowerlevels[i][powertype] != 0) // No power level acts as 5000 (used for splitscreen guests) - theirpower = clientpowerlevels[i][powertype]; + if (clientpowerlevels[i][powertype] == 0) // No power level (splitscreen guests, bots) + continue; + + theirpower = clientpowerlevels[i][powertype]; diff = yourpower - theirpower; inc -= K_CalculatePowerLevelInc(diff); diff --git a/src/y_inter.c b/src/y_inter.c index 1051a7e55..94e24aed1 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -939,9 +939,11 @@ static void K_UpdatePowerLevels(void) continue; } - theirpower = PWRLVRECORD_DEF; - if (clientpowerlevels[jpnum][powertype] != 0) // No power level acts as 5000 (used for splitscreen guests) - theirpower = clientpowerlevels[jpnum][powertype]; + if (clientpowerlevels[jpnum][powertype] == 0) // No power level (splitscreen guests, bots) + continue; + + theirpower = clientpowerlevels[jpnum][powertype]; + CONS_Debug(DBG_GAMELOGIC, "Player %d's PWR.LV: %d\n", jpnum, theirpower); if (G_RaceGametype()) @@ -981,9 +983,11 @@ static void K_UpdatePowerLevels(void) CONS_Debug(DBG_GAMELOGIC, "Player %d VS Player %d (griefer):\n", ipnum, jpnum); - theirpower = PWRLVRECORD_DEF; - if (nospectategrief[jpnum] != 0) // No power level acts as 5000 (used for splitscreen guests) - theirpower = nospectategrief[jpnum]; + if (nospectategrief[jpnum] == 0) // No power level (splitscreen guests, bots) + continue; + + theirpower = nospectategrief[jpnum]; + CONS_Debug(DBG_GAMELOGIC, "Player %d's PWR.LV: %d\n", jpnum, theirpower); diff = theirpower - yourpower;