From 63fe9cc0acd5d31377db5a36b07d6dabc996a605 Mon Sep 17 00:00:00 2001 From: FrozenDragon Date: Mon, 17 Nov 2025 22:05:29 +0800 Subject: [PATCH] Fixed Exorcism not working properly for the Stickybomb launcher and Ullapool Caber's explosion kills Fixes: https://github.com/ValveSoftware/Source-1-Games/issues/7692 https://github.com/ValveSoftware/source-1-games/issues/7380 Changed the way the Exorcism spell particle is dispatched, the previous DispatchParticleEffect has issues with Exorcism on certain weapons for whatever reason, but changing the code to TE_TFParticleEffect seems to fix these issues completely. As a bonus, this also fixes weapons with taunt kills, so any Exorcism taunt kill weapons will now also affect the taunt kill aswell. --- src/game/server/tf/tf_player.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/game/server/tf/tf_player.cpp b/src/game/server/tf/tf_player.cpp index fa944e35611..93db7c9ae90 100644 --- a/src/game/server/tf/tf_player.cpp +++ b/src/game/server/tf/tf_player.cpp @@ -11490,14 +11490,11 @@ void CTFPlayer::CheckSpellHalloweenDeathGhosts( const CTakeDamageInfo &info, CTF CALL_ATTRIB_HOOK_INT_ON_OTHER( pWeapon, iHalloweenDeathGhosts, halloween_death_ghosts ); if ( iHalloweenDeathGhosts > 0 ) { - if ( pTFVictim->GetTeam()->GetTeamNumber() == TF_TEAM_BLUE ) - { - DispatchParticleEffect( "halloween_player_death_blue", pTFVictim->GetAbsOrigin() + Vector( 0, 0, 32 ), vec3_angle ); - } - else if ( pTFVictim->GetTeam()->GetTeamNumber() == TF_TEAM_RED ) - { - DispatchParticleEffect( "halloween_player_death", pTFVictim->GetAbsOrigin() + Vector( 0, 0, 32 ), vec3_angle ); - } + const char* pszParticle = (pTFVictim->GetTeam()->GetTeamNumber() == TF_TEAM_BLUE) ? + "halloween_player_death_blue" : "halloween_player_death"; + + CPVSFilter filter( pTFVictim->GetAbsOrigin() ); + TE_TFParticleEffect( filter, 0.0, pszParticle, pTFVictim->GetAbsOrigin() + Vector( 0, 0, 32 ), vec3_angle ); } } }