- Joined
- Dec 18, 2010
- Messages
- 222
The spell seems to crash the game if too much of it is used at the same time. Any idea?
Spell as attached below.
-
Hook
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to (==) Fish
-
-
Actions
-
Set HookIntCaster = (HookIntCaster + 1)
-
Set TempL = (Target point of ability being cast)
-
Set HookI1[HookIntCaster] = (Level of Fish for (Triggering unit))
-
Set HookL1[HookIntCaster] = (Position of (Triggering unit))
-
Unit - Create 1 Hook1 for (Owner of (Triggering unit)) at HookL1[HookIntCaster] facing (Angle from HookL1[HookIntCaster] to TempL) degrees
-
Set Hook[HookIntCaster] = (Last created unit)
-
Unit Group - Add (Last created unit) to HookG2
-
Set Hook2[HookIntCaster] = (Triggering unit)
-
Set HookBoo[HookIntCaster] = False
-
Lightning - Create a Magic Leash lightning effect from source HookL1[HookIntCaster] to target HookL1[HookIntCaster]
-
Set HookLig[HookIntCaster] = (Last created lightning effect)
-
Custom script: call RemoveLocation(udg_TempL)
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Hook Loop <gen> is on) Equal to (==) False
-
-
Then - Actions
-
Trigger - Turn on Hook Loop <gen>
-
-
Else - Actions
-
-
-
-
-
Hook Loop
-
Events
-
Time - Every 0.05 seconds of game time
-
-
Conditions
-
Actions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(HookG2 is empty) Equal to (==) False
-
-
Then - Actions
-
Do Multiple ActionsFor each (Integer HookInt2) from 1 to HookIntCaster, do (Actions)
-
Loop - Actions
-
Set TempL = (Position of Hook[HookInt2])
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
HookBoo[HookInt2] Equal to (==) False
-
-
Then - Actions
-
Set TempL2 = (TempL offset by 40.00 towards (Facing of Hook[HookInt2]) degrees)
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple ConditionsOr - Any (Conditions) are true
-
Conditions
-
Multiple ConditionsAnd - All (Conditions) are true
-
Conditions
-
HookI1[HookInt2] Less than or equal to (<=) 4
-
(Distance between HookL1[HookInt2] and TempL2) Greater than or equal to (>=) (500.00 + (100.00 x (Real(HookI1[HookInt2]))))
-
-
-
Multiple ConditionsAnd - All (Conditions) are true
-
Conditions
-
HookI1[HookInt2] Greater than (>) 4
-
(Distance between HookL1[HookInt2] and TempL2) Greater than or equal to (>=) (900.00 + (50.00 x ((Real(HookI1[HookInt2])) - 4.00)))
-
-
-
-
-
-
Then - Actions
-
Set HookBoo[HookInt2] = True
-
-
Else - Actions
-
-
-
Unit - Move Hook[HookInt2] instantly to TempL2
-
Lightning - Move HookLig[HookInt2] to source HookL1[HookInt2] and target TempL2
-
Custom script: call RemoveLocation(udg_TempL2)
-
-
Else - Actions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Distance between HookL1[HookInt2] and TempL) Greater than (>) 50.00
-
-
Then - Actions
-
Set TempL2 = (TempL offset by 40.00 towards ((Facing of Hook[HookInt2]) - 180.00) degrees)
-
Unit - Move Hook[HookInt2] instantly to TempL2
-
Lightning - Move HookLig[HookInt2] to source HookL1[HookInt2] and target TempL2
-
Custom script: call RemoveLocation(udg_TempL2)
-
-
Else - Actions
-
Unit Group - Remove Hook[HookInt2] from HookG2
-
Unit - Remove Hook[HookInt2] from the game
-
Lightning - Destroy HookLig[HookInt2]
-
Custom script: call RemoveLocation(udg_HookL1[udg_HookInt2])
-
-
-
-
-
Custom script: call RemoveLocation(udg_TempL)
-
-
-
-
Else - Actions
-
Set HookIntCaster = 0
-
Custom script: call DestroyGroup(udg_HookG2)
-
Custom script: set udg_HookG2 = CreateGroup()
-
Trigger - Turn off Hook Loop <gen>
-
-
-
-