From 35d6edf6dc4aeaed92bf7e0ed810739861501a03 Mon Sep 17 00:00:00 2001 From: Andrey Akhmichin <15944199+nekonomicon@users.noreply.github.com> Date: Wed, 2 Nov 2022 22:47:19 +0500 Subject: [PATCH] Override AddToPlayer function for all weapons. --- dlls/handgrenade.cpp | 16 ++++++++++++++++ dlls/hs/beamkatana.cpp | 14 ++++++++++++++ dlls/hs/boombox.cpp | 14 ++++++++++++++ dlls/hs/fotns.cpp | 14 ++++++++++++++ dlls/hs/goldengun.cpp | 12 ++++++++++++ dlls/hs/jackal.cpp | 12 ++++++++++++ dlls/hs/jason.cpp | 14 ++++++++++++++ dlls/hs/jihad.cpp | 15 +++++++++++++++ dlls/hs/zapper.cpp | 12 ++++++++++++ dlls/squeakgrenade.cpp | 16 ++++++++++++++++ dlls/tripmine.cpp | 12 ++++++++++++ dlls/weapons.h | 11 +++++++++++ 12 files changed, 162 insertions(+) diff --git a/dlls/handgrenade.cpp b/dlls/handgrenade.cpp index f9f360ec..ecb7c6a2 100644 --- a/dlls/handgrenade.cpp +++ b/dlls/handgrenade.cpp @@ -75,6 +75,22 @@ int CHandGrenade::GetItemInfo( ItemInfo *p ) return 1; } + + +int CHandGrenade::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + + + BOOL CHandGrenade::Deploy() { m_flReleaseThrow = -1; diff --git a/dlls/hs/beamkatana.cpp b/dlls/hs/beamkatana.cpp index 3d8b40de..8430c098 100644 --- a/dlls/hs/beamkatana.cpp +++ b/dlls/hs/beamkatana.cpp @@ -93,6 +93,20 @@ int CBeamKatana::GetItemInfo(ItemInfo *p) +int CBeamKatana::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + + + BOOL CBeamKatana::Deploy( ) { return DefaultDeploy( "models/v_beamkatana.mdl", "models/p_beamkatana.mdl", BEAMKATANA_DRAW, "crowbar" ); diff --git a/dlls/hs/boombox.cpp b/dlls/hs/boombox.cpp index f589bec6..9c5d229f 100644 --- a/dlls/hs/boombox.cpp +++ b/dlls/hs/boombox.cpp @@ -88,6 +88,20 @@ int CBoombox::GetItemInfo(ItemInfo *p) +int CBoombox::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + + + BOOL CBoombox::Deploy( ) { return DefaultDeploy( "models/v_boombox.mdl", "models/p_boombox.mdl", BOOMBOX_DRAW, "rpg" ); diff --git a/dlls/hs/fotns.cpp b/dlls/hs/fotns.cpp index 2efcbebd..e3638b9c 100644 --- a/dlls/hs/fotns.cpp +++ b/dlls/hs/fotns.cpp @@ -95,6 +95,20 @@ int CFOTN::GetItemInfo(ItemInfo *p) +int CFOTN::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + + + BOOL CFOTN::Deploy( ) { EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/fotn_omae.wav", 1, ATTN_NORM); diff --git a/dlls/hs/goldengun.cpp b/dlls/hs/goldengun.cpp index 5dd13fbd..48ef99d6 100644 --- a/dlls/hs/goldengun.cpp +++ b/dlls/hs/goldengun.cpp @@ -65,6 +65,18 @@ int CGOLDENGUN::GetItemInfo(ItemInfo *p) return 1; } +int CGOLDENGUN::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + BOOL CGOLDENGUN::Deploy( ) { return DefaultDeploy( "models/v_goldengun.mdl", "models/p_goldengun.mdl", GOLDENGUN_DEPLOY, "goldengun", 0 ); diff --git a/dlls/hs/jackal.cpp b/dlls/hs/jackal.cpp index a6859639..ce94f966 100644 --- a/dlls/hs/jackal.cpp +++ b/dlls/hs/jackal.cpp @@ -63,6 +63,18 @@ int CJackal::GetItemInfo(ItemInfo *p) return 1; } +int CJackal::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + BOOL CJackal::Deploy( ) { return DefaultDeploy( "models/v_jackal.mdl", "models/p_jackal.mdl", Jackal_DEPLOY, "jackal", 0 ); diff --git a/dlls/hs/jason.cpp b/dlls/hs/jason.cpp index 01679182..3b7c620a 100644 --- a/dlls/hs/jason.cpp +++ b/dlls/hs/jason.cpp @@ -80,6 +80,20 @@ int CJason::GetItemInfo(ItemInfo *p) +int CJason::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + + + BOOL CJason::Deploy( ) { return DefaultDeploy( "models/v_jason.mdl", "models/p_jason.mdl", JASON_DRAW, "jason" ); diff --git a/dlls/hs/jihad.cpp b/dlls/hs/jihad.cpp index 7b6e8fda..285b12f8 100644 --- a/dlls/hs/jihad.cpp +++ b/dlls/hs/jihad.cpp @@ -81,6 +81,21 @@ int CJihad::GetItemInfo(ItemInfo *p) } + +int CJihad::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + + + BOOL CJihad::Deploy( ) { //m_flReleaseThrow = -1; diff --git a/dlls/hs/zapper.cpp b/dlls/hs/zapper.cpp index 675468dc..7775e806 100644 --- a/dlls/hs/zapper.cpp +++ b/dlls/hs/zapper.cpp @@ -60,6 +60,18 @@ int CZAPPER::GetItemInfo(ItemInfo *p) return 1; } +int CZAPPER::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + BOOL CZAPPER::Deploy( ) { return DefaultDeploy( "models/v_zapper.mdl", "models/p_zapper.mdl", ZAPPER_DRAW, "onehanded", 0 ); diff --git a/dlls/squeakgrenade.cpp b/dlls/squeakgrenade.cpp index f448df27..7fc25b2b 100644 --- a/dlls/squeakgrenade.cpp +++ b/dlls/squeakgrenade.cpp @@ -453,6 +453,22 @@ int CSqueak::GetItemInfo( ItemInfo *p ) return 1; } + + +int CSqueak::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + + + BOOL CSqueak::Deploy() { // play hunt sound diff --git a/dlls/tripmine.cpp b/dlls/tripmine.cpp index 2f09709f..5b601143 100644 --- a/dlls/tripmine.cpp +++ b/dlls/tripmine.cpp @@ -430,6 +430,18 @@ int CTripmine::GetItemInfo( ItemInfo *p ) return 1; } +int CTripmine::AddToPlayer( CBasePlayer *pPlayer ) +{ + if( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) + { + MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); + WRITE_BYTE( m_iId ); + MESSAGE_END(); + return TRUE; + } + return FALSE; +} + BOOL CTripmine::Deploy() { pev->body = 0; diff --git a/dlls/weapons.h b/dlls/weapons.h index 5d21310b..75c4bd5a 100644 --- a/dlls/weapons.h +++ b/dlls/weapons.h @@ -617,6 +617,7 @@ public: void EXPORT SwingAgain( void ); void EXPORT Smack( void ); int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void EndAttack( void ); void PrimaryAttack( void ); @@ -652,6 +653,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 1; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); void SecondaryAttack( void ); @@ -903,6 +905,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 5; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); BOOL Deploy( void ); @@ -963,6 +966,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 5; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void SetObjectCollisionBox( void ) { //!!!BUGBUG - fix the model! @@ -996,6 +1000,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 3; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); void SecondaryAttack( void ); @@ -1092,6 +1097,7 @@ public: void EXPORT SwingAgain( void ); void EXPORT Smack( void ); int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); BOOL Deploy( void ); void Holster( int skiplocal = 0 ); @@ -1120,6 +1126,7 @@ public: void EXPORT SwingAgain( void ); void EXPORT Smack( void ); int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); //void FindHullIntersection( const Vector &vecSrc, TraceResult &tr, float *mins, float *maxs, edict_t *pEntity ); void PrimaryAttack( void ); @@ -1250,6 +1257,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 2; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); void SecondaryAttack( void ); @@ -1279,6 +1287,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 2; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); void SecondaryAttack( void ); @@ -1339,6 +1348,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 5; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); //void SecondaryAttack( void ); @@ -1434,6 +1444,7 @@ public: void Precache( void ); int iItemSlot( void ) { return 2; } int GetItemInfo(ItemInfo *p); + int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); void SecondaryAttack( void );