mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
84 lines
2.1 KiB
Lua
84 lines
2.1 KiB
Lua
|
|
--[[
|
||
|
|
| This file was obtained through the combined efforts
|
||
|
|
| of Madbluntz & Plymouth Antiquarian Society.
|
||
|
|
|
|
||
|
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||
|
|
| Maloy, DrPepper10 @ RIP, Atle!
|
||
|
|
|
|
||
|
|
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||
|
|
--]]
|
||
|
|
|
||
|
|
local smoke = {
|
||
|
|
"particle/smokesprites_0001",
|
||
|
|
"particle/smokesprites_0002",
|
||
|
|
"particle/smokesprites_0003",
|
||
|
|
"particle/smokesprites_0004",
|
||
|
|
"particle/smokesprites_0005",
|
||
|
|
"particle/smokesprites_0006",
|
||
|
|
"particle/smokesprites_0007",
|
||
|
|
"particle/smokesprites_0008",
|
||
|
|
"particle/smokesprites_0009",
|
||
|
|
"particle/smokesprites_0010",
|
||
|
|
"particle/smokesprites_0011",
|
||
|
|
"particle/smokesprites_0012",
|
||
|
|
"particle/smokesprites_0013",
|
||
|
|
"particle/smokesprites_0014",
|
||
|
|
"particle/smokesprites_0015",
|
||
|
|
"particle/smokesprites_0016"
|
||
|
|
}
|
||
|
|
|
||
|
|
function EFFECT:Init( data )
|
||
|
|
local vOffset = data:GetOrigin()
|
||
|
|
|
||
|
|
local emitter = ParticleEmitter( vOffset, false )
|
||
|
|
|
||
|
|
for i = 1, 80 do
|
||
|
|
local Pos = Vector( math.Rand( -1, 1 ), math.Rand( -1, 1 ), 0)
|
||
|
|
local particle = emitter:Add( smoke[math.random(1, #smoke)], vOffset + Pos * 4 )
|
||
|
|
if ( particle ) then
|
||
|
|
particle:SetVelocity( Pos * 320 )
|
||
|
|
|
||
|
|
particle:SetLifeTime( 0 )
|
||
|
|
particle:SetDieTime( 8 )
|
||
|
|
|
||
|
|
particle:SetStartAlpha( 8 )
|
||
|
|
particle:SetEndAlpha( 0 )
|
||
|
|
|
||
|
|
particle:SetColor(60, 193, 255)
|
||
|
|
particle:SetRoll( math.Rand( -1, 1 ) )
|
||
|
|
|
||
|
|
local Size = math.random( 100, 150 )
|
||
|
|
particle:SetStartSize( Size )
|
||
|
|
particle:SetEndSize( Size )
|
||
|
|
|
||
|
|
particle:SetAirResistance( 50 )
|
||
|
|
particle:SetGravity( Vector( math.Rand( -1, 1 ) * 50, math.Rand( -1, 1 ) * 50, 10 ) )
|
||
|
|
|
||
|
|
end
|
||
|
|
end
|
||
|
|
timer.Simple(4.2, function()
|
||
|
|
for i = 0, 80 do
|
||
|
|
local exp = emitter:Add( smoke[math.random(1, #smoke)], vOffset)
|
||
|
|
|
||
|
|
if exp then
|
||
|
|
exp:SetVelocity( Vector(math.Rand(-1, 1), math.Rand(-1, 1), 0) * 300 )
|
||
|
|
exp:SetDieTime( 3 )
|
||
|
|
exp:SetStartAlpha( 68 )
|
||
|
|
exp:SetStartSize( 150 )
|
||
|
|
exp:SetEndSize( 80 )
|
||
|
|
exp:SetEndAlpha( 0 )
|
||
|
|
exp:SetRoll( math.Rand( -1, 1 ) )
|
||
|
|
exp:SetColor(60, 193, 255)
|
||
|
|
exp:SetGravity( Vector( math.Rand( -1, 1 ) * 50, math.Rand( -1, 1 ) * 50, 10 ) )
|
||
|
|
end
|
||
|
|
end
|
||
|
|
emitter:Finish()
|
||
|
|
end)
|
||
|
|
end
|
||
|
|
|
||
|
|
function EFFECT:Think()
|
||
|
|
return false
|
||
|
|
end
|
||
|
|
|
||
|
|
function EFFECT:Render()
|
||
|
|
end
|