Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function EFFECT:Init(data)
- self.WeaponEnt = data:GetEntity()
- self.Attachment = data:GetAttachment()
- self.Position = self:GetTracerShootPos(data:GetOrigin(), self.WeaponEnt, self.Attachment)
- self.Forward = data:GetNormal()
- self.Angle = self.Forward:Angle()
- self.Right = self.Angle:Right()
- local emitter = ParticleEmitter(self.Position)
- local particle = emitter:Add("sprites/heatwave", self.Position)
- particle:SetVelocity(80*self.Forward + 20*VectorRand())
- particle:SetDieTime(math.Rand(0.15,0.2))
- particle:SetStartSize(16)
- particle:SetEndSize(16)
- particle:SetRoll(math.Rand(180,480))
- particle:SetRollDelta(math.Rand(-1,1))
- particle:SetAirResistance(160)
- local particle = emitter:Add("particle/smokesprites_000"..math.random(1,9), self.Position)
- particle:SetVelocity(math.Rand(288,344)*self.Forward + math.Rand(4,16)*VectorRand())
- particle:SetDieTime(math.Rand(0.4,0.5))
- particle:SetStartAlpha(math.Rand(142,158))
- particle:SetEndAlpha(0)
- particle:SetStartSize(math.random(6,10))
- particle:SetEndSize(math.Rand(18,24))
- particle:SetRoll(math.Rand(0,360))
- particle:SetRollDelta(math.Rand(-0.5,0.5))
- particle:SetColor(0,0,0)
- particle:SetAirResistance(550)
- particle:SetLighting( true )
- for i=-0,math.Rand(4,6) do
- local particle = emitter:Add("effects/spark", self.Position)
- particle:SetVelocity(980*self.Forward + 200*VectorRand())
- particle:SetDieTime(math.Rand(0.075,0.1))
- particle:SetStartAlpha(255)
- particle:SetEndAlpha(0)
- particle:SetStartSize(3)
- particle:SetStartLength(6)
- particle:SetEndLength(12)
- particle:SetRoll(math.Rand(0,360))
- particle:SetRollDelta(math.Rand(-1,1))
- particle:SetColor(200,200,200)
- particle:SetAirResistance(1500)
- end
- for i=-0,math.Rand(4,6) do
- local particle = emitter:Add("effects/spark", self.Position)
- particle:SetVelocity(980*self.Forward + 200*VectorRand())
- particle:SetDieTime(math.Rand(0.075,0.1))
- particle:SetStartAlpha(255)
- particle:SetEndAlpha(0)
- particle:SetStartSize(1.5)
- particle:SetStartLength(6)
- particle:SetEndLength(12)
- particle:SetRoll(math.Rand(0,360))
- particle:SetRollDelta(math.Rand(-1,1))
- particle:SetColor(200,200,200)
- particle:SetAirResistance(1500)
- end
- for i=0,6 do
- local particle = emitter:Add("effects/fire_cloud"..math.random(1,3), self.Position+self.Forward*math.Rand(1,5))
- particle:SetDieTime(0.075)
- particle:SetStartAlpha(255)
- particle:SetEndAlpha(255)
- particle:SetStartSize(5)
- particle:SetEndSize(4)
- particle:SetRoll(math.Rand(0,360))
- particle:SetRollDelta(math.Rand(-10,10))
- particle:SetColor(255,255,255)
- end
- local particle = emitter:Add("particle/particle_smokegrenade", self.Position)
- particle:SetVelocity(100 * self.Forward + 8 * VectorRand()) -- + AddVel)
- particle:SetAirResistance(400)
- particle:SetGravity(Vector(0, 0, math.Rand(25, 100)))
- particle:SetDieTime(math.Rand(3.0, 4.0))
- particle:SetStartAlpha(math.Rand(225, 255))
- particle:SetEndAlpha(0)
- particle:SetStartSize(math.Rand(2, 3))
- particle:SetEndSize(math.Rand(6, 8))
- particle:SetRoll(math.Rand(-25, 25))
- particle:SetRollDelta(math.Rand(-0.05, 0.05))
- particle:SetColor(0, 0, 0)
- local d = DynamicLight(0)
- if (d) then
- d.Pos = self.Position
- d.r = 160
- d.g = 160
- d.b = 50
- d.Brightness = 0.2
- d.size = 200
- d.DieTime = CurTime() + 0.05
- end
- emitter:Finish()
- end
- function EFFECT:Think()
- return false
- end
- function EFFECT:Render()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement