diff --git a/src/game/server/swarm/asw_barrel_explosive.cpp b/src/game/server/swarm/asw_barrel_explosive.cpp index 5adeae217..e3f1488bc 100644 --- a/src/game/server/swarm/asw_barrel_explosive.cpp +++ b/src/game/server/swarm/asw_barrel_explosive.cpp @@ -143,7 +143,7 @@ void CASW_Barrel_Explosive::DoExplosion() vecForward = Vector( 0, 0, -1 ); VectorNormalize( vecForward ); trace_t tr; - UTIL_TraceLine( GetAbsOrigin(), GetAbsOrigin() + flTraceDist * vecForward, MASK_SHOT_HULL | CONTENTS_TRANSLUCENT, this, COLLISION_GROUP_NONE, &tr ); + UTIL_TraceLine( GetAbsOrigin(), GetAbsOrigin() + flTraceDist * vecForward, MASK_SHOT_HULL, this, COLLISION_GROUP_NONE, &tr ); if ( ( tr.m_pEnt != GetWorldEntity() ) || ( tr.hitbox != 0 ) ) { diff --git a/src/game/server/swarm/asw_firewall_piece.cpp b/src/game/server/swarm/asw_firewall_piece.cpp index fe445b0a1..accbd24bb 100644 --- a/src/game/server/swarm/asw_firewall_piece.cpp +++ b/src/game/server/swarm/asw_firewall_piece.cpp @@ -103,7 +103,7 @@ void CASW_Firewall_Piece::Spawn( void ) // scorch decals trace_t tr2; - UTIL_TraceLine( tr.endpos + Vector( 0.0f, 0.0f, 32.0f ), tr.endpos + Vector( 0.0f, 0.0f, -60.0f ), MASK_SHOT_HULL | CONTENTS_TRANSLUCENT, this, ASW_COLLISION_GROUP_IGNORE_NPCS, &tr2 ); + UTIL_TraceLine( tr.endpos + Vector( 0.0f, 0.0f, 32.0f ), tr.endpos + Vector( 0.0f, 0.0f, -80.0f ), MASK_SHOT_HULL, this, ASW_COLLISION_GROUP_IGNORE_NPCS, &tr2 ); UTIL_DecalTrace( &tr2, "Scorch" ); } } diff --git a/src/game/server/swarm/asw_grenade_cluster.cpp b/src/game/server/swarm/asw_grenade_cluster.cpp index f15ca0704..be090061a 100644 --- a/src/game/server/swarm/asw_grenade_cluster.cpp +++ b/src/game/server/swarm/asw_grenade_cluster.cpp @@ -262,12 +262,12 @@ void CASW_Grenade_Cluster::DoExplosion() //if (m_bMaster) { Vector vecForward = GetAbsVelocity(); - float flTraceDist = 60.0f; + float flTraceDist = 80.0f; if ( vecForward.LengthSqr() < 0.001f ) vecForward = Vector( 0, 0, -1 ); VectorNormalize( vecForward ); trace_t tr; - UTIL_TraceLine( GetAbsOrigin(), GetAbsOrigin() + flTraceDist * vecForward, MASK_SHOT_HULL | CONTENTS_TRANSLUCENT, this, COLLISION_GROUP_NONE, &tr ); + UTIL_TraceLine( GetAbsOrigin(), GetAbsOrigin() + flTraceDist * vecForward, MASK_SHOT_HULL, this, COLLISION_GROUP_NONE, &tr ); if ( ( tr.m_pEnt != GetWorldEntity() ) || ( tr.hitbox != 0 ) ) { diff --git a/src/game/server/swarm/asw_grenade_vindicator.cpp b/src/game/server/swarm/asw_grenade_vindicator.cpp index 4b097eb6b..6b10b64ee 100644 --- a/src/game/server/swarm/asw_grenade_vindicator.cpp +++ b/src/game/server/swarm/asw_grenade_vindicator.cpp @@ -261,12 +261,12 @@ void CASW_Grenade_Vindicator::Detonate() if (m_bMaster) { Vector vecForward = GetAbsVelocity(); - float flTraceDist = 60.0f; + float flTraceDist = 80.0f; if ( vecForward.LengthSqr() < 0.001f ) vecForward = Vector( 0, 0, -1 ); VectorNormalize( vecForward ); trace_t tr; - UTIL_TraceLine( GetAbsOrigin(), GetAbsOrigin() + flTraceDist * vecForward, MASK_SHOT_HULL | CONTENTS_TRANSLUCENT, this, COLLISION_GROUP_NONE, &tr ); + UTIL_TraceLine( GetAbsOrigin(), GetAbsOrigin() + flTraceDist * vecForward, MASK_SHOT_HULL, this, COLLISION_GROUP_NONE, &tr ); if ( ( tr.m_pEnt != GetWorldEntity() ) || ( tr.hitbox != 0 ) ) { diff --git a/src/game/server/swarm/asw_laser_mine.cpp b/src/game/server/swarm/asw_laser_mine.cpp index 110ec5c83..2ae30f57a 100644 --- a/src/game/server/swarm/asw_laser_mine.cpp +++ b/src/game/server/swarm/asw_laser_mine.cpp @@ -235,7 +235,7 @@ void CASW_Laser_Mine::Explode( bool bRemove ) { // scorch decal trace_t tr; - UTIL_TraceLine( GetAbsOrigin() + m_vecSurfaceNormal * 32.0f, GetAbsOrigin() - m_vecSurfaceNormal * 80.0f, MASK_SHOT_HULL | CONTENTS_TRANSLUCENT, this, COLLISION_GROUP_NONE, &tr ); + UTIL_TraceLine( GetAbsOrigin() + m_vecSurfaceNormal * 32.0f, GetAbsOrigin() - m_vecSurfaceNormal * 80.0f, MASK_SHOT_HULL, this, COLLISION_GROUP_NONE, &tr ); if ( ( tr.m_pEnt != GetWorldEntity() ) || ( tr.hitbox != 0 ) ) { diff --git a/src/game/shared/swarm/asw_alien_shared.cpp b/src/game/shared/swarm/asw_alien_shared.cpp index 23bc98f11..8f5c87326 100644 --- a/src/game/shared/swarm/asw_alien_shared.cpp +++ b/src/game/shared/swarm/asw_alien_shared.cpp @@ -158,7 +158,7 @@ void CASW_Alien::DoBloodDecal( float flDamage, const Vector &vecPos, const Vecto vecTraceDir.z += random->RandomFloat( -flNoise, flNoise ); // Don't bleed on grates. - UTIL_TraceLine( vecPos, vecPos + vecTraceDir * -flTraceDist, MASK_SHOT_HULL | CONTENTS_TRANSLUCENT, this, COLLISION_GROUP_NONE, &Bloodtr); + UTIL_TraceLine( vecPos, vecPos + vecTraceDir * -flTraceDist, MASK_SHOT_HULL & ~CONTENTS_GRATE, this, COLLISION_GROUP_NONE, &Bloodtr); if ( Bloodtr.fraction != 1.0 ) { diff --git a/src/game/shared/swarm/rd_inventory_shared.cpp b/src/game/shared/swarm/rd_inventory_shared.cpp index 9e8ac3eb7..4e59b372f 100644 --- a/src/game/shared/swarm/rd_inventory_shared.cpp +++ b/src/game/shared/swarm/rd_inventory_shared.cpp @@ -3808,7 +3808,7 @@ namespace ReactiveDropInventory if ( bKilled && pTarget && pTarget->IsInhabitableNPC() ) s_RD_Inventory_Manager.IncrementStrangePropertyOnEquippedItems( assert_cast( pTarget ), 5007, 0, 0, false ); - if ( !pAttacker && !pTarget ) + if ( !pAttacker || !pTarget ) return; if ( bKilled && pWeapon