summaryrefslogtreecommitdiff
path: root/entities/effects/m9k_effect_mad_penetration_trace/init.lua
diff options
context:
space:
mode:
authorAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-04-16 02:02:00 -0400
committerAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-04-16 02:02:00 -0400
commit7e5db609550cca0d8b8a76c4bf78ba4658962167 (patch)
tree4df54e0c4eccff0b022e0732c258b7b193fd6cfe /entities/effects/m9k_effect_mad_penetration_trace/init.lua
downloadgmstranded-7e5db609550cca0d8b8a76c4bf78ba4658962167.tar.gz
gmstranded-7e5db609550cca0d8b8a76c4bf78ba4658962167.tar.bz2
gmstranded-7e5db609550cca0d8b8a76c4bf78ba4658962167.zip
Initial commit
Diffstat (limited to 'entities/effects/m9k_effect_mad_penetration_trace/init.lua')
-rw-r--r--entities/effects/m9k_effect_mad_penetration_trace/init.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/entities/effects/m9k_effect_mad_penetration_trace/init.lua b/entities/effects/m9k_effect_mad_penetration_trace/init.lua
new file mode 100644
index 0000000..24a23e8
--- /dev/null
+++ b/entities/effects/m9k_effect_mad_penetration_trace/init.lua
@@ -0,0 +1,45 @@
+EFFECT.Mat = Material( "effects/spark" )
+
+/*---------------------------------------------------------
+ EFFECT:Init(data)
+---------------------------------------------------------*/
+function EFFECT:Init(data)
+
+ self.StartPos = data:GetStart()
+ self.EndPos = data:GetOrigin()
+ self.Dir = self.EndPos - self.StartPos
+ self.Entity:SetRenderBoundsWS(self.StartPos, self.EndPos)
+
+ self.TracerTime = 0.4
+
+ // Die when it reaches its target
+ self.DieTime = CurTime() + self.TracerTime
+
+end
+
+/*---------------------------------------------------------
+ THINK
+---------------------------------------------------------*/
+function EFFECT:Think()
+
+ if (CurTime() > self.DieTime) then return false end
+
+ return true
+end
+
+/*---------------------------------------------------------
+ Draw the effect
+---------------------------------------------------------*/
+function EFFECT:Render()
+
+ local fDelta = (self.DieTime - CurTime()) / self.TracerTime
+ fDelta = math.Clamp(fDelta, 0, 1)
+
+ render.SetMaterial(self.Mat)
+
+ local sinWave = math.sin(fDelta * math.pi)
+
+ local color = Color(255, 255, 255, 255 * fDelta)
+
+ render.DrawBeam(self.StartPos, self.EndPos, 8 * fDelta, 1, 0, color)
+end \ No newline at end of file