function EFFECT:Init( data )

    local Pos = data:GetOrigin()
	local Norm = data:GetNormal()
	local vOffset = data:GetOrigin()
	local emitter = ParticleEmitter( vOffset )
	
	self.Dietime = math.Rand( 0.5, 1 )
	
	for i = 1,math.random(10,50) do 	
		local particle = emitter:Add( "sprites/flamelet"..math.random(1,5).."", Pos + Norm * 3 )
		particle:SetVelocity( math.Rand( 200, 250 ) * VectorRand() + 4 * VectorRand())
		particle:SetAirResistance( 400 )
		particle:SetGravity( Vector(0, 0, 0) )
		particle:SetDieTime( self.Dietime )
		particle:SetStartAlpha( math.Rand( 200, 255 ) )
		particle:SetEndAlpha( 0 )
		particle:SetStartSize( math.random( 15, 20 ) )
		particle:SetEndSize( 0 )
		particle:SetRoll( math.Rand( 180, 650 ) )
		particle:SetRollDelta( math.Rand( -1, 1 ) )
		particle:SetColor( math.Rand( 200, 255 ), 255, 255 )
		particle:SetCollide(true)
		particle:SetBounce(0.45)
	end
	
	for i = 1,math.random(10,50) do 	
		local particle = emitter:Add( "Effects/fire_embers"..math.Rand( 1, 3 ).."", Pos + Norm * 3 )
		particle:SetVelocity( math.Rand( 300, 350 ) * VectorRand() + 4 * VectorRand())
		particle:SetAirResistance( 400 )
		particle:SetGravity( Vector(0, 0, 0) )
		particle:SetDieTime( math.Rand( 0.5, 1 ) )
		particle:SetStartAlpha( math.Rand( 200, 255 ) )
		particle:SetEndAlpha( 0 )
		particle:SetStartSize( math.random( 15, 20 ) )
		particle:SetEndSize( 0 )
		particle:SetRoll( math.Rand( 180, 650 ) )
		particle:SetRollDelta( math.Rand( -1, 1 ) )
		particle:SetColor( math.Rand( 200, 255 ), 255, 255 )
		particle:SetCollide(true)
		particle:SetBounce(0.45)
	end
	
	for i = 1,math.random(10,20) do 	
	    local particle = emitter:Add( "sprites/heatwave", Pos + Norm * 3 )
		particle:SetVelocity( math.Rand( 50, 100 ) * VectorRand() + 4 * VectorRand())
		particle:SetAirResistance( 140 )
		particle:SetGravity( Vector(0, 0, 0) )
		particle:SetDieTime( math.Rand(0.2,0.9) )
		particle:SetStartAlpha( 255 )
		particle:SetEndAlpha( 0 )
		particle:SetStartSize( math.random( 20, 35 ) )
		particle:SetEndSize( math.random( 5, 10 ) )
		particle:SetRoll( math.Rand( 180, 480 ) )
		particle:SetRollDelta( math.Rand( -1, 1 ) )
		particle:SetColor( 255, 255, 255 )
		particle:SetCollide(true)
		particle:SetBounce(0.45)
	end
	
	for i = 1,math.random(10,50) do
		local particle = emitter:Add("particle/particle_smokegrenade", Pos)
		particle:SetVelocity(math.Rand( 100, 200 ) * VectorRand() )
		particle:SetDieTime(math.Rand(0.5,1.5))
		particle:SetStartAlpha(math.Rand(150,200))
		particle:SetStartSize(math.random(10,15))
		particle:SetEndSize(math.Rand(30,100))
		particle:SetRoll(math.Rand(180,480))
		particle:SetRollDelta(math.Rand(-1,1))
		particle:SetColor(190,190,190)
		particle:SetLighting(true)
		particle:SetAirResistance(150)
		particle:SetCollide(true)
    end
	
	WorldSound( "ambient/fire/gascan_ignite1.wav", Pos, 95, math.random( 90, 110 ) )
	
	local dlight = DynamicLight(0)
	if (dlight) then
		dlight.Pos 		= Pos
		dlight.r 		= 70
		dlight.g 		= 50
		dlight.b 		= 0
		dlight.Brightness = 6
		dlight.Decay = 200
		dlight.size 	= math.Rand(150, 250)
		dlight.DieTime 	= CurTime() + self.Dietime
	end
	
	emitter:Finish()
end

function EFFECT:Think()
	return false
end


function EFFECT:Render()
end