From fb265574d24fa473c68734e6087ac175433dfe90 Mon Sep 17 00:00:00 2001 From: VantoNortim Date: Fri, 3 May 2024 12:52:00 +0100 Subject: [PATCH 1/3] Override default functionality of giving weapons to a player Picking up a new weapon does not give player default amount of ammo as well --- mp/src/game/server/hl2mp/hl2mp_player.cpp | 5 +++ mp/src/game/server/hl2mp/hl2mp_player.h | 1 + mp/src/game/server/neo/neo_player.cpp | 41 ++++++++++++++++++++++- mp/src/game/server/neo/neo_player.h | 1 + 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/mp/src/game/server/hl2mp/hl2mp_player.cpp b/mp/src/game/server/hl2mp/hl2mp_player.cpp index bd2a593cb..3e32fcdbb 100644 --- a/mp/src/game/server/hl2mp/hl2mp_player.cpp +++ b/mp/src/game/server/hl2mp/hl2mp_player.cpp @@ -610,6 +610,11 @@ void CHL2MP_Player::FireBullets ( const FireBulletsInfo_t &info ) lagcompensation->FinishLagCompensation( this ); } +void CHL2MP_Player::Weapon_Equip(CBaseCombatWeapon* pWeapon) +{ + CHL2_Player::Weapon_Equip(pWeapon); +} + void CHL2MP_Player::NoteWeaponFired( void ) { Assert( m_pCurrentCommand ); diff --git a/mp/src/game/server/hl2mp/hl2mp_player.h b/mp/src/game/server/hl2mp/hl2mp_player.h index 56939b41a..db275b941 100644 --- a/mp/src/game/server/hl2mp/hl2mp_player.h +++ b/mp/src/game/server/hl2mp/hl2mp_player.h @@ -71,6 +71,7 @@ class CHL2MP_Player : public CHL2_Player virtual int OnTakeDamage( const CTakeDamageInfo &inputInfo ); virtual bool WantsLagCompensationOnEntity( const CBasePlayer *pPlayer, const CUserCmd *pCmd, const CBitVec *pEntityTransmitBits ) const; virtual void FireBullets ( const FireBulletsInfo_t &info ); + virtual void Weapon_Equip(CBaseCombatWeapon* pWeapon) override; virtual bool Weapon_Switch( CBaseCombatWeapon *pWeapon, int viewmodelindex = 0); virtual bool BumpWeapon( CBaseCombatWeapon *pWeapon ); virtual void ChangeTeam( int iTeam ); diff --git a/mp/src/game/server/neo/neo_player.cpp b/mp/src/game/server/neo/neo_player.cpp index 6f6644f5a..4e6162449 100644 --- a/mp/src/game/server/neo/neo_player.cpp +++ b/mp/src/game/server/neo/neo_player.cpp @@ -1446,8 +1446,47 @@ void CNEO_Player::FireBullets ( const FireBulletsInfo_t &info ) BaseClass::FireBullets(info); } +void CNEO_Player::Weapon_Equip(CBaseCombatWeapon* pWeapon) +{ + for (int i=0;iChangeTeam( GetTeamNumber() ); + + if (pWeapon->GetMaxClip1() == -1) + { + GiveAmmo(pWeapon->GetDefaultClip1(), pWeapon->m_iPrimaryAmmoType, false); + } + else if(pWeapon->m_iClip1 > pWeapon->GetMaxClip1()) + { + pWeapon->m_iClip1 = pWeapon->GetMaxClip1(); + GiveAmmo( pWeapon->GetDefaultClip1() - pWeapon->GetMaxClip1(), pWeapon->m_iPrimaryAmmoType, false); + } + + if (pWeapon->GetMaxClip2() == -1) + { + GiveAmmo(pWeapon->GetDefaultClip2(), pWeapon->m_iSecondaryAmmoType, false); + } + else if(pWeapon->m_iClip2 > pWeapon->GetMaxClip2()) + { + pWeapon->m_iClip2 = pWeapon->GetMaxClip2(); + GiveAmmo( pWeapon->GetDefaultClip2() - pWeapon->GetMaxClip2(), pWeapon->m_iSecondaryAmmoType, false); + } + + pWeapon->Equip( this ); + + // Pass the lighting origin over to the weapon if we have one + pWeapon->SetLightingOriginRelative( GetLightingOriginRelative() ); +} + bool CNEO_Player::Weapon_Switch( CBaseCombatWeapon *pWeapon, - int viewmodelindex ) + int viewmodelindex ) { ShowCrosshair(false); diff --git a/mp/src/game/server/neo/neo_player.h b/mp/src/game/server/neo/neo_player.h index c520ca7dd..5606d961c 100644 --- a/mp/src/game/server/neo/neo_player.h +++ b/mp/src/game/server/neo/neo_player.h @@ -50,6 +50,7 @@ class CNEO_Player : public CHL2MP_Player virtual float GetReceivedDamageScale(CBaseEntity* pAttacker) OVERRIDE; virtual bool WantsLagCompensationOnEntity(const CBasePlayer *pPlayer, const CUserCmd *pCmd, const CBitVec *pEntityTransmitBits) const OVERRIDE; virtual void FireBullets(const FireBulletsInfo_t &info) OVERRIDE; + virtual void Weapon_Equip(CBaseCombatWeapon* pWeapon) OVERRIDE; virtual bool Weapon_Switch(CBaseCombatWeapon *pWeapon, int viewmodelindex = 0) OVERRIDE; virtual bool Weapon_CanSwitchTo(CBaseCombatWeapon *pWeapon) OVERRIDE; virtual bool BumpWeapon(CBaseCombatWeapon *pWeapon) OVERRIDE; From 94b0aefccf3f39bb492df2b3da1482e54ba28526 Mon Sep 17 00:00:00 2001 From: VantoNortim Date: Fri, 3 May 2024 13:39:34 +0100 Subject: [PATCH 2/3] Holstering a nade puts the pin back --- mp/src/game/shared/neo/weapons/weapon_grenade.cpp | 1 + mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/mp/src/game/shared/neo/weapons/weapon_grenade.cpp b/mp/src/game/shared/neo/weapons/weapon_grenade.cpp index 8a8f0bdd8..c8216f8ae 100644 --- a/mp/src/game/shared/neo/weapons/weapon_grenade.cpp +++ b/mp/src/game/shared/neo/weapons/weapon_grenade.cpp @@ -81,6 +81,7 @@ bool CWeaponGrenade::Deploy(void) { m_bRedraw = false; m_fDrawbackFinished = false; + m_AttackPaused = GRENADE_PAUSED_NO; return BaseClass::Deploy(); } diff --git a/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp b/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp index 839a1d97d..782f9d423 100644 --- a/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp +++ b/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp @@ -68,6 +68,7 @@ bool CWeaponSmokeGrenade::Holster(CBaseCombatWeapon* pSwitchingTo) { m_bRedraw = false; m_fDrawbackFinished = false; + m_AttackPaused = GRENADE_PAUSED_NO; return BaseClass::Holster(pSwitchingTo); } From 24277888a1555ff878b6bec1e9a5b45596826627 Mon Sep 17 00:00:00 2001 From: VantoNortim Date: Fri, 3 May 2024 13:41:00 +0100 Subject: [PATCH 3/3] Revert "Holstering a nade puts the pin back" This reverts commit 94b0aefccf3f39bb492df2b3da1482e54ba28526. --- mp/src/game/shared/neo/weapons/weapon_grenade.cpp | 1 - mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/mp/src/game/shared/neo/weapons/weapon_grenade.cpp b/mp/src/game/shared/neo/weapons/weapon_grenade.cpp index c8216f8ae..8a8f0bdd8 100644 --- a/mp/src/game/shared/neo/weapons/weapon_grenade.cpp +++ b/mp/src/game/shared/neo/weapons/weapon_grenade.cpp @@ -81,7 +81,6 @@ bool CWeaponGrenade::Deploy(void) { m_bRedraw = false; m_fDrawbackFinished = false; - m_AttackPaused = GRENADE_PAUSED_NO; return BaseClass::Deploy(); } diff --git a/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp b/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp index 782f9d423..839a1d97d 100644 --- a/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp +++ b/mp/src/game/shared/neo/weapons/weapon_smokegrenade.cpp @@ -68,7 +68,6 @@ bool CWeaponSmokeGrenade::Holster(CBaseCombatWeapon* pSwitchingTo) { m_bRedraw = false; m_fDrawbackFinished = false; - m_AttackPaused = GRENADE_PAUSED_NO; return BaseClass::Holster(pSwitchingTo); }