What you described is how it worked perfectly before:
1 fireball in ServerSorage, that is being cloned and and then destroyed every time a fireball is needed.
The problem I have now is because I am trying to make it work with PartCache
https://devforum.roblox.com/t/partcache-for-all-your-quick-part-creation-needs/246641/2
With that the fireball(s) are not in ServerStorage but in ReplicatedStorage so they are ready to use faster, and not being cloned-destroyed all the time.
Hmm, but thinking about this and your reply I got an idea
I could remove the fireball_script from the Fireball, move it to ServerScripts and clone that into the Fireball every time I use a Fireball from the PartCache.
Then the script would run and when the Fireball is done used, I would destroy the script from it as it is put back to the PartCache.
I’ll try that…