void CEffectsClient::MuzzleFlash( const Vector &vecOrigin, const QAngle &vecAngles, float flScale, int iType ) { CPVSFilter filter( vecOrigin ); if ( !SuppressTE( filter ) ) { switch( iType ) { case MUZZLEFLASH_TYPE_DEFAULT: FX_MuzzleEffect( vecOrigin, vecAngles, flScale, INVALID_EHANDLE_INDEX ); break; case MUZZLEFLASH_TYPE_GUNSHIP: FX_GunshipMuzzleEffect( vecOrigin, vecAngles, flScale, INVALID_EHANDLE_INDEX ); break; case MUZZLEFLASH_TYPE_STRIDER: FX_StriderMuzzleEffect( vecOrigin, vecAngles, flScale, INVALID_EHANDLE_INDEX ); break; default: Msg("No case for Muzzleflash type: %d\n", iType ); break; } } }
void C_NEOPlayer::ProcessMuzzleFlashEvent() { Vector vector; QAngle angles; bool bFoundAttachment = GetAttachment( 1, vector, angles ); if ( bFoundAttachment ) { dlight_t *el = effects->CL_AllocDlight( LIGHT_INDEX_MUZZLEFLASH + index ); el->origin = vector; el->radius = RandomFloat( 32.f, 64.f ); el->decay = el->radius / 0.05f; el->die = gpGlobals->curtime + 0.05f; el->color.r = 255; el->color.g = 192; el->color.b = 64; el->color.exponent = 5; } CWeaponNEOBase* activeWeapon = GetActiveNEOWeapon(); if ( activeWeapon ) FX_MuzzleEffect( activeWeapon->GetAbsOrigin(), activeWeapon->GetAbsAngles(), 1.f, 0 ); // It doesn't use GetAbsAngles, I'll change this later }