Ok...first thing, using Waits isn't really good for spells but oh well,there are more fundamental things you should notice.
First thing is that you leak in both triggers.
-
Region - Center Region 001 <gen> on (Position of Caster)
Leaks (Position of Caster); replace it with CastLoc. Next thing you need to do is add custom scripts at the end of the trigger to remove those locations.
Add
-
Custom script: call RemoveLocation(udg_CastLoc)
-
Custom script: call RemoveLocation(udg_WarperCastPoint)
In the second trigger,you also leak a location so you should do the same as in first trigger.
Next thing is you can't use
-
Set Caster = (Casting unit)
in second trigger since there's no caster unit to refer to event since event is periodic. So you could use already saved unit in Caster variable and refer to it.
I suggest you read this tutorial though:
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/essentials-tutorial-141191/ (You can learn what leaks are too there, if you already don't know)
Also, instead of double posting (making 2 posts in a row), just edit the previous one using
button.