diff --git a/src/game/server/swarm/asw_grenade_cluster.cpp b/src/game/server/swarm/asw_grenade_cluster.cpp index be090061a..f5e5e2fff 100644 --- a/src/game/server/swarm/asw_grenade_cluster.cpp +++ b/src/game/server/swarm/asw_grenade_cluster.cpp @@ -132,7 +132,6 @@ void CASW_Grenade_Cluster::Spawn( void ) SetThink( &CASW_Grenade_Cluster::CheckNearbyDrones ); SetNextThink( gpGlobals->curtime + asw_cluster_grenade_radius_check_interval.GetFloat() ); } - m_CreatorWeaponClass = (Class_T)CLASS_ASW_UNKNOWN; m_bTeslaAmped = false; @@ -226,6 +225,10 @@ CASW_Grenade_Cluster* CASW_Grenade_Cluster::Cluster_Grenade_Create( float flDama pGrenade->SetAbsAngles( angles ); UTIL_SetOrigin( pGrenade, position ); pGrenade->m_vecInitPos = position; + if ( pCreatorWeapon ) + { + pGrenade->m_CreatorWeaponClass = pCreatorWeapon->Classify(); + } pGrenade->Spawn(); pGrenade->m_flDamage = flDamage; pGrenade->m_DmgRadius = fRadius; @@ -236,7 +239,6 @@ CASW_Grenade_Cluster* CASW_Grenade_Cluster::Cluster_Grenade_Create( float flDama pGrenade->m_hCreatorWeapon = pCreatorWeapon; if ( pCreatorWeapon ) { - pGrenade->m_CreatorWeaponClass = pCreatorWeapon->Classify(); pGrenade->m_ProjectileData.GetForModify().SetFromWeapon( pCreatorWeapon ); } diff --git a/src/game/server/swarm/asw_grenade_cluster.h b/src/game/server/swarm/asw_grenade_cluster.h index 2db831d99..86ac80368 100644 --- a/src/game/server/swarm/asw_grenade_cluster.h +++ b/src/game/server/swarm/asw_grenade_cluster.h @@ -29,7 +29,7 @@ class CASW_Grenade_Cluster : public CASW_Grenade_Vindicator float m_fDetonateTime; float m_fEarliestAOEDetonationTime; - Class_T m_CreatorWeaponClass; + Class_T m_CreatorWeaponClass = (Class_T)CLASS_ASW_UNKNOWN; void SetAdvancedRicochet(bool bRicochet) { m_bAdvancedRicochet = bRicochet; } // if set, grenade will ricochet with increaced velocity if no world contact explosion specified. bool m_bAdvancedRicochet;