So I've been having major issues with my map where it would randomly crash. After countless tests, I've located it in 2 very similar spells within my map. They both involve the use of a morph ability. The issue is, the crashes happen randomly when the hero is ingame AND the crashing spell is active.
tl:dr How does this crash? How can I improve it/stop it from crashing?
The dummy spell is based on Bear Form.
tl:dr How does this crash? How can I improve it/stop it from crashing?
The dummy spell is based on Bear Form.
-
Red Lightning
-
Events
- Unit - A unit Is issued an order with no target
-
Conditions
- (Issued order) Equal to (Order(bearform))
-
Actions
- Set Red_Lightning_Loop_Max = (Red_Lightning_Loop_Max + 1)
- Set Red_Lightning_C[Red_Lightning_Loop_Max] = (Ordered unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Red_Lightning_Loop_Max Equal to 1
-
Then - Actions
- Trigger - Turn on Red Lightning Loop <gen>
- Else - Actions
-
If - Conditions
-
Events
-
Red Lightning Loop
-
Events
- Time - Every 0.20 seconds of game time
- Conditions
-
Actions
-
For each (Integer Red_Lightning_Loop) from 1 to Red_Lightning_Loop_Max, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Mana of Red_Lightning_C[Red_Lightning_Loop]) Less than 1.00
-
Then - Actions
- Unit - Order Red_Lightning_C[Red_Lightning_Loop] to Night Elf Druid Of The Claw - Night Elf Form
- Unit - Remove Red Lightning buff from Red_Lightning_C[Red_Lightning_Loop]
- Set Red_Lightning_C[Red_Lightning_Loop] = Red_Lightning_C[Red_Lightning_Loop_Max]
- Set Red_Lightning_Loop = (Red_Lightning_Loop - 1)
- Set Red_Lightning_Loop_Max = (Red_Lightning_Loop_Max - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Red_Lightning_Loop_Max Equal to 0
-
Then - Actions
- Trigger - Turn off Red Lightning Loop <gen>
- Else - Actions
-
If - Conditions
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Unit-type of Red_Lightning_C[Red_Lightning_Loop]) Not equal to Guard of Renewal (Red Lightning)
-
Then - Actions
- Unit - Remove Red Lightning buff from Red_Lightning_C[Red_Lightning_Loop]
- Set Red_Lightning_C[Red_Lightning_Loop] = Red_Lightning_C[Red_Lightning_Loop_Max]
- Set Red_Lightning_Loop = (Red_Lightning_Loop - 1)
- Set Red_Lightning_Loop_Max = (Red_Lightning_Loop_Max - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Red_Lightning_Loop_Max Equal to 0
-
Then - Actions
- Trigger - Turn off Red Lightning Loop <gen>
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
For each (Integer Red_Lightning_Loop) from 1 to Red_Lightning_Loop_Max, do (Actions)
-
Events