--[[ | 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/ --]] function EFFECT:Init( data ) local vOffset = data:GetOrigin() sound.Play( "garrysmod/balloon_pop_cute.wav", vOffset, 90, math.random( 90, 120 ) ) local NumParticles = 48 local emitter = ParticleEmitter( vOffset, true ) for i = 0, NumParticles do local Color = Color(math.random(255), math.random(255), math.random(255)) local Pos = Vector( math.Rand( -0.5, 0.5 ), math.Rand( -0.5, 0.5 ), math.Rand( -0.5, 0.5 ) ) + data:GetStart() local particle = emitter:Add( "particles/balloon_bit", vOffset + Pos * 8 ) if ( particle ) then particle:SetVelocity( Pos * 600 ) particle:SetLifeTime( 0 ) particle:SetDieTime( 10 ) particle:SetStartAlpha( 255 ) particle:SetEndAlpha( 255 ) local Size = math.Rand( 1, 2 ) particle:SetStartSize( Size ) particle:SetEndSize( 0 ) particle:SetRoll( math.Rand( 0, 360 ) ) particle:SetRollDelta( math.Rand( -2, 2 ) ) particle:SetAirResistance( 80 ) particle:SetGravity( Vector( 0, 0, -300 ) ) local RandDarkness = math.Rand( 0.8, 1.0 ) particle:SetColor( Color.r * RandDarkness, Color.g * RandDarkness, Color.b * RandDarkness ) particle:SetCollide( true ) particle:SetAngleVelocity( Angle( math.Rand( -160, 160 ), math.Rand( -160, 160 ), math.Rand( -160, 160 ) ) ) particle:SetBounce( 0 ) particle:SetLighting( true ) end end emitter:Finish() end function EFFECT:Think() return false end function EFFECT:Render() end