Good spell concept. Didn't test the spell on actual in-game for performance yet. By judging the looks of your triggers... you may want to improve your variable prefixes and names for readability.
Also why's the periodic interval is defaulted to 0.02? It's not that big deal but in terms of performance you may want to set it to 0.03 for the standard but it's on you. You can also include preloading those sfx paths.
You may also want to make the filtered units to be configurable though, one must like to target structures or even magic immune units. (allies too) opening for more spell variations. Same goes to attack type and damage type. A user may want the strength attribute to be used on damage instead of intelligence... You may also consider this.
In cast, constant values don't need to be part of the indexing, you can directly refer the config constants inside the loop unless if they're depending on the caster's levels just like the damage.
In loop, I just skipped some projectile's trajectory maths here as I'm not aiming for in-depth look for those things as long as they're definitely working as it should be. However, you can familiarise yourself using get x and y instead of using points so that you wouldn't need such leaks removal and points conversion to x and y. This may require you to use a lot of custom scripts though it is performance-wise and efficient.
Aside from that, I like the simplicity of your spell in terms of visuals. Also a very big improvement that we can now manipulate special effects instead of dummies
