Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local start = data.HitPos + data.HitNormal
- local endpos = data.HitPos - data.HitNormal
- local trace = {}
- trace.start = start
- trace.endpos = endpos
- trace.filter = self
- local tr = util.TraceLine(trace)
- for _,v in pairs(ents.FindInSphere(data.HitPos,65)) do
- if c == "nz_spawn_player" then return end
- if v == self.Owner then
- local dmg3 = DamageInfo()
- dmg3:SetDamage(25)
- dmg3:SetAttacker(self.Owner or self)
- dmg3:SetDamageForce(vector_origin)
- dmg3:SetDamagePosition( self.Entity:GetPos() )
- dmg3:SetInflictor( self.Owner )
- v:TakeDamageInfo(dmg3)
- end
- end
- if tr.HitWorld then
- local heat = ents.Create( "info_particle_system" )
- heat:SetKeyValue( "effect_name", "tfa_qc_nail_impact_heat" )
- heat:SetOwner( self.Owner )
- heat:SetPos( tr.HitPos )
- heat:Spawn()
- heat:Activate()
- heat:Fire( "start", "", 0 )
- heat:Fire( "kill", "", 15 )
- util.Decal("Impact.Metal",start,endpos)
- end
- local effectdata = EffectData()
- effectdata:SetOrigin(self:GetPos())
- local explode2 = ents.Create( "info_particle_system" )
- explode2:SetKeyValue( "effect_name", "tfa_qc_nail_explode_flame" )
- explode2:SetOwner( self.Owner )
- explode2:SetPos( self:GetPos() )
- explode2:Spawn()
- explode2:Activate()
- explode2:Fire( "start", "", 0 )
- explode2:Fire( "kill", "", 15 )
- if data.HitEntity:IsNPC() or data.HitEntity:IsNextBot() or data.HitEntity:IsPlayer() then
- self:EmitSound( "TFA_QC_SUPERNAILGUN.FleshImpact" )
- else
- self:EmitSound( "TFA_QC_SUPERNAILGUN.Impact" )
- end
- if IsValid(self:GetOwner()) then
- self:RadiusDamage(tr.HitPos, self, self:GetOwner(), 20, 20, data.HitEntity, DMG_GENERIC)
- end
- timer.Simple(0, function()
- if IsValid(self) then
- self:Remove()
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement