zombiesurvival-evolved/gamemodes/zombiesurvival/entities/entities/projectile_nova/cl_init.lua
William Moodhe e9da54c2f9 ZS updates for 2014-2018
Too many changes to list.
2018-05-01 18:32:59 -04:00

97 lines
2.8 KiB
Lua

INC_CLIENT()
local matGlow = Material("effects/splashwake1")
local matGlow2 = Material("sprites/glow04_noz")
local matWhite = Material("models/debug/debugwhite")
local vector_origin = vector_origin
function ENT:Draw()
local alt = self:GetDTBool(0)
render.ModelMaterialOverride(matWhite)
render.SetColorModulation(1, alt and 1 or 0.5, 0.2)
render.SuppressEngineLighting(true)
self:DrawModel()
render.SuppressEngineLighting(false)
render.SetColorModulation(1, 1, 1)
render.ModelMaterialOverride(nil)
local pos = self:GetPos()
if self:GetVelocity() ~= vector_origin then
render.SetMaterial(matGlow2)
render.DrawSprite(pos, alt and 25 or 50, alt and 25 or 50, Color(255, alt and 180 or 100, 100, 10))
render.SetMaterial(matGlow)
render.DrawSprite(pos, alt and 6 or 12, alt and 6 or 12, Color(255, alt and 180 or 10, 10))
local emitter = ParticleEmitter(pos)
emitter:SetNearClip(24, 32)
local particle
for i=0, 1 do
particle = emitter:Add(matGlow2, pos)
particle:SetVelocity(VectorRand() * 5)
particle:SetDieTime(0.1)
particle:SetStartAlpha(alt and 65 or 125)
particle:SetEndAlpha(0)
particle:SetStartSize(5)
particle:SetEndSize(0)
particle:SetRollDelta(math.Rand(-10, 10))
particle:SetColor(255, alt and 180 or 100, 100)
end
emitter:Finish() emitter = nil collectgarbage("step", 64)
end
end
function ENT:OnRemove()
local pos = self:GetPos()
local alt = self:GetDTBool(0)
sound.Play("weapons/physcannon/energy_bounce1.wav", pos, 75, math.random(124, 135))
local emitter = ParticleEmitter(pos)
emitter:SetNearClip(24, 32)
local particle
for i=0, 19 do
particle = emitter:Add(matGlow, pos)
particle:SetVelocity(VectorRand() * 75)
particle:SetDieTime(0.5)
particle:SetStartAlpha(255)
particle:SetEndAlpha(0)
particle:SetStartSize(math.Rand(2, 3))
particle:SetEndSize(0)
particle:SetRoll(math.Rand(-0.8, 0.8))
particle:SetRollDelta(math.Rand(-3, 3))
particle:SetColor(245, alt and 155 or 33, 20)
end
for i=0,5 do
particle = emitter:Add(matGlow, pos)
particle:SetVelocity(VectorRand() * 5)
particle:SetDieTime(0.3)
particle:SetStartAlpha(255)
particle:SetEndAlpha(0)
particle:SetStartSize(math.Rand(24, 25))
particle:SetEndSize(0)
particle:SetRoll(math.Rand(-0.8, 0.8))
particle:SetRollDelta(math.Rand(-3, 3))
particle:SetColor(245, 35, 20)
end
for i=1, 45 do
particle = emitter:Add("effects/splash2", pos)
particle:SetDieTime(0.6)
particle:SetColor(255, alt and 150 or 35, 20)
particle:SetStartAlpha(255)
particle:SetEndAlpha(0)
particle:SetStartSize(5)
particle:SetEndSize(0)
particle:SetStartLength(1)
particle:SetEndLength(5)
particle:SetVelocity(VectorRand():GetNormal() * 100)
end
emitter:Finish() emitter = nil collectgarbage("step", 64)
end
function ENT:Initialize()
end
function ENT:Think()
end