function CatBomb(sender, args)
	if not IsJetHeadAdmin(sender) then return end
	_PlaySound("motdintro.mp3") _PlaySound("motdintro.mp3")

	_GModText_Start( "ImpactMassive" )
	 _GModText_SetPos( -0.75, 0.2 )
	 _GModText_SetColor( 255, 0, 0, 200 )
	 _GModText_SetTime( 5, 0, 0 )
	 _GModText_SetText( "INCOMING CATBOMB" )
	 _GModText_SetDelay( 0 )
	 _GModText_AllowOffscreen( true )
	_GModText_Send( 0, 2399 )

	_GModText_Start( "ImpactMassive" )
	 _GModText_SetPos( 1, 0.2 )
	 _GModText_SetColor( 255, 0, 0, 205 )
	 _GModText_SetDelay( 0.5 )
	_GModText_SendAnimate( 0, 2399, 1.5, 0.7 )

	_GModText_Start( "ImpactMassive" )
	 _GModText_SetPos( 1, 0.7 )
	 _GModText_SetColor( 255, 0, 0, 200 )
	 _GModText_SetTime( 5, 0, 0 )
	 _GModText_SetText( "INCOMING CATBOMB" )
	 _GModText_SetDelay( 0 )
	 _GModText_AllowOffscreen( true )
	_GModText_Send( 0, 2398 )

	_GModText_Start( "ImpactMassive" )
	 _GModText_SetPos( -0.75, 0.7 )
	 _GModText_SetColor( 255, 0, 0, 205 )
	 _GModText_SetDelay( 0.5 )
	_GModText_SendAnimate( 0, 2398, 1.5, 0.7 )
	
	_EntPrecacheModel("models/props_junk/garbage_bag001a.mdl")
	PlayerLookTrace(sender, 9999)
	_TraceLine(_TraceEndPos(), vector3(0,0,1), 9999, sender)
	local pos = vecAdd(_TraceEndPos(), vector3(0,0,-100))
	local ent = _EntCreate("prop_physics")
	if ent > 0 then
		_EntSetModel(ent, "models/props_junk/garbage_bag001a.mdl")
		_EntSetPos(ent, pos)
		_EntSpawn(ent)
		_GModRect_Start( "nedm" )
		 _GModRect_SetPos(0, 0, 0.15, 0.15)
		 _GModRect_SetTime(25, 0, 0)
		 _GModRect_SetColor(255, 255, 255, 255)
		 _GModRect_SetDelay(0)
		 _GModRect_SetEntityOffset(vector3(0, 0, 16))
		 _GModRect_SetEntity(ent)
		_GModRect_Send(0, 9915)
		_phys.ApplyForceCenter(ent, vector3(0,0,-1750))
		_phys.EnableGravity(ent, false)
		_phys.SetMass(ent, 20000)
		AddTimer(8.5, 1, CatBombExplode, ent)
		AddTimer(6.0, 1, _PlaySound, "holyshit.mp3")
	end
end
CONCOMMAND("catbomb", CatBomb)

function KillEverything()
	for i=1, 4000 do
		if _EntGetType(i) == "prop_physics" or IsPlayer(i) then
			if IsPlayer(i) then _PlayerGod(i, false) end
			_TraceAttack(i, i, i, 5000)
		end
	end
end

function CatBombExplode(prop)
	_PlaySound("ambient/explosions/citadel_end_explosion1.wav")
	for i=1, 30 do
		AddTimer(i*0.35, 1, _PlaySound, "ambient/explosions/explode_"..math.random(1,8)..".wav")
	end
	AddTimer(0.75, 15, KillEverything)
	_GModRect_Start( "nedm" )
	 _GModRect_SetPos(0, 0, 0.8, 0.8)
	 _GModRect_SetTime(15, 1, 1)
	 _GModRect_SetColor(255, 100, 50, 255)
	 _GModRect_SetDelay(0)
	 _GModRect_SetEntityOffset(vector3(0, 0, 16))
	 _GModRect_SetEntity(prop)
	_GModRect_Send(0, 9915)
	for i=1, 65 do
		local ent = _EntCreate("env_ar2explosion")
		if ent > 0 then
			_EntSetPos(ent, vecAdd(_EntGetPos(prop), vector3(math.random(-1500, 1500), math.random(-1500, 1500), math.random(-600, 800))))
			_EntSpawn(ent)
			_EntFire(ent, "explode", "", i*0.1)
			_EntFire(ent, "kill", "", (i*0.1)+0.05)
			local glow = _EntCreate("env_lightglow")
			if glow > 0 then
				_EntSetKeyValue(glow, "rendercolor" , "255 255 200")
				_EntSetKeyValue(glow, "VerticalGlowSize", "120")
				_EntSetKeyValue(glow, "HorizontalGlowSize", "120")
				_EntSetKeyValue(glow, "MinDist", 15)
				_EntSetKeyValue(glow, "MaxDist", 4096)
				_EntSetKeyValue(glow, "OuterMaxDist", 250)
				_EntSetKeyValue(glow, "GlowProxySize", "15")
				_EntSetPos(glow, vecAdd(_EntGetPos(prop), vector3(math.random(-2000, 2000), math.random(-2000, 2000), math.random(-600, 3500))))
				_EntSpawn(glow)
				_EntFire(glow, "kill", "", math.random(5, 15))
			end
		end
	end
	_EntRemove(prop)
end
