local function W()local W=player.Character.Torso neck=W.Neck oldNeckC0=neck.C0 shoulder=W:FindFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")oldShoulderC0=shoulder.C0 oldIcon=mouse.Icon mouse.Icon="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061\055\057\054\053\056\052\052\057"if userInputService.TouchEnabled then connection=userInputService.TouchMoved:connect(mobileFrame)else connection=render:connect(pcFrame)end userInputService.TouchStarted:connect(function(W,S)mobileShouldTrack=not S end)userInputService.TouchEnded:connect(function(W,S)mobileShouldTrack=false end)if workspace.FilteringEnabled then while connection do wait()game.ReplicatedStorage.ROBLOX_RocketUpdateEvent:FireServer(neck.C0,shoulder.C0)end end end
-- Function to bind to equip event
local function equip()
	local torso = player.Character.Torso

	-- Setup joint variables
	neck = torso.Neck
	oldNeckC0 = neck.C0
	shoulder = torso:FindFirstChild("Right Shoulder")
	oldShoulderC0 = shoulder.C0

	-- Remember old mouse icon and update current
	oldIcon = mouse.Icon
	mouse.Icon = "http://www.roblox.com/asset/?id=79658449"

	-- Bind TouchMoved event if on mobile. Otherwise connect to renderstepped
	if userInputService.TouchEnabled then
		connection = userInputService.TouchMoved:connect(mobileFrame)
	else
		connection = render:connect(pcFrame)
	end

	-- Bind TouchStarted and TouchEnded. Used to determine if character should rotate
	-- during touch input
	userInputService.TouchStarted:connect(function(touch, processed)
		mobileShouldTrack = not processed
	end)
	userInputService.TouchEnded:connect(function(touch, processed)
		mobileShouldTrack = false
	end)

	-- If game uses filtering enabled then need to update server while tool is
	-- held by character.
	if workspace.FilteringEnabled then
		while connection do
			wait()
			game.ReplicatedStorage.ROBLOX_RocketUpdateEvent:FireServer(neck.C0, shoulder.C0)
		end
	end
end
