From bb7522f9710dc3d291fbaac1cff0fd5011b31504 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Mon, 20 Apr 2020 23:21:02 +0200 Subject: [PATCH] Counter-Strike: Fix the money team rewards not being given out when a new round hits. --- src/server/cstrike/func_hostage_rescue.cpp | 2 +- src/server/cstrike/game_money.c | 3 +-- src/server/cstrike/gamerules_multiplayer.cpp | 4 +--- src/server/cstrike/money.h | 12 ++++++------ 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/server/cstrike/func_hostage_rescue.cpp b/src/server/cstrike/func_hostage_rescue.cpp index 82999425..75f17e89 100644 --- a/src/server/cstrike/func_hostage_rescue.cpp +++ b/src/server/cstrike/func_hostage_rescue.cpp @@ -61,7 +61,7 @@ func_hostage_rescue::touch(void) Money_AddMoney((player)hosty.m_eFollowing, 1000); /* In Hostage Rescue, all Counter-Terrorists receive an $850 - * bonus for every hostage they rescue, even if they lose the round. */ + * bonus for every hostage that was rescued, even if they lose the round. */ Money_QueTeamReward(TEAM_CT, 850); CBaseEntity targa = (CBaseEntity)other; diff --git a/src/server/cstrike/game_money.c b/src/server/cstrike/game_money.c index 5c748a94..2a82d0b8 100644 --- a/src/server/cstrike/game_money.c +++ b/src/server/cstrike/game_money.c @@ -41,9 +41,8 @@ Money_QueTeamReward(int t, int iMoneyValue) } void -Money_GiveTeamReward(void) +Money_GiveTeamReward(player pl) { - player pl = (player)self; if (pl.team == TEAM_T) { Money_AddMoney(pl, g_cs_moneyreward_t); } else { diff --git a/src/server/cstrike/gamerules_multiplayer.cpp b/src/server/cstrike/gamerules_multiplayer.cpp index 6d1db661..99be9bb0 100644 --- a/src/server/cstrike/gamerules_multiplayer.cpp +++ b/src/server/cstrike/gamerules_multiplayer.cpp @@ -366,8 +366,6 @@ Loop through all ents and handle them void CSMultiplayerRules::RestartRound(int iWipe) { - g_cs_hostagesrescued = 0; - // Spawn/Respawn everyone at their team position and give them $$$ for (entity eFind = world; (eFind = find(eFind, ::classname, "player"));) { player pl = (player)eFind; @@ -380,7 +378,7 @@ CSMultiplayerRules::RestartRound(int iWipe) } if (iWipe == FALSE) { - Money_GiveTeamReward(); + Money_GiveTeamReward(pl); } else { pl.money = 0; Money_AddMoney(pl, autocvar_mp_startmoney); diff --git a/src/server/cstrike/money.h b/src/server/cstrike/money.h index 6e7df108..25d58eb6 100644 --- a/src/server/cstrike/money.h +++ b/src/server/cstrike/money.h @@ -17,11 +17,11 @@ int g_cs_moneyreward_ct; int g_cs_moneyreward_t; -void Money_AddMoney(player pl, int iMoneyValue); -void Money_QueTeamReward(int t, int iMoneyValue); -void Money_GiveTeamReward(void); +void Money_AddMoney(player, int); +void Money_QueTeamReward(int, int); +void Money_GiveTeamReward(player); void Money_ResetTeamReward(void); -int Money_GetLosses(int team); -int Money_HasBonus(int team); -void Money_HandleRoundReward(int winner) +int Money_GetLosses(int); +int Money_HasBonus(int); +void Money_HandleRoundReward(int) void Money_ResetRoundReward(void);