Welllll...
Few things:
0.01 seconds will lag, and cause you INFINITE PAIN AND DOOM!
Change to 0.03-0.05, those will run about as smoothly, with 90% less lag.
also, your periodic trigger leaks (3 times!), which will also cause you INFINITE PAIN AND DOOM!
To fix this, do such
-
Set Var_ALP = Position of Picked Unit
-
Set Var_ALP2 = ALP offset by 50 toward (Angle from TriggeringUnitPointVar to (ALP)) degrees)
-
custom script: call RemoveLocation(udg_Var_ALP)
-
custom script: call RemoveLocation(udg_Var_ALP2)
Do this where you would use a point. NOTE that polar projection uses 2 locations rather than one. Groups leak too. Therefore, we must do:
-
Set Var_ALG = Units in (Playable map area) matching (((Matching unit) has buff pandaa ) Equal to True)
-
Unit Group - Pick every unit in (Var_ALG) and do (Actions)
-
Loop - Actions
-
blah blah blah
-
//When you are done with your actions, put this at the very end of your trigger:
-
custom script: call DestroyGroup(udg_Var_ALG)
You have leaks in your initialization trigger, but I'll let u find them yourself as a learning experience
Third: In order to make this a 600 distance jump, then your distance is probably too much, unless your buff lasts really short.
My advice: To do this more accurately, since a unit might get a buff dispelled or something, (and seeing as how the way you wrote this, it already isn't Multiinstancable) Do:
-
Unit - A unit Starts the effect of an ability
-
Conditions
-
(Ability being cast) Equal to Rocket Strike
-
Actions
-
Set VAR_UnitTraget = Unit of Target Ability being cast.
-
Wait 1.00 seconds
-
Set VAR_UnitTarget = No Unit.
-
Time - Every 0.05 seconds of game time
-
Set Var_ALP = (Position of (VAR_UnitTarget)
-
Set Var_ALP2 = (Var_ALP) offset by 30 towards (Angle from TriggeringUnitPointVar to (Position of (Picked unit))) degrees)
-
Unit - Move (Var_UnitTarget) instantly to (ALP2)
However, if you want it to be a group of units to slide, make these simple changes:
-
Set VAR_UnitTarget = Unit of Target Ability being cast.
Changes to:
-
Set Var_ALP = Position of (Unit of Target Ability being cast.
-
Set VAR_GroupTarget = Units within (<YOUR AOE HERE>) of Var_ALP
-
custom script: call RemoveLocation(udg_VAR_ALP)
-
Wait 1.00 seconds
-
custom script: call DestroyGroup(udg_VAR_GroupTarget)
And
-
Time - Every 0.05 seconds of game time
-
Set Var_ALP = (Position of (VAR_UnitTarget)
-
Set Var_ALP2 = (Var_ALP) offset by 30 towards (Angle from TriggeringUnitPointVar to (Position of (Picked unit))) degrees)
-
Unit - Move (Var_UnitTarget) instantly to (ALP2)
changes to:
-
Time - Every 0.05 seconds of game time
-
Unit Group - Pick every unit in VAR_GroupTarget and do actions:
-
Loop - Actions
-
Set Var_ALP = (Position of (Picked Unit)
-
Set Var_ALP2 = (Var_ALP) offset by 30 towards (Angle from TriggeringUnitPointVar to (Position of (Picked unit))) degrees)
-
Unit - Move (Picked Unit) instantly to (ALP2)
There are many other ways to improve this trigger, but none without handle variables like I said before...
Feel free to ask any questions about this.
--donut3.5--