Use the location:
-
Unit - Order (Picked unit) to Patrol To (Center of Region 001 <gen>)
Create a separate trigger for this or remove it, it does not belong to the spell:
-
Selection - Select The Joker 0001 <gen> for Player 1 (Red)
Same goes for the patrolling thing, do them in some other trigger, that does not belong to the spell.
You set the triggering unit into a variable in BT cast, but then after that you use a function to get the triggering unit. Use the variable.
Set the level of ability into a variable and use the variable.
You could store the target unit's handle id into a variable and use the variable to store the data.
This check
-
(Number of units in GroupBT) Greater than 0
should be after
-
Unit Group - Remove (Picked unit) from GroupBT
You only need to have this once
-
Custom script: call RemoveLocation(udg_TargetLoc)
Not in both THEN and ELSE. Move it to be the last action inside the unit group loop.
Forgot to use a variable for the hash:
-
Hashtable - Save (Duration - 1.00) as (Key Duration) of (Key (Picked unit)) in (Last created hashtable)
Why is succes chance a real?
You could store the handle id of picked unit into a variable and use that instead of constantly using a function to get it.
Make the tooltip text (normal and extended) more like in Blizzard's abilities.