60 lines
1.6 KiB
Lua
60 lines
1.6 KiB
Lua
AddCSLuaFile()
|
|
|
|
ENT.Base = "tacrp_proj_base"
|
|
ENT.PrintName = "Frag Grenade"
|
|
ENT.Spawnable = false
|
|
|
|
ENT.Model = "models/weapons/tacint/frag.mdl"
|
|
|
|
ENT.IsRocket = false // projectile has a booster and will not drop.
|
|
|
|
ENT.InstantFuse = true // projectile is armed immediately after firing.
|
|
ENT.RemoteFuse = false // allow this projectile to be triggered by remote detonator.
|
|
ENT.ImpactFuse = false // projectile explodes on impact.
|
|
|
|
ENT.ExplodeOnDamage = false // projectile explodes when it takes damage.
|
|
ENT.ExplodeUnderwater = false
|
|
|
|
ENT.SoundHint = true
|
|
ENT.SoundHintDelay = 1
|
|
ENT.SoundHintRadius = 512
|
|
ENT.SoundHintDuration = 1
|
|
|
|
ENT.ImpactDamage = 1
|
|
|
|
ENT.Delay = 2
|
|
|
|
ENT.BounceSounds = {
|
|
"TacRP/weapons/grenade/frag_bounce-1.wav",
|
|
"TacRP/weapons/grenade/frag_bounce-2.wav",
|
|
"TacRP/weapons/grenade/frag_bounce-3.wav",
|
|
}
|
|
|
|
ENT.ExplodeSounds = {
|
|
"^TacRP/weapons/grenade/frag_explode-1.wav",
|
|
"^TacRP/weapons/grenade/frag_explode-2.wav",
|
|
"^TacRP/weapons/grenade/frag_explode-3.wav",
|
|
}
|
|
|
|
function ENT:Detonate()
|
|
local attacker = self.Attacker or self:GetOwner() or self
|
|
|
|
local dmg = TacRP.ConVars["frag_damage"]:GetFloat()
|
|
if self.ImpactFuse then dmg = dmg * 0.5 end
|
|
|
|
util.BlastDamage(self, attacker, self:GetPos(), TacRP.ConVars["frag_radius"]:GetFloat(), dmg)
|
|
|
|
local fx = EffectData()
|
|
fx:SetOrigin(self:GetPos())
|
|
|
|
if self:WaterLevel() > 0 then
|
|
util.Effect("WaterSurfaceExplosion", fx)
|
|
else
|
|
util.Effect("Explosion", fx)
|
|
end
|
|
|
|
self:EmitSound(table.Random(self.ExplodeSounds), 125)
|
|
|
|
self:Remove()
|
|
end
|