AddCSLuaFile() ENT.Base = "tacrp_proj_gyrojet" ENT.PrintName = "Ratshot Gyrojet Round" ENT.Spawnable = false ENT.SmokeTrail = true ENT.FlareColor = Color(155, 155, 255, 255) ENT.FlareLife = 0.4 DEFINE_BASECLASS(ENT.Base) function ENT:Initialize() BaseClass.Initialize(self) if SERVER then self:SetTrigger(true) self:UseTriggerBounds(true, 48) end end function ENT:StartTouch(ent) if SERVER and ent ~= self:GetOwner() and (ent:IsNPC() or ent:IsPlayer() or ent:IsNextBot()) then self:Detonate() end end function ENT:Detonate() local dir = self:GetForward() local attacker = self.Attacker or self:GetOwner() or self local inflictor = attacker.GetWeapon and attacker:GetWeapon("tacrp_sd_gyrojet") local damage = inflictor and inflictor:GetValue("Damage_Max") or 50 if attacker:IsNPC() and !TacRP.ConVars["npc_equality"]:GetBool() then damage = damage * 0.25 end local src = self:GetPos() -- + dir * 32 local fx = EffectData() fx:SetOrigin(src) if self:WaterLevel() > 0 then util.Effect("WaterSurfaceExplosion", fx) else fx:SetMagnitude(4) fx:SetScale(4) fx:SetRadius(8) fx:SetNormal(dir) util.Effect("Sparks", fx) util.Effect("HelicopterMegaBomb", fx) end util.BlastDamage(self, attacker, src, 200, damage) self:EmitSound(table.Random(self.ExplodeSounds), 90, 110, 0.75) self:EmitSound("physics/metal/metal_box_break1.wav", 90, 175) self:Remove() end