I completed Stalk, cleaned all the leaks (or the ones I could see anyway), made it MUI, made it work perfectly BUT THE BLOODY COOLDOWN SCREWES EVERYTHING UP! I did search for old threads dealing with that problem, and from what I understood is that you have to pause a unit when you move it, to prevent the cooldown from resetting. I have included the map (and the triggers, if somebody is too lazy). I have other means of balancing it (up the mana cost or adding a really nasty debuff if used twice in a row, to name a few), but I do not want that. I don't even know if I'm allowed to ask for this kind of help, so please tell me if I'm not. Here are the triggers. I would appreciate it if somebody told me where the pauses/unpauses should be, because I tried a lot and did nothing.
-
StalkInit
-

Events
-


Unit - A unit Begins casting an ability
-
-

Conditions
-


(Ability being cast) Equal to Stalk
-
-

Actions
-


Set StalkTemp1 = (Position of (Triggering unit))
-


Set StalkTemp2 = (Target point of ability being cast)
-


Set StalkTotalDistance = (Distance between StalkTemp1 and StalkTemp2)
-


Unit - Make (Triggering unit) face StalkTemp2 over 0.00 seconds
-


Set StalkFacing = (Angle from (Position of (Triggering unit)) to StalkTemp2)
-


Sound - Play FlashBack1Second <gen> at 100.00% volume, attached to (Triggering unit)
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




StalkTotalDistance Greater than (450.00 + ((Real((Level of Stalk for (Triggering unit)))) x 150.00))
-
-



Then - Actions
-




Set StalkTotalDistance = (450.00 + ((Real((Level of Stalk for (Triggering unit)))) x 150.00))
-
-



Else - Actions
-
-


Hashtable - Save StalkTotalDistance as 0 of (Key (Triggering unit)) in Stalk
-


Hashtable - Save Handle Of(Triggering unit) as 1 of (Key (Triggering unit)) in Stalk
-


Hashtable - Save Handle OfStalkTemp1 as 2 of (Key (Triggering unit)) in Stalk
-


Hashtable - Save StalkFacing as 3 of (Key (Triggering unit)) in Stalk
-


Unit Group - Add (Triggering unit) to StalkGroup
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(StalkLoop <gen> is on) Equal to False
-
-



Then - Actions
-




Trigger - Turn on StalkLoop <gen>
-
-



Else - Actions
-
-
-
-
StalkLoop
-

Events
-


Time - Every 0.04 seconds of game time
-
-

Conditions
-

Actions
-


Unit Group - Pick every unit in StalkGroup and do (Actions)
-



Loop - Actions
-




Set StalkTotalDistance = (Load 0 of (Key (Picked unit)) from Stalk)
-




Set StalkCaster = (Load 1 of (Key (Picked unit)) in Stalk)
-




Set StalkLocTemp = (Load 2 of (Key (Picked unit)) in Stalk)
-




Set StalkFacing = (Load 3 of (Key (Picked unit)) from Stalk)
-




Set StalkLoc = (StalkLocTemp offset by 50.00 towards StalkFacing degrees)
-




Hashtable - Save Handle OfStalkLoc as 2 of (Key (Picked unit)) in Stalk
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






StalkTotalDistance Greater than 0.00
-
-





Then - Actions
-






Unit - Move StalkCaster instantly to StalkLoc
-






Unit - Turn collision for StalkCaster Off
-






Animation - Change StalkCaster's animation speed to 50.00% of its original speed
-






Animation - Change StalkCaster's vertex coloring to (0.00%, 0.00%, 0.00%) with 0.00% transparency
-






Unit - Create 1 Stalk smoke for (Owner of StalkCaster) at StalkLoc facing Default building facing degrees
-






Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
-






Set StalkTotalDistance = (StalkTotalDistance - 50.00)
-






Hashtable - Save StalkTotalDistance as 0 of (Key (Picked unit)) in Stalk
-
-





Else - Actions
-






Unit - Turn collision for StalkCaster On
-






Animation - Change StalkCaster's animation speed to 100.00% of its original speed
-






Animation - Change StalkCaster's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
-






Unit Group - Remove StalkCaster from StalkGroup
-






Unit - Add Stalk Damage to StalkCaster
-






Unit - Set level of Stalk Damage for StalkCaster to (Level of Stalk for StalkCaster)
-






Unit - Order StalkCaster to Orc Blademaster - Wind Walk
-






Unit - Remove Stalk Damage from StalkCaster
-






Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Stalk
-
-
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(StalkGroup is empty) Equal to True
-
-





Then - Actions
-






Trigger - Turn off (This trigger)
-






Custom script: call RemoveLocation(udg_StalkTemp1)
-






Custom script: call RemoveLocation(udg_StalkTemp2)
-






Custom script: call RemoveLocation(udg_StalkLoc)
-






Custom script: call RemoveLocation(udg_StalkLocTemp)
-
-





Else - Actions
-
-
-
-
-























