-
Some stuff...
-
Set TempPoint = (Position of (Triggering unit))
-
Set TempPoint2 = (Position of Summoned_Target)
-
Set SummonRegion = (Region(TempPoint, TempPoint2))
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
Environment - Create at SummonRegion the weather effect Dungeon White Fog (Heavy)
-
Environment - Turn (Last created weather effect) On
-
Set TempPoint = (Position of (Triggering unit))
-
Set TempPoint2 = (Position of Summoned_Target)
You don't remove the points you declared first... You just "write" over them... afaik it leaks. You have to remove them before giving another value.
Btw, you remove them, and then set them again with the same values... Why don't you remove them when you definitely don't need them anymore?
-
Special Effect - Create a special effect at (TempPoint offset by 150.00 towards (Angle from TempPoint to TempPoint2) degrees) using Doodads\LordaeronSummer\Props\CauldronWithHeads\CauldronWithHeads.mdl
Points with offeset leaks, since it uses two points. The base one, and the offset. You have to declare the Central Point, then the Point with Offset, and then use that one.
You're destroying "Last Created Special Effects" after using some "Wait Actions". It means that if any other sfx is created in the meantime, you'll store one as gargabe, and destroy another one. Same with Weather.
EDIT: Lol... So far, I didn't know it was a Cinematic xD Anyway, use what I've told you however you want to
About the Firebolt and Picked Unit, I guess it's because the FireBolt and most wc3 default skills have a casting time. I'm not sure if it's unit dependant or something, but I've found that most skills takes about 0.28 segs to cast. When you order your unit to "Firebolt" (Picked Unit) the Casting Unit doesn't have enough time to cast when the trigger already orders to cast it on some other unit.
I would solve it adding all the Picked Units into a Unit Group, and doing: "For Each Integer A from 1 to (Number of units in PickedUnitsGroup)" do:
-> set u = 1 random unit from PickedUnitGroups
-> Create 1 dummy at point
-> Add 0.5 expiration timer to last created unit
-> Order last created unit to FireBolt u
-> Remove "u" from PickedUnitsGroup