diff options
Diffstat (limited to 'entities/effects/fire_tracer/init.lua')
| -rw-r--r-- | entities/effects/fire_tracer/init.lua | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/entities/effects/fire_tracer/init.lua b/entities/effects/fire_tracer/init.lua index 3f8842b..eef727a 100644 --- a/entities/effects/fire_tracer/init.lua +++ b/entities/effects/fire_tracer/init.lua @@ -7,24 +7,24 @@ function EFFECT:Init( data ) self.Position = data:GetStart() self.WeaponEnt = data:GetEntity() self.Attachment = data:GetAttachment() - + self.StartPos = self:GetTracerShootPos( self.Position, self.WeaponEnt, self.Attachment ) self.EndPos = data:GetOrigin() - + local dir = self.StartPos - self.EndPos dir:Normalize() - + self.Dir = dir - + self.Entity:SetRenderBoundsWS( self.StartPos, self.EndPos ) - + self.Alpha = 100 self.Color = Color( 250, 150, 50, self.Alpha ) - + local dlight = DynamicLight( self:EntIndex() ) - + if dlight then - + dlight.Pos = self.StartPos dlight.r = 255 dlight.g = 150 @@ -33,7 +33,7 @@ function EFFECT:Init( data ) dlight.Decay = 256 dlight.size = 256 * math.Rand( 0.5, 1.0 ) dlight.DieTime = CurTime() + 5 - + end end @@ -44,7 +44,7 @@ function EFFECT:Think( ) self.Alpha = self.Alpha - FrameTime() * 200 self.Color = Color( 250, 150, 50, self.Alpha ) - + return self.Alpha > 0 end @@ -52,36 +52,36 @@ end function EFFECT:Render( ) if self.Alpha < 1 then return end - + --[[self.Length = ( self.StartPos - self.EndPos ):Length() - + render.SetMaterial( self.Mat ) render.DrawBeam( self.StartPos, self.EndPos, ( 100 / self.Alpha ) * 0.5 + 0.5, 0, 0, self.Color )]] - + if ( self.Alpha < 1 ) then return end self.Length = (self.StartPos - self.EndPos):Length() - + local texcoord = CurTime() * -0.2 - + for i = 1, 10 do - + render.SetMaterial( self.Mat ) - + texcoord = texcoord + i * 0.05 * texcoord - - render.DrawBeam( self.StartPos, - self.EndPos, - i * self.Alpha * 0.03, - texcoord, - texcoord + (self.Length / (128 + self.Alpha)), + + render.DrawBeam( self.StartPos, + self.EndPos, + i * self.Alpha * 0.03, + texcoord, + texcoord + (self.Length / (128 + self.Alpha)), self.Color ) - + render.SetMaterial( self.Sprite ) render.DrawSprite( self.StartPos + self.Dir * i, i * 5, i * 5, Color( self.Color.r, self.Color.g, self.Color.b, self.Alpha ) ) render.DrawSprite( self.EndPos, i * 5, i * 5, Color( self.Color.r, self.Color.g, self.Color.b, self.Alpha ) ) - + end end |
