示例#1
0
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;
		}
	}
}
示例#2
0
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
}