--[[ | This file was obtained through the combined efforts | of Madbluntz & Plymouth Antiquarian Society. | | Credits: lifestorm, Gregory Wayne Rossel JR., | Maloy, DrPepper10 @ RIP, Atle! | | Visit for more: https://plymouth.thetwilightzone.ru/ --]] AddCSLuaFile() ENT.Base = "arccw_ammo" ENT.PrintName = "Rifle Grenade Box" ENT.Category = "ArcCW - Ammo" ENT.Spawnable = true ENT.Model = "models/items/arccw/riflegrenade_ammo.mdl" ENT.Health = 70 ENT.AmmoType = "smg1_grenade" ENT.AmmoCount = 5 ENT.DetonationDamage = 100 -- Per-round damage ENT.DetonationRadius = 300 function ENT:DetonateRound(attacker) local nade = ents.Create("arccw_gl_ammodet") nade:SetPos(self:GetPos()) local v = self:GetUp():Angle() + AngleRand(-60, 60) nade:SetAngles(v) nade:Spawn() nade:GetPhysicsObject():AddVelocity(self:GetVelocity() + self:GetForward() * math.random(2000, 3000)) nade:SetOwner(attacker or self.Burner) self.AmmoCount = self.AmmoCount - 1 self:GetPhysicsObject():AddVelocity(VectorRand() * math.random(5, 10) * self:GetPhysicsObject():GetMass()) self:GetPhysicsObject():AddAngleVelocity(VectorRand() * math.random(60, 300)) self:EmitSound("weapons/ar2/ar2_altfire.wav", 80, 150) end function ENT:Detonate(wet, attacker) if wet then for i = 1, math.random(1, 3) do self:DetonateRound(attacker) end end local e = EffectData() e:SetOrigin(self:GetPos()) util.Effect("Explosion", e) util.BlastDamage(self, attacker, self:GetPos(), self.DetonationRadius, self.DetonationDamage * (wet and 1 or 2)) self:Remove() end