summaryrefslogtreecommitdiff
path: root/entities/effects/fire_tracer/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'entities/effects/fire_tracer/init.lua')
-rw-r--r--entities/effects/fire_tracer/init.lua50
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