I suppose you could have one script, if you wanted, and set the effects to different stages, ie stage 1 could be a basic shot, 2 is a sniper shot, or whatever. And the stages could be set up to a signal with an argument that depicts the effect.
The other method would work as well, of course.