zombiesurvival-evolved/gamemodes/zombiesurvival/entities/effects/explosion_doomball.lua

58 lines
1.4 KiB
Lua
Raw Permalink Normal View History

function EFFECT:Init(data)
local pos = data:GetOrigin()
local normal = data:GetNormal() * -1
pos = pos + normal
sound.Play("ambient/fire/gascan_ignite1.wav", pos, 75, math.Rand(50, 55))
local emitter = ParticleEmitter(pos)
emitter:SetNearClip(24, 32)
for i=1, 6 do
local particle = emitter:Add("particles/smokey", pos)
particle:SetDieTime(math.Rand(2, 4.5))
particle:SetStartAlpha(30)
particle:SetEndAlpha(0)
particle:SetStartSize(200)
particle:SetEndSize(0)
particle:SetRollDelta(math.Rand(-5.5, 5.5))
particle:SetRoll(math.Rand(0, 360))
particle:SetColor(0, 0, 0)
end
for i=1, 80 do
local heading = VectorRand()
heading:Normalize()
local size = math.Rand(15, 25)
local particle = emitter:Add("particles/smokey", pos + heading * math.Rand(2, 64))
particle:SetVelocity(heading * math.Rand(-128, 256))
particle:SetDieTime(math.Rand(3, 5.5))
particle:SetStartAlpha(60)
particle:SetEndAlpha(0)
particle:SetStartSize(size)
particle:SetEndSize(size)
particle:SetRollDelta(math.Rand(-1.5, 1.5))
particle:SetRoll(math.Rand(0, 360))
particle:SetColor(0, 0, 0)
particle:SetAirResistance(math.Rand(50, 200))
end
emitter:Finish() emitter = nil collectgarbage("step", 64)
local effectdata = EffectData()
effectdata:SetOrigin(pos)
for i=1, 8 do
util.Effect("doomball_skull", effectdata)
end
end
function EFFECT:Think()
return false
end
function EFFECT:Render()
end