From 3e08ff99681541db76fa8f611bd112002417e7a5 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Fri, 12 Sep 2025 01:32:26 -0400 Subject: [PATCH] Make EXP rankings do something in teamplay --- src/y_inter.cpp | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/y_inter.cpp b/src/y_inter.cpp index dd9ded9dd..316a432f4 100644 --- a/src/y_inter.cpp +++ b/src/y_inter.cpp @@ -293,23 +293,20 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32)) // Online rank is handled further below in this file. if (powertype == PWRLV_DISABLED) { - if (data.winningteam != TEAM_UNASSIGNED) - { - // TODO ASK TYRON - if (smallestteam != 0 - && players[i].team == data.winningteam) - { - data.increase[i] = 1; - } - } - else - { - UINT8 pointgetters = numplayersingame + spectateGriefed; + UINT8 pointgetters = numplayersingame + spectateGriefed; - if (data.pos[data.numplayers] < pointgetters - && !(players[i].pflags & PF_NOCONTEST)) + if (data.pos[data.numplayers] < pointgetters + && !(players[i].pflags & PF_NOCONTEST)) + { + data.increase[i] = K_CalculateGPRankPoints((&players[i])->exp, data.pos[data.numplayers], pointgetters); + + if (data.winningteam != TEAM_UNASSIGNED) { - data.increase[i] = K_CalculateGPRankPoints((&players[i])->exp, data.pos[data.numplayers], pointgetters); + if (smallestteam != 0 + && players[i].team != data.winningteam) + { + data.increase[i] /= 2; + } } }