Skip to content

Commit e1a7aeb

Browse files
oylsisterVauff
andauthored
feat: Added damage cash for human side. (#367)
* feat: Added damage cash for human side. * Use scale based instead of toggle on off. * grammar improvement --------- Co-authored-by: Alex <mctehkitti@gmail.com>
1 parent 7203027 commit e1a7aeb

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

cfg/cs2fixes/cs2fixes.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ zr_infect_shake 1 // Whether to shake a player's view on infect
118118
zr_infect_shake_amp 15.0 // Amplitude of shaking effect
119119
zr_infect_shake_frequency 2.0 // Frequency of shaking effect
120120
zr_infect_shake_duration 5.0 // Duration of shaking effect
121+
zr_damage_cash_scale 0.0 // Multiplier on cash given when damaging zombies (0.0 = disabled)
121122
122123
// Leader settings
123124
cs2f_leader_enable 0 // Whether to enable Leader features

src/zombiereborn.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ CConVar<bool> g_cvarInfectShake("zr_infect_shake", FCVAR_NONE, "Whether to shake
100100
CConVar<float> g_cvarInfectShakeAmplitude("zr_infect_shake_amp", FCVAR_NONE, "Amplitude of shaking effect", 15.0f, true, 0.0f, true, 16.0f);
101101
CConVar<float> g_cvarInfectShakeFrequency("zr_infect_shake_frequency", FCVAR_NONE, "Frequency of shaking effect", 2.0f, true, 0.0f, false, 0.0f);
102102
CConVar<float> g_cvarInfectShakeDuration("zr_infect_shake_duration", FCVAR_NONE, "Duration of shaking effect", 5.0f, true, 0.0f, false, 0.0f);
103+
CConVar<float> g_cvarDamageCashScale("zr_damage_cash_scale", FCVAR_NONE, "Multiplier on cash given when damaging zombies (0.0 = disabled)", 0.0f, true, 0.0f, false, 100.0f);
103104

104105
// meant only for offline config validation and can easily cause issues when used on live server
105106
#ifdef _DEBUG
@@ -1650,6 +1651,14 @@ void ZR_OnPlayerTakeDamage(CCSPlayerPawn* pVictimPawn, const CTakeDamageInfo* pI
16501651
if (pKillerPawn->m_iTeamNum() == CS_TEAM_CT && pVictimPawn->m_iTeamNum() == CS_TEAM_T)
16511652
{
16521653
auto flClassKnockback = 1.0f;
1654+
float flCashScale = g_cvarDamageCashScale.Get();
1655+
1656+
if(flCashScale > 0)
1657+
{
1658+
const auto pKillerController = pKillerPawn->GetOriginalController();
1659+
int money = pKillerController->m_pInGameMoneyServices->m_iAccount;
1660+
pKillerController->m_pInGameMoneyServices->m_iAccount = money + (damage * flCashScale);
1661+
}
16531662

16541663
if (pVictimController->GetZEPlayer())
16551664
{

0 commit comments

Comments
 (0)