- 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
-
-
-
-
-