This may be interference between the client and server side processing.
network ownership, allowing for separate processing on the client and server side.
Assigning a player’s parent allows processing to be performed only for that player. However, if you assign nil, only server-side processing will be performed.
Try applying it to a server scripts.
–If you want to do the processing on the client side
FireBall:SetNetworkOwner(Player)
–If you want to do the processing on the server side
FireBall:SetNetworkOwner(nil)