- Joined
- Oct 16, 2011
- Messages
- 308
Hi guys. I'm trying to make a Bladestorm for those people who are dreaming of making their unit spin similar to a Blademaster's animation. But I'm having a problem with it. Whenever I set the BS_Speed variable to more than 6.00, the spin looks weird that sometimes the caster reverse-rotates for a short time and the speed doesn't really increase its spin speed. Also, help me improve this spell for those who wants to. Thanks 
This is the map of the spell:
View attachment 148399

-
Bladestorm
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Bladestorm
-
-

Actions
-


Set BS_Max = (BS_Max + 1)
-


Set BS_Caster[BS_Max] = (Triggering unit)
-


Set BS_Ability = (Ability being cast)
-


Set BS_Duration[BS_Max] = 7.00
-


Set BS_Point = (Position of BS_Caster[BS_Max])
-


Set BS_Angle[BS_Max] = (Facing of BS_Caster[BS_Max])
-


Set BS_Speed = 6.00
-


Animation - Change BS_Caster[BS_Max]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency
-


Unit - Create 1 Bladestorm for (Owner of BS_Caster[BS_Max]) at BS_Point facing BS_Angle[BS_Max] degrees
-


Set BS_Dummy[BS_Max] = (Last created unit)
-


Animation - Change BS_Dummy[BS_Max]'s animation speed to 200.00% of its original speed
-


Animation - Play BS_Dummy[BS_Max]'s attack animation
-


Unit - Add Bladestorm (Effect) to BS_Dummy[BS_Max]
-


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



If - Conditions
-




BS_Max Equal to 1
-
-



Then - Actions
-




Trigger - Turn on Bladestorm Loop <gen>
-
-



Else - Actions
-
-


Custom script: call RemoveLocation(udg_BS_Point)
-
-
-
Bladestorm Loop
-

Events
-


Time - Every 0.02 seconds of game time
-
-

Conditions
-

Actions
-


For each (Integer BS_Loop) from 1 to BS_Max, do (Actions)
-



Loop - Actions
-




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





If - Conditions
-






BS_Angle[BS_Loop] Greater than or equal to 360.00
-
-





Then - Actions
-






Set BS_Angle[BS_Loop] = (BS_Angle[BS_Loop] - (360.00 - BS_Speed))
-
-





Else - Actions
-






Set BS_Angle[BS_Loop] = (BS_Angle[BS_Loop] + BS_Speed)
-
-
-




Set BS_Point = (Position of BS_Caster[BS_Loop])
-




Unit - Move BS_Dummy[BS_Loop] instantly to BS_Point, facing BS_Angle[BS_Loop] degrees
-




Set BS_Duration[BS_Loop] = (BS_Duration[BS_Loop] - 0.02)
-




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





If - Conditions
-






BS_Duration[BS_Loop] Less than or equal to 6.90
-
-





Then - Actions
-






Animation - Change BS_Dummy[BS_Loop]'s animation speed to 0.00% of its original speed
-
-





Else - Actions
-
-




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





If - Conditions
-






BS_Duration[BS_Loop] Less than or equal to 0.00
-
-





Then - Actions
-






Animation - Change BS_Caster[BS_Loop]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
-






Unit - Kill BS_Dummy[BS_Loop]
-






Set BS_Caster[BS_Loop] = BS_Caster[BS_Max]
-






Set BS_Caster[BS_Max] = No unit
-






Set BS_Dummy[BS_Loop] = BS_Dummy[BS_Max]
-






Set BS_Dummy[BS_Max] = No unit
-






Set BS_Duration[BS_Loop] = BS_Duration[BS_Max]
-






Set BS_Angle[BS_Loop] = BS_Angle[BS_Max]
-






Set BS_Max = (BS_Max - 1)
-






Set BS_Loop = (BS_Loop - 1)
-
-





Else - Actions
-
-




Custom script: call RemoveLocation(udg_BS_Point)
-




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





If - Conditions
-






BS_Max Equal to 0
-
-





Then - Actions
-






Trigger - Turn off (This trigger)
-
-





Else - Actions
-
-
-
-
-
View attachment 148399
Last edited:



