Ребят, мне кажется вы немного увлеклись в любом случае, вот часть моего спелла, только он юзается на точку (на основе блинка)
Первый триггер
Code
SS Lets Start
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to SS
Actions
Unit - Set mana of SS_Casting_Unit to ((Mana of SS_Casting_Unit) - 50.00)
Set SS_Casting_Unit = (Casting unit)
Set SS_Castpoint = (Position of SS_Casting_Unit)
Set SS_Castpoint_Target = (Target point of ability being cast)
Custom script: set udg_SS_Cast_Angle = AngleBetweenPoints(udg_SS_Castpoint, udg_SS_Castpoint_Target)
Unit - Turn collision for SS_Casting_Unit Off
Trigger - Turn on SS Movement <gen>
Второй триггер (изначально выключен)
Code
SS Movement
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Region centered at SS_Castpoint_Target with size (100.00, 100.00)) contains SS_Casting_Unit) Equal to False
Then - Actions
Custom script: call MoveLocation(udg_SS_Castpoint, GetLocationX(udg_SS_Castpoint) + 70 * CosBJ(udg_SS_Cast_Angle), GetLocationY(udg_SS_Castpoint) + 70 * SinBJ(udg_SS_Cast_Angle))
Unit - Move SS_Casting_Unit instantly to SS_Castpoint, facing SS_Cast_Angle degrees
Else - Actions
Trigger - Turn off (This trigger)
Unit - Turn collision for SS_Casting_Unit On