From e6971b21fb6b6c3cd42a46328bc016c129326aef Mon Sep 17 00:00:00 2001 From: Martin Gerhardy Date: Sat, 11 Nov 2023 11:36:38 +0100 Subject: [PATCH] GAME: extracted into function --- code/game/g_team.c | 14 ++++++++++---- code/game/g_team.h | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/game/g_team.c b/code/game/g_team.c index 9bfb9cf98..2fc3379ae 100644 --- a/code/game/g_team.c +++ b/code/game/g_team.c @@ -433,6 +433,12 @@ static qboolean Team_FlagDefendOrProtectBonus(const gentity_t *targ, gentity_t * return qfalse; } +static void G_ResetLastHurtCarrier(gentity_t *ent) { + playerTeamState_t *teamState = &ent->client->pers.teamState; + teamState->lasthurtcarrier = 0; + teamState->lasthurtcarrierId = -1; +} + /** * @brief Checks if the attacker is eligible for getting a defense bonus for killing the victim */ @@ -477,7 +483,7 @@ Note that bonuses are not cumulative. You get one, they are in importance order. ================ */ -void Team_FragBonuses(const gentity_t *victim, gentity_t *attacker) { +void Team_FragBonuses(gentity_t *victim, gentity_t *attacker) { int i; int flag_pw, enemy_flag_pw; int otherteam; @@ -519,7 +525,7 @@ void Team_FragBonuses(const gentity_t *victim, gentity_t *attacker) { for (i = 0; i < g_maxclients.integer; i++) { gentity_t *ent = g_entities + i; if (ent->inuse && ent->client->sess.sessionTeam == otherteam) - ent->client->pers.teamState.lasthurtcarrier = 0; + G_ResetLastHurtCarrier(ent); } return; } @@ -540,7 +546,7 @@ void Team_FragBonuses(const gentity_t *victim, gentity_t *attacker) { for (i = 0; i < g_maxclients.integer; i++) { gentity_t *ent = g_entities + i; if (ent->inuse && ent->client->sess.sessionTeam == otherteam) - ent->client->pers.teamState.lasthurtcarrier = 0; + G_ResetLastHurtCarrier(ent); } return; } @@ -553,7 +559,7 @@ void Team_FragBonuses(const gentity_t *victim, gentity_t *attacker) { AddScore(attacker, victim->r.currentOrigin, CTF_CARRIER_DANGER_PROTECT_BONUS, SCORE_BONUS_CARRIER_PROTECT_S); attacker->client->pers.teamState.carrierdefense++; - victim->client->pers.teamState.lasthurtcarrier = 0; + G_ResetLastHurtCarrier(victim); attacker->client->ps.persistant[PERS_PADHERO_COUNT]++; // add the sprite over the player's head diff --git a/code/game/g_team.h b/code/game/g_team.h index bb39d2f6c..28507e356 100644 --- a/code/game/g_team.h +++ b/code/game/g_team.h @@ -55,7 +55,7 @@ const char *TeamColorString(int team); void AddTeamScore(const vec3_t origin, int team, int score, char *reason); void Team_DroppedFlagThink(gentity_t *ent); -void Team_FragBonuses(const gentity_t *victim, gentity_t *attacker); +void Team_FragBonuses(gentity_t *victim, gentity_t *attacker); void Team_CheckHurtCarrier(const gentity_t *victim, gentity_t *attacker); void Team_InitGame(void); void Team_ReturnFlag(int team);