Dynamic particle effects in animations

In an animation sequence I can trigger a particle system at a point on the animation’s timeline. So say I have a “cast spell” animation, that’s fine as long as the same particles are used every time. Suppose I want to have a different particle system depending on the type of spell cast (say ice or fire). Would I need 2 animations, each with a different PS, or can I make the PS dynamic, preferably from a variable I can reference in C++ to change it before playing the anim?