sorry, but its too long to post in one message, but here's more:
4. Never use generated global (a object with <gen> on its end) to spell. It will make hard to import, because it only refer to one unit. And say There were a unit that created in middle of game, then that unit cast ability that use generated global, it will create glitch and not working.
Overall, the spell was good, but you must read some suggestion above.
And, i not post in S&SMC thread because I only comment for you.
Hello again l0git3c.
You've update your spell. It's MUI now, use Custom Value MUI System.
Here's some suggestions:
1. You don't need an array for dynamic point variable (use to prevent leak, then destroyed after), like NoPointLeak variable, it need no Array.
2. You save the target then use periodic trigger to "erase" it to tell if that unit has casted by fire or ice before, why not make the fire and ice leave a buff that expire on 3 second (or you can use dummy to cast dummy ability that only have buff) then check if that unit ave that buff or not. if that unit have, then remove that buff and do your spell action.
3. In KnockBack trigger, you make unit to face Elementalist <gen>. If elementalist have moved from first position, it won't make a straight knockback. It will turned to elementalist. Just save the angle to real variable with array, then refer to it when you move that unit.