- Joined
- Oct 16, 2011
- Messages
- 296
Hello guys. I really need some help right now.
I'm trying to create a Sfx for Bladestorm, where any unit who doesn't have any spinning animation will be able to spin using a trigger. It works fine when the Speed of the rotation is +10 degrees counter-clockwise every 0.03 seconds, but the spin looks awful because it's too slow so I tried increasing it. But when I tried to increase it, there's some instance where the unit suddenly turns clockwise for a short time, and the higher the angle turn is, the more it will occur. I have a guess that the reason is the turn rate, but I still not sure yet. Please help me fix this.
Here's the map:
I'm trying to create a Sfx for Bladestorm, where any unit who doesn't have any spinning animation will be able to spin using a trigger. It works fine when the Speed of the rotation is +10 degrees counter-clockwise every 0.03 seconds, but the spin looks awful because it's too slow so I tried increasing it. But when I tried to increase it, there's some instance where the unit suddenly turns clockwise for a short time, and the higher the angle turn is, the more it will occur. I have a guess that the reason is the turn rate, but I still not sure yet. Please help me fix this.
-
Bladestorm
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Bladestorm
- (Unit-type of (Triggering unit)) Equal to Jaina
-
Actions
- Set OrcAbilityBS_Max = (OrcAbilityBS_Max + 1)
- Set OrcAbilityBS_Caster[OrcAbilityBS_Max] = (Triggering unit)
- Set OrcAbilityBS_Angle[OrcAbilityBS_Max] = (Facing of OrcAbilityBS_Caster[OrcAbilityBS_Max])
- Set OrcAbilityBS_Duration[OrcAbilityBS_Max] = 7.00
- Set Global_Point[0] = (Position of OrcAbilityBS_Caster[OrcAbilityBS_Max])
- Unit - Create 1 Dummy (Bladestorm, Jaina) for (Owner of OrcAbilityBS_Caster[OrcAbilityBS_Max]) at Global_Point[0] facing OrcAbilityBS_Angle[OrcAbilityBS_Max] degrees
- Set OrcAbilityBS_Dummy[OrcAbilityBS_Max] = (Last created unit)
- Special Effect - Create a special effect attached to the origin of OrcAbilityBS_Dummy[OrcAbilityBS_Max] using war3mapImported\Bladestorm.mdx
- Animation - Change OrcAbilityBS_Dummy[OrcAbilityBS_Max]'s animation speed to 200.00% of its original speed
- Animation - Play OrcAbilityBS_Dummy[OrcAbilityBS_Max]'s spell animation
- Animation - Change OrcAbilityBS_Caster[OrcAbilityBS_Max]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency
- Custom script: call RemoveLocation(udg_Global_Point[0])
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- OrcAbilityBS_Max Equal to 1
-
Then - Actions
- Trigger - Turn on Bladestorm Loop <gen>
- Else - Actions
-
If - Conditions
-
Events
-
Bladestorm Loop
-
Events
- Time - Every 0.03 seconds of game time
- Conditions
-
Actions
-
For each (Integer OrcAbilityBS_Loop) from 1 to OrcAbilityBS_Max, do (Actions)
-
Loop - Actions
- Set OrcAbilityBS_Duration[OrcAbilityBS_Loop] = (OrcAbilityBS_Duration[OrcAbilityBS_Loop] - 0.03)
- Set OrcAbilityBS_Angle[OrcAbilityBS_Loop] = (OrcAbilityBS_Angle[OrcAbilityBS_Loop] + 20.00)
- Set Global_Point[0] = (Position of OrcAbilityBS_Caster[OrcAbilityBS_Loop])
- Set TempUnit = OrcAbilityBS_Dummy[OrcAbilityBS_Loop]
- Custom script: call SetUnitFacing(udg_OrcAbilityBS_Dummy[udg_OrcAbilityBS_Loop], udg_OrcAbilityBS_Angle[udg_OrcAbilityBS_Loop])
- Unit - Move OrcAbilityBS_Dummy[OrcAbilityBS_Loop] instantly to Global_Point[0]
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- OrcAbilityBS_Duration[OrcAbilityBS_Loop] Less than or equal to 6.40
-
Then - Actions
- Animation - Change OrcAbilityBS_Dummy[OrcAbilityBS_Loop]'s animation speed to 0.00% of its original speed
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Or - Any (Conditions) are true
-
Conditions
- (OrcAbilityBS_Caster[OrcAbilityBS_Loop] is dead) Equal to True
- OrcAbilityBS_Duration[OrcAbilityBS_Loop] Less than or equal to 0.00
-
Conditions
-
Or - Any (Conditions) are true
-
Then - Actions
- Animation - Change OrcAbilityBS_Caster[OrcAbilityBS_Loop]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
- Unit - Remove OrcAbilityBS_Dummy[OrcAbilityBS_Loop] from the game
- Set OrcAbilityBS_Caster[OrcAbilityBS_Loop] = OrcAbilityBS_Caster[OrcAbilityBS_Max]
- Set OrcAbilityBS_Caster[OrcAbilityBS_Max] = No unit
- Set OrcAbilityBS_Dummy[OrcAbilityBS_Loop] = OrcAbilityBS_Dummy[OrcAbilityBS_Max]
- Set OrcAbilityBS_Dummy[OrcAbilityBS_Max] = No unit
- Set OrcAbilityBS_Duration[OrcAbilityBS_Loop] = OrcAbilityBS_Duration[OrcAbilityBS_Max]
- Set OrcAbilityBS_Angle[OrcAbilityBS_Loop] = OrcAbilityBS_Angle[OrcAbilityBS_Max]
- Set OrcAbilityBS_Max = (OrcAbilityBS_Max - 1)
- Set OrcAbilityBS_Loop = (OrcAbilityBS_Loop - 1)
- Else - Actions
-
If - Conditions
- Custom script: call RemoveLocation(udg_Global_Point[0])
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- OrcAbilityBS_Max Equal to 0
-
Then - Actions
- Trigger - Turn off (This trigger)
- Else - Actions
-
If - Conditions
-
Loop - Actions
-
For each (Integer OrcAbilityBS_Loop) from 1 to OrcAbilityBS_Max, do (Actions)
-
Events