From 7e5db609550cca0d8b8a76c4bf78ba4658962167 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 16 Apr 2016 02:02:00 -0400 Subject: Initial commit --- .../m9k_effect_mad_penetration_trace/init.lua | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 entities/effects/m9k_effect_mad_penetration_trace/init.lua (limited to 'entities/effects/m9k_effect_mad_penetration_trace/init.lua') 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 -- cgit v1.2.3-70-g09d2