Can be done inside the spell trigger.
That's called configuration.
======================================================
Instead of making 'Venom Group' just use the normal 'pick every unit in range matching condition' and put
-
Custom script: set bj_wantDestroyGroup = true
before the 'Unit Group' action.
'Position of VS_Caster' leaks, set it to a variable and destroy it when done via:
-
Custom script: call RemoveLocation(udg_(YOURVARIABLE))
===================================================
-
Set VS_Caster = No unit
-
Set VS_Dummy = No unit
is uneeded.
===================================================
The caster is not dealing the damage, the dummy units are. This can mess up systems - I suggest you change that.
===================================================
Instead of using arrays to make your spell level, create a formula like (250 + (50 x Level)) and it'll scale with the spell's level indefinitely.