From 525ae1b800cc05a4d87a9e67a8b78373e59499d7 Mon Sep 17 00:00:00 2001 From: WereTech <17415815+WereTech@users.noreply.github.com> Date: Fri, 7 Nov 2025 07:17:37 -0600 Subject: [PATCH 1/3] Fix tf_point_weapon_mimic not using Fire Sound This simply adds an EmitSound to Fire that uses m_pzsFireSound (which is defined, but not used anywhere) before the switch case for picking the right weapon type. --- .../server/tf/player_vs_environment/tf_point_weapon_mimic.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp b/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp index 911c7362104..46fa6a10f61 100644 --- a/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp +++ b/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp @@ -149,6 +149,7 @@ void CTFPointWeaponMimic::Fire() { Assert( m_nWeaponType >= 0 && m_nWeaponType < WEAPON_TYPES ); + EmitSound( m_pzsFireSound ); switch( m_nWeaponType ) { case WEAPON_STANDARD_ROCKET: From 265968a22e3fc7d67083faf7ef8cd9cdb5193a41 Mon Sep 17 00:00:00 2001 From: WereTech <17415815+WereTech@users.noreply.github.com> Date: Fri, 7 Nov 2025 07:52:13 -0600 Subject: [PATCH 2/3] forgot the precache --- .../server/tf/player_vs_environment/tf_point_weapon_mimic.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp b/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp index 46fa6a10f61..b290c9fbb70 100644 --- a/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp +++ b/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp @@ -149,6 +149,7 @@ void CTFPointWeaponMimic::Fire() { Assert( m_nWeaponType >= 0 && m_nWeaponType < WEAPON_TYPES ); + PrecacheScriptSound( m_pzsFireSound ); EmitSound( m_pzsFireSound ); switch( m_nWeaponType ) { From bfa7df56ccf2a65f360173a4e4aa6e3a73fe1768 Mon Sep 17 00:00:00 2001 From: WereTech <17415815+WereTech@users.noreply.github.com> Date: Fri, 7 Nov 2025 09:37:21 -0600 Subject: [PATCH 3/3] move precache to its own function also move model precache into this new function for consistency --- .../tf_point_weapon_mimic.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp b/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp index b290c9fbb70..f49996bfef2 100644 --- a/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp +++ b/src/game/server/tf/player_vs_environment/tf_point_weapon_mimic.cpp @@ -14,6 +14,7 @@ class CTFPointWeaponMimic : public CPointEntity CTFPointWeaponMimic(); ~CTFPointWeaponMimic(); virtual void Spawn(); + virtual void Precache(); void InputFireOnce( inputdata_t& inputdata ); void InputFireMultiple( inputdata_t& inputdata ); @@ -99,13 +100,21 @@ CTFPointWeaponMimic::~CTFPointWeaponMimic() void CTFPointWeaponMimic::Spawn() { BaseClass::Spawn(); + Precache(); + ChangeTeam( TF_TEAM_BLUE ); +} +void CTFPointWeaponMimic::Precache() +{ + if( m_pzsFireSound ) + { + PrecacheScriptSound( m_pzsFireSound ); + } + if( m_pzsModelOverride ) { PrecacheModel( m_pzsModelOverride ); } - - ChangeTeam( TF_TEAM_BLUE ); } @@ -149,7 +158,6 @@ void CTFPointWeaponMimic::Fire() { Assert( m_nWeaponType >= 0 && m_nWeaponType < WEAPON_TYPES ); - PrecacheScriptSound( m_pzsFireSound ); EmitSound( m_pzsFireSound ); switch( m_nWeaponType ) {