function EFFECT:Init(data)

	local pos = data:GetOrigin()

	local norm = data:GetNormal()

	local ent = data:GetEntity()



	if ent and ent:IsValid() then

		ent:EmitSound("ambient/machines/steam_release_2.wav", 70, 255)



		if ent:IsPlayer() then

			ent:EmitSound("weapons/crossbow/hitbod"..math.random(2)..".wav", 70, 140)

		end

	else

		sound.Play("ambient/machines/steam_release_2.wav", pos, 70, 255)

	end



	local emitter = ParticleEmitter(pos)

	emitter:SetNearClip(16, 24)



	for i=1, 32 do

		local ang = norm:Angle()

		ang:RotateAroundAxis(ang:Up(), math.Rand(0, 360))

		ang:RotateAroundAxis(ang:Right(), math.Rand(-80, 80))



		local particle = emitter:Add("particle/smokestack", pos)

		particle:SetVelocity(ang:Forward() * math.Rand(4, 32))

		particle:SetDieTime(math.Rand(0.75, 1.25))

		particle:SetStartAlpha(255)

		particle:SetEndAlpha(0)

		particle:SetStartSize(0)

		particle:SetEndSize(6)

		particle:SetColor(10, 255, 10)

		particle:SetRoll(math.Rand(0, 360))

		particle:SetRollDelta(math.Rand(-4, 4))

		particle:SetGravity(Vector(0, 0, -10))

		particle:SetAirResistance(100)

	end



	emitter:Finish()

end



function EFFECT:Think()

	return false

end



function EFFECT:Render()

end



