- Joined
- Dec 16, 2007
- Messages
- 252
This is a sliding spell that damages units in range once per slide. It works alright on the first cast but sometmes on the second cast (or more) it damages a unit more than once (it actually damage the unit until the slide is over). How come?
-
Fire Rush Slide
-

Events
-


Time - Every 0.03 seconds of game time
-
-

Conditions
-


(Number of units in s_FRGroup) Greater than 0
-
-

Actions
-


Unit Group - Pick every unit in s_FRGroup and do (Actions)
-



Loop - Actions
-




Set s_FRLoc1[1] = (Position of (Picked unit))
-




Set s_FRLoc1[2] = (s_FRLoc1[1] offset by 25.00 towards s_FRAngle[(Custom value of (Picked unit))] degrees)
-




Set s_FRLoc1[3] = (s_FRLoc1[2] offset by 120.00 towards s_FRAngle[(Custom value of (Picked unit))] degrees)
-




Set s_FRCV = (Custom value of (Picked unit))
-




Special Effect - Create a special effect at s_FRLoc1[3] using Abilities\Spells\Other\Doom\DoomDeath.mdl
-




Special Effect - Destroy (Last created special effect)
-




Unit - Move (Picked unit) instantly to s_FRLoc1[2], facing s_FRAngle[(Custom value of (Picked unit))] degrees
-




Set s_FRGroup2[(Custom value of (Picked unit))] = (Units within 250.00 of s_FRLoc1[2] matching ((((Matching unit) belongs to an enemy of (Owner of s_FRCaster[s_FRCV])) Equal to True) and (((Matching unit) is in s_FRGroup3[s_FRCV]) Equal to False)))
-




Unit Group - Pick every unit in s_FRGroup2[s_FRCV] and do (Actions)
-





Loop - Actions
-






Game - Display to (All players) for 0.08 seconds the text: True
-






Unit - Cause s_FRCaster[s_FRCV] to damage (Picked unit), dealing (1.00 + (1.00 x (Real((Level of Fire Rush for s_FRCaster[s_FRCV]))))) damage of attack type Spells and damage type Normal
-






Unit Group - Remove (Picked unit) from s_FRGroup2[s_FRCV]
-






Unit Group - Add (Picked unit) to s_FRGroup3[s_FRCV]
-
-
-




Custom script: call DestroyGroup(udg_s_FRGroup2[udg_s_FRCV])
-




Unit Group - Pick every unit in s_FRGroup4[s_FRCV] and do (Actions)
-





Loop - Actions
-






Unit - Move (Picked unit) instantly to s_FRLoc1[2], facing s_FRAngle[(Custom value of (Picked unit))] degrees
-
-
-




Custom script: call RemoveLocation (udg_s_FRLoc1[1])
-




Custom script: call RemoveLocation (udg_s_FRLoc1[2])
-




Custom script: call RemoveLocation (udg_s_FRLoc1[3])
-




Set s_FRInterval[s_FRCV] = (s_FRInterval[s_FRCV] + 25)
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






s_FRInterval[s_FRCV] Greater than or equal to (400 + (150 x (Level of Fire Rush for s_FRCaster[s_FRCV])))
-
-





Then - Actions
-






Set s_FRInterval[s_FRCV] = 0
-






Unit - Unhide s_FRCaster[s_FRCV]
-






Selection - Select s_FRCaster[s_FRCV] for (Owner of s_FRCaster[s_FRCV])
-






Unit - Turn collision for s_FRCaster[s_FRCV] On
-






Unit Group - Pick every unit in s_FRGroup3[s_FRCV] and do (Actions)
-







Loop - Actions
-








Unit Group - Remove (Picked unit) from s_FRGroup3[s_FRCV]
-
-
-






Unit Group - Pick every unit in s_FRGroup4[s_FRCV] and do (Actions)
-







Loop - Actions
-








Unit Group - Remove (Picked unit) from s_FRGroup4[s_FRCV]
-








Unit - Remove (Picked unit) from the game
-
-
-






Unit Group - Remove s_FRCaster[s_FRCV] from s_FRGroup
-
-





Else - Actions
-
-
-
-
-

