AddCSLuaFile() ENT.Base = "tacrp_proj_p2a1_flare" ENT.PrintName = "P2A1 Smoke Flare" ENT.Spawnable = false ENT.ImpactDamage = 0 ENT.SmokeTrail = true ENT.FlareColor = Color(255, 255, 255) ENT.FlareSizeMin = 16 ENT.FlareSizeMax = 32 ENT.Gravity = Vector(0, 0, 9.81 * 0.3333) function ENT:Detonate(ent) self:EmitSound("TacRP/weapons/grenade/smoke_explode-1.wav", 80, 108) timer.Simple(0, function() local cloud = ents.Create( "tacrp_smoke_cloud_p2a1" ) if !IsValid(cloud) then return end cloud:SetPos(self:GetPos()) cloud:SetOwner(self:GetOwner()) cloud:Spawn() self:Remove() end) end local mat = Material("effects/ar2_altfire1b") function ENT:Draw() render.SetMaterial(mat) render.DrawSprite(self:GetPos(), math.Rand(self.FlareSizeMin, self.FlareSizeMax), math.Rand(self.FlareSizeMin, self.FlareSizeMax), self.FlareColor) end function ENT:DoSmokeTrail() if CLIENT and self.SmokeTrail and !(self:GetOwner() == LocalPlayer() and (self.SpawnTime + 0.1) > CurTime()) then local emitter = ParticleEmitter(self:GetPos()) local smoke = emitter:Add("particles/smokey", self:GetPos()) smoke:SetStartAlpha(50) smoke:SetEndAlpha(0) smoke:SetStartSize(4) smoke:SetEndSize(math.Rand(25, 35)) smoke:SetRoll(math.Rand(-180, 180)) smoke:SetRollDelta(math.Rand(-1, 1)) smoke:SetPos(self:GetPos()) smoke:SetVelocity(VectorRand() * 32) smoke:SetColor(255, 255, 255) smoke:SetLighting(false) smoke:SetDieTime(math.Rand(0.3, 0.5)) smoke:SetGravity(Vector(0, 0, 0)) emitter:Finish() end end