The effects are a mix of sprite, ribbon and mesh particle effects.
The material has its own dynamic paramters, which helps to change the different effects quickly, user parameters in the niagara systems also simplify this.
The ribbon effects even have a parameter to set where the start and end is.
The sparks have a collision box and bounce off the environment.