@MyPad use of the ForGroup native does not avert the need to clear the group, the handle still leaks
your rewrite is also in JASS and as such would be held to JASS standards which would have the following implications:
- The spell must be 1 trigger large (there is no reason to have more than 1 in a JASS spell)
- functions should be nested whenever they can be, "bj_lastCreatedUnit" has no need to ever be used
- functions need proper names "Trig_Demonic_Rage_Loop_Func001Func004Func001Func008A" for example is useless and not needed, even if you convert GUI to JASS to make it better, these things should be fixed.
- You've incorrectly marked your recycling as "Inheritance" which it is not in your commenting
- You've left in some functions that are never called "Trig_Demonic_Rage_Actions" for example
- Functions should be properly commented on their purpose above their declaration
- While the cast was correctly changed to run on condition the loop was not (though as with a previous note there's only need for one trigger in JASS anyway)
This then of course has all the issues I hadn't listed before (as previous fixes required code rewrite and thus may've been solved by that
- there's no need for Demonic_Point to be an array variable, should be a non-array temp variable (also in JASS use co-ordinates when you can instead of points, which applies to this spell)
- Duration of the spell should be configurable "63.00" should not be hardcoded
- Unit types should all be configurable
- Spell type should be configurable
- You only need to check for trigger disblaing (max index == 0) when you've actively recycling something, checking every time is pointless for comparison of efficiency, it'll either run 63 times per cast (but not increase if multi-casts are done at the exact same time) or once per cast (on recycle), if a proper timer speed was used to avoid latency on the spell, this would be much laster (a few hundred times per cast)
Other legacy issues:
- Still using 1.00 second timer speed
- Incomplete multi-level support
as an aside you're right weapontype isn't available in GUI, I meant attacktype and damagetype (though in JASS weapontype should also be configurable)
Generally speaking, please don't rewrite other people's submissions in an attempt to do their work for them, unless you plan on doing it for everything they ever submit in which case you may as well be making your own submission instead - people don't learn anything if you do it for them and if they don't learn they won't be able to make approvable submissions and then this whole song and dance gets repeated forever which is frustrating for a creator and moderator if nothing else since we end up having to repeat ourselves