.Touched function only calls if localplayer is being touched

I’m making a magic, but for some reason I’m having problems with the touched function. It’ll only call if the part is the player.

As seen below: (look at the output, in theory it should call every single part that it’s been in contact with.)
https://gyazo.com/dc0f2719e387245805c62d4aab46c6b5

This is the code:

local touched = {}	
	ball.Touched:connect(function(hit)
			if touched[hit.Name] then return end
			touched[hit.Name] = true	
			print(hit.Name)
		end)

This is done in the local script situated in the backpack, but I’ve had no problems with calling the .Touch function before so I actually don’t know what the problem is here.

Thanks.