A similar variant of the ExplodingBullet script above, the following custom shot script uses an invisible shot which carries a child controller/emitter pattern that it fires. Since the child emitter firing script’s Parent To Emitter setting is set to “Always”, it creates a pattern that follows in the direction that the invisible parent bullet travels.
Note that setSprite() is overriden to produce custom behavior (in this case, passing the sprite override from the parent firing script to the child if it is set.
The emitter pattern set as a child to the invisible shot is a simple radial with a slow Shot Speed, resulting in an expanding circular shot.