Files
wnsrc/gamemodes/ixhl2rp/plugins/vortigaunts/entities/effects/extract_use.lua
lifestorm c6d9b6f580 Upload
2024-08-05 18:40:29 +03:00

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