function TurnOff()L_27_=false L_25_=false L_14_=false L_40_:FireServer()end function CheckForHumanoid(t)local J=false local a=nil if t then if t.Parent:FindFirstChild("\072\117\109\097\110\111\105\100")or t.Parent.Parent:FindFirstChild("\072\117\109\097\110\111\105\100")then J=true if t.Parent:FindFirstChild("\072\117\109\097\110\111\105\100")then a=t.Parent.Humanoid elseif t.Parent.Parent:FindFirstChild("\072\117\109\097\110\111\105\100")then a=t.Parent.Parent.Humanoid end else J=false end end return J,a end function Fire(t)for t,J in pairs(t:GetChildren())do if J.Name:sub(1,7)=="\070\108\097\115\104\070\088"then J.Enabled=true end end delay(.033333333333333,function()for t,J in pairs(t:GetChildren())do if J.Name:sub(1,7)=="\070\108\097\115\104\070\088"then J.Enabled=false end end end)local J=t.Position local a=t.CFrame.lookVector.unit local f=CFrame.new(J,J+a)local u=Instance.new("\080\097\114\116")u.Parent=L_38_ game.Debris:AddItem(u,3)u.Shape=Enum.PartType.Block u.Size=L_7_.BulletSize u.Name="\066\117\108\108\101\116"u.TopSurface="\083\109\111\111\116\104"u.BottomSurface="\083\109\111\111\116\104"u.BrickColor=BrickColor.new("\066\114\105\103\104\116 \103\114\101\101\110")u.Material="\078\101\111\110"u.CanCollide=false u.CFrame=t.CFrame+(t.CFrame.p-t.CFrame.p)u.CFrame=CFrame.new(t.CFrame.p,t.CFrame.p+a)local R=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121",u)R.MaxForce=Vector3.new(math.huge,math.huge,math.huge)R.P=10 R.Velocity=a*L_7_.BulletSpeed local v,G,P=workspace:FindPartOnRayWithIgnoreList(Ray.new(t.Position,t.CFrame.lookVector*L_7_.CastDist),L_39_)local m=(Vector3.new(0,1,0)):Cross(P)local s=math.asin(m.magnitude)if v and((v and v.Transparency>=1 or v.CanCollide==false)and(v.Name~="\082\105\103\104\116 \065\114\109"and(v.Name~="\076\101\102\116 \065\114\109"and(v.Name~="\082\105\103\104\116 \076\101\103"and(v.Name~="\076\101\102\116 \076\101\103"and v.Name~="\065\114\109\111\114")))))then table.insert(L_39_,v)end if v then m=(Vector3.new(0,1,0)):Cross(P)s=math.asin(m.magnitude)L_43_:FireServer(G)local t,J=CheckForHumanoid(v)if t==false then local t=L_44_:InvokeServer(G,m,s,P,"\080\097\114\116",v,"\078\111\110\069\120\112\108\111\115\105\118\101")elseif t==true then local t=L_44_:InvokeServer(G,m,s,P,"\072\117\109\097\110",v,"\078\111\110\069\120\112\108\111\115\105\118\101")L_46_:FireServer(J)L_45_:FireServer(J,L_7_.BulletDamage)end end end function FireATG(t)if L_18_>0 then L_18_=L_18_-1 if L_18_<0 then L_18_=0 end L_37_.Text="\065\084\071\115\058 "..L_18_ for t,J in pairs(t:GetChildren())do if J.Name:sub(1,7)=="\070\108\097\115\104\070\088"then J.Enabled=true end end delay(.033333333333333,function()for t,J in pairs(t:GetChildren())do if J.Name:sub(1,7)=="\070\108\097\115\104\070\088"then J.Enabled=false end end end)local J=t.Position local a=t.CFrame.lookVector.unit local f=CFrame.new(J,J+a)local u=Instance.new("\080\097\114\116")u.Parent=L_38_ game.Debris:AddItem(u,10)u.Shape=Enum.PartType.Block u.Size=L_7_.BulletSize u.Name="\066\117\108\108\101\116"u.TopSurface="\083\109\111\111\116\104"u.BottomSurface="\083\109\111\111\116\104"u.BrickColor=BrickColor.new("\066\114\105\103\104\116 \103\114\101\101\110")u.Material="\078\101\111\110"u.CanCollide=false u.CFrame=t.CFrame+(t.CFrame.p-t.CFrame.p)u.CFrame=CFrame.new(t.CFrame.p,t.CFrame.p+a)local R=((L_4_:WaitForChild("\070\088")):WaitForChild("\082\111\099\107\101\116\084\114\097\105\108")):clone()R.Parent=u R.Enabled=true local v=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121",u)v.MaxForce=Vector3.new(math.huge,math.huge,math.huge)v.P=10 v.Velocity=a*L_7_.BulletSpeed local G=t.Position local P=u.Position local m=0 local s,o,F local k local y while true do L_9_:wait()P=u.Position m=m+(P-G).magnitude s,o,F=workspace:FindPartOnRayWithIgnoreList(Ray.new(G,P-G),L_39_)k=(Vector3.new(0,1,0)):Cross(F)y=math.asin(k.magnitude)if s and((s and s.Transparency>=1 or s.CanCollide==false)and(s.Name~="\082\105\103\104\116 \065\114\109"and(s.Name~="\076\101\102\116 \065\114\109"and(s.Name~="\082\105\103\104\116 \076\101\103"and(s.Name~="\076\101\102\116 \076\101\103"and s.Name~="\065\114\109\111\114")))))then table.insert(L_39_,s)end if s then k=(Vector3.new(0,1,0)):Cross(F)y=math.asin(k.magnitude)L_43_:FireServer(o)local t=L_44_:InvokeServer(o,k,y,F,"\080\097\114\116",s,"\069\120\112\108\111\115\105\118\101")u:Destroy()break end end end end

function TurnOff()
	L_27_ = false
	L_25_ = false
	L_14_ = false
	L_40_:FireServer()
end

function CheckForHumanoid(L_47_arg1)
	local L_48_ = false
	local L_49_ = nil
	if L_47_arg1 then
		if (L_47_arg1.Parent:FindFirstChild("Humanoid") or L_47_arg1.Parent.Parent:FindFirstChild("Humanoid")) then
			L_48_ = true
			if L_47_arg1.Parent:FindFirstChild('Humanoid') then
				L_49_ = L_47_arg1.Parent.Humanoid
			elseif L_47_arg1.Parent.Parent:FindFirstChild('Humanoid') then
				L_49_ = L_47_arg1.Parent.Parent.Humanoid
			end
		else
			L_48_ = false
		end	
	end
	return L_48_, L_49_
end

function Fire(L_50_arg1)
	for L_61_forvar1, L_62_forvar2 in pairs(L_50_arg1:GetChildren()) do
		if L_62_forvar2.Name:sub(1, 7) == 'FlashFX' then
			L_62_forvar2.Enabled = true
		end
	end
	
	delay(1 / 30, function()
		for L_63_forvar1, L_64_forvar2 in pairs(L_50_arg1:GetChildren()) do
			if L_64_forvar2.Name:sub(1, 7) == 'FlashFX' then
				L_64_forvar2.Enabled = false
			end
		end
	end)

	local L_51_ = L_50_arg1.Position
	local L_52_ = L_50_arg1.CFrame.lookVector.unit
	local L_53_ = CFrame.new(L_51_, L_51_ + L_52_)
	
	local L_54_ = Instance.new("Part")
	L_54_.Parent = L_38_
	game.Debris:AddItem(L_54_, 3)
	L_54_.Shape = Enum.PartType.Block
	L_54_.Size = L_7_.BulletSize
	L_54_.Name = "Bullet"
	L_54_.TopSurface = "Smooth"
	L_54_.BottomSurface = "Smooth"
	L_54_.BrickColor = BrickColor.new("Bright green")
	L_54_.Material = "Neon"
	L_54_.CanCollide = false
	L_54_.CFrame = L_50_arg1.CFrame + (L_50_arg1.CFrame.p - L_50_arg1.CFrame.p)
	L_54_.CFrame = CFrame.new(L_50_arg1.CFrame.p, L_50_arg1.CFrame.p + L_52_)
	
	local L_55_ = Instance.new('BodyVelocity', L_54_)
	L_55_.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
	L_55_.P = 10

	L_55_.Velocity = L_52_ * L_7_.BulletSpeed
	
	local L_56_, L_57_, L_58_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_50_arg1.Position, L_50_arg1.CFrame.lookVector * L_7_.CastDist), L_39_);
	local L_59_ = Vector3.new(0, 1, 0):Cross(L_58_)
	local L_60_ = math.asin(L_59_.magnitude)
	
	if L_56_ and (L_56_ and L_56_.Transparency >= 1 or L_56_.CanCollide == false) and L_56_.Name ~= 'Right Arm' and L_56_.Name ~= 'Left Arm' and L_56_.Name ~= 'Right Leg' and L_56_.Name ~= 'Left Leg' and L_56_.Name ~= 'Armor' then
		table.insert(L_39_, L_56_)
	end
	
	if L_56_ then
		L_59_ = Vector3.new(0, 1, 0):Cross(L_58_)
		L_60_ = math.asin(L_59_.magnitude) -- division by 1 is redundant
		
		L_43_:FireServer(L_57_)
		
		local L_65_, L_66_ = CheckForHumanoid(L_56_)
		if L_65_ == false then
			local L_67_ = L_44_:InvokeServer(L_57_, L_59_, L_60_, L_58_, "Part", L_56_, 'NonExplosive')
		elseif L_65_ == true then
			local L_68_ = L_44_:InvokeServer(L_57_, L_59_, L_60_, L_58_, "Human", L_56_, 'NonExplosive')
			L_46_:FireServer(L_66_)
			L_45_:FireServer(L_66_, L_7_.BulletDamage)
		end
	end
end

function FireATG(L_69_arg1)
	if L_18_ > 0 then
		L_18_ = L_18_ - 1
		if L_18_ < 0 then
			L_18_ = 0
		end
		
		L_37_.Text = 'ATGs: ' .. L_18_
		
		for L_84_forvar1, L_85_forvar2 in pairs(L_69_arg1:GetChildren()) do
			if L_85_forvar2.Name:sub(1, 7) == 'FlashFX' then
				L_85_forvar2.Enabled = true
			end
		end
		
		delay(1 / 30, function()
			for L_86_forvar1, L_87_forvar2 in pairs(L_69_arg1:GetChildren()) do
				if L_87_forvar2.Name:sub(1, 7) == 'FlashFX' then
					L_87_forvar2.Enabled = false
				end
			end
		end)
	
		local L_70_ = L_69_arg1.Position
		local L_71_ = L_69_arg1.CFrame.lookVector.unit
		local L_72_ = CFrame.new(L_70_, L_70_ + L_71_)
		
		local L_73_ = Instance.new("Part")
		L_73_.Parent = L_38_
		game.Debris:AddItem(L_73_, 10)
		L_73_.Shape = Enum.PartType.Block
		L_73_.Size = L_7_.BulletSize
		L_73_.Name = "Bullet"
		L_73_.TopSurface = "Smooth"
		L_73_.BottomSurface = "Smooth"
		L_73_.BrickColor = BrickColor.new("Bright green")
		L_73_.Material = "Neon"
		L_73_.CanCollide = false
		L_73_.CFrame = L_69_arg1.CFrame + (L_69_arg1.CFrame.p - L_69_arg1.CFrame.p)
		L_73_.CFrame = CFrame.new(L_69_arg1.CFrame.p, L_69_arg1.CFrame.p + L_71_)
		local L_74_ = L_4_:WaitForChild('FX'):WaitForChild('RocketTrail'):clone()
		L_74_.Parent = L_73_
		L_74_.Enabled = true
		
		local L_75_ = Instance.new('BodyVelocity', L_73_)
		L_75_.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
		L_75_.P = 10
	
		L_75_.Velocity = L_71_ * L_7_.BulletSpeed
		
		local L_76_ = L_69_arg1.Position;
		local L_77_ = L_73_.Position;
		local L_78_ = 0
		local L_79_, L_80_, L_81_
		local L_82_
		local L_83_
		
		while true do
			L_9_:wait()
			L_77_ = L_73_.Position;
			L_78_ = L_78_ + (L_77_ - L_76_).magnitude
			L_79_, L_80_, L_81_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_76_, (L_77_ - L_76_)), L_39_);
			L_82_ = Vector3.new(0, 1, 0):Cross(L_81_)
			L_83_ = math.asin(L_82_.magnitude) -- division by 1 is redundant
			
			--[[if distance >= config.CastDist then
				Bullet:Destroy()
				break
			end]]--
			
			if L_79_ and (L_79_ and L_79_.Transparency >= 1 or L_79_.CanCollide == false) and L_79_.Name ~= 'Right Arm' and L_79_.Name ~= 'Left Arm' and L_79_.Name ~= 'Right Leg' and L_79_.Name ~= 'Left Leg' and L_79_.Name ~= 'Armor' then
				table.insert(L_39_, L_79_)
			end
			
			if L_79_ then
				L_82_ = Vector3.new(0, 1, 0):Cross(L_81_)
				L_83_ = math.asin(L_82_.magnitude) -- division by 1 is redundant
				
				L_43_:FireServer(L_80_)
				local L_88_ = L_44_:InvokeServer(L_80_, L_82_, L_83_, L_81_, "Part", L_79_, 'Explosive')
				L_73_:Destroy()
				break
			end
		end
	end
end	
