mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-18 14:13:46 +03:00
74 lines
2.0 KiB
Lua
74 lines
2.0 KiB
Lua
--[[
|
|
| 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.Type = "anim"
|
|
ENT.Base = "base_anim"
|
|
ENT.Spawnable = false
|
|
|
|
function ENT:Draw()
|
|
self:DrawModel()
|
|
end
|
|
|
|
function ENT:Initialize()
|
|
if SERVER then
|
|
self:SetModel( "models/weapons/tfa_hdtf/w_m67.mdl" )
|
|
self:SetMoveType( MOVETYPE_VPHYSICS )
|
|
self:SetSolid( SOLID_VPHYSICS )
|
|
self:PhysicsInit( SOLID_VPHYSICS )
|
|
self:SetCollisionGroup( COLLISION_GROUP_NONE )
|
|
self:DrawShadow( false )
|
|
end
|
|
self:EmitSound("TFA_CSGO_HEGrenade.Throw")
|
|
self.ExplodeTimer = CurTime() + 1.5
|
|
end
|
|
|
|
function ENT:Think()
|
|
if SERVER and self.ExplodeTimer <= CurTime() then
|
|
self:Explode()
|
|
self:Remove()
|
|
end
|
|
end
|
|
|
|
function ENT:PhysicsCollide( data )
|
|
if SERVER and data.Speed > 150 then
|
|
self:EmitSound( "TFA_CSGO_HEGrenade.Bounce" )
|
|
end
|
|
end
|
|
|
|
function ENT:OnRemove()
|
|
end
|
|
|
|
function ENT:Explode()
|
|
if SERVER then
|
|
local explode = ents.Create( "info_particle_system" )
|
|
explode:SetKeyValue( "effect_name", "explosion_hegrenade_brief" )
|
|
explode:SetOwner( self.Owner )
|
|
explode:SetPos( self:GetPos() )
|
|
explode:Spawn()
|
|
explode:Activate()
|
|
explode:Fire( "start", "", 0 )
|
|
explode:Fire( "kill", "", 15 )
|
|
local explode2 = ents.Create( "info_particle_system" )
|
|
explode2:SetKeyValue( "effect_name", "explosion_hegrenade_interior" )
|
|
explode2:SetOwner( self.Owner )
|
|
explode2:SetPos( self:GetPos() )
|
|
explode2:Spawn()
|
|
explode2:Activate()
|
|
explode2:Fire( "start", "", 0 )
|
|
explode2:Fire( "kill", "", 15 )
|
|
self:EmitSound( "TFA_CSGO_BaseGrenade.Explode" )
|
|
end
|
|
util.BlastDamage( self, self.Owner, self:GetPos(), 350, 98 )
|
|
|
|
local spos = self:GetPos()
|
|
local trs = util.TraceLine({start=spos + Vector(0,0,64), endpos=spos + Vector(0,0,-32), filter=self})
|
|
util.Decal("Scorch", trs.HitPos + trs.HitNormal, trs.HitPos - trs.HitNormal)
|
|
end |