rendered paste body
EFFECT.Mat = Material( "cable/redlaser" )
/*---------------------------------------------------------
Init( data table )
---------------------------------------------------------*/
function EFFECT:Init( data )
self.EndPos = data:GetOrigin()
self.StartPos = self.EndPos - data:GetStart()
self.Enti = data:GetEntity()
self.TracerTime = 3
self.Alpha = 200
// Die when it reaches its target
self.DieTime = CurTime() + self.TracerTime
end
/*---------------------------------------------------------
THINK
---------------------------------------------------------*/
function EFFECT:Think( )
if !self.Enti:IsValid() then return false end
if ( CurTime() > self.DieTime ) then return false end
self.Alpha = self.Alpha - 15
return true
end
/*---------------------------------------------------------
Draw the effect
---------------------------------------------------------*/
function EFFECT:Render( )
if !self.Enti:IsValid() then return false end
local randUp = math.random(-8, 8)
local randRight = math.random(-8, 8)
local RandOffset = self.Enti:GetRight() * randRight + self.Enti:GetForward() * randUp
render.SetMaterial( self.Mat )
self.StartPos = self.StartPos + RandOffset
self.EndPos = self.EndPos + RandOffset
render.DrawBeam( self.StartPos,
self.EndPos,
2,
1,
0,
Color(0,0,255,self.Alpha))
end