Spell Time Walk

duyen

New Member
Reaction score
214
Dashes to a point very quickly at a max of 700\900\1100\1300 range. Once you arrive at the target point all units around you are slowed by 10\20\30\40% for 3 seconds.

This is not MUI (Duh)
This is in GUI
This is Leakless

Code:
TimeWalk Start
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Ability being cast) Equal to Time Walk 
    Actions
        Set TW_Unit = (Triggering unit)
        Set TW_TrigUnitPoint = (Position of TW_Unit)
        Set TW_DashPoint = (Target point of ability being cast)
        Set TW_Angle = (Angle from TW_TrigUnitPoint to TW_DashPoint)
        Set TW_MaxDistance = (Distance between TW_TrigUnitPoint and TW_DashPoint)
        Set TW_DistanceTraveled = 0.00
        Unit - Turn collision for TW_Unit Off
        Unit - Pause TW_Unit
        Animation - Play (Triggering unit)'s spell animation
        Animation - Change TW_Unit's vertex coloring to (0.00%, 0.00%, 0.00%) with 0.00% transparency
        Custom script:   call RemoveLocation(udg_TW_TrigUnitPoint)
        Custom script:   call RemoveLocation(udg_TW_DashPoint)
        Wait 0.50 seconds
        Trigger - Turn on TimeWalk Dash <gen>

Code:
TimeWalk Dash
    Events
        Time - Every 0.01 seconds of game time
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                TW_DistanceTraveled Greater than or equal to TW_MaxDistance
            Then - Actions
                Set TW_DistanceTraveled = 0.00
                Set TW_DashPoint = (Position of TW_Unit)
                Unit - Turn collision for TW_Unit On
                Animation - Change TW_Unit's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                Environment - Create a 0.50 second random deformation at TW_DashPoint with radius 300.00, using depths between -10.00 and 10.00, updating every 0.10 seconds
                Unit - Create 1 Dummy Unit for (Owner of TW_Unit) at TW_DashPoint facing Default building facing degrees
                Unit - Set level of Time Walk Dummy  for (Last created unit) to (Level of Time Walk  for TW_Unit)
                Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
                Unit - Add a 6.00 second Generic expiration timer to (Last created unit)
                Unit - Unpause TW_Unit
                Custom script:   call RemoveLocation(udg_TW_DashPoint)
                
                Trigger - Turn off (This trigger)
            Else - Actions
                Set TW_TrigUnitPoint = (Position of TW_Unit)
                Set TW_DashPoint = (TW_TrigUnitPoint offset by 15.00 towards TW_Angle degrees)
                Unit - Move TW_Unit instantly to TW_DashPoint
                Set TW_DistanceTraveled = (TW_DistanceTraveled + 15.00)
                Custom script:   call RemoveLocation(udg_TW_TrigUnitPoint)
                Custom script:   call RemoveLocation(udg_TW_DashPoint)
timewalkqz9.png

You can't really take screenshots of dash spells... >.< (It makes it looks like a black figure is standing still)
 

Attachments

  • Time Walk.w3x
    56.8 KB · Views: 1,265

Arkan

Nobody rides for free
Reaction score
92
Just pointing out a location leak here:
Set TW_DashPoint = ((Position of TW_Unit) offset by 15.00 towards TW_Angle degrees)

"Position of TW_Unit" needs a location variable too.
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
You didn't mention that it's not MUI.
Well, it's not mandatory to do so but I recommend you to do so :rolleyes:
 

duyen

New Member
Reaction score
214
you might wanna add a condition to your movement trigger 'TW_Unit is not equal to No Unit' and add an action that sets TW_Unit to No Unit when the distance has been reached because you never seem to turn off the movement trigger and the event is occuring unnecessarily

Why would I do that?
 

Flare

Stops copies me!
Reaction score
662
the event is occuring all the time, and with ur code in its present state, you dont have a way to prevent the event occuring when theres no need for it.

i dont really kno if a 0.01 sec periodic will lag if the event fires, THEN a check is made to see if the rest of the trigger should continue. if the periodic did cause lag on slower systems, people using slower comps wont exactly want to use the ability if it causes lag for the whole game after the spell is cast once
 

0zaru

Learning vJASS ;)
Reaction score
60
That could be solved by just turning off the trigger after finish the spell >.<
 

duyen

New Member
Reaction score
214
No, no, no. It only occurs when someone is using the spell. Even if the units dies while dashing.
 

duyen

New Member
Reaction score
214
trust me, he'd keep going, although he'd be unpaused, have collision and not be black. Try removing the turn off trigger and see for yourself.

No offense, but it often seems like you don't know what your talking about.
 

Tinki3

Special Member
Reaction score
418
You should add an animation to the caster when the spell is cast - standing and dashing do not mix :p.

Your triggers should look exactly like the following:
Code:
TimeWalk Start
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Time Walk 
    Actions
        Set TW_Unit = (Triggering unit)
        Set TW_TrigUnitPoint = (Position of TW_Unit)
        Set TW_DashPoint = (Target point of ability being cast)
        Set TW_Angle = (Angle from TW_TrigUnitPoint to TW_DashPoint)
        Set TW_MaxDistance = (Distance between TW_TrigUnitPoint and TW_DashPoint)
        Set TW_DistanceTraveled = 0.00
        Unit - Turn collision for TW_Unit Off
        Unit - Pause TW_Unit
        Animation - Change TW_Unit's vertex coloring to (0.00%, 0.00%, 0.00%) with 0.00% transparency
[COLOR="Red"]        Custom script:   call RemoveLocation(udg_TW_TrigUnitPoint)
        Custom script:   call RemoveLocation(udg_TW_DashPoint)[/COLOR]
        Trigger - Turn on TimeWalk Dash <gen>

Code:
TimeWalk Dash
    Events
        Time - Every 0.01 seconds of game time
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                TW_DistanceTraveled Greater than or equal to TW_MaxDistance
            Then - Actions
                Set TW_DistanceTraveled = 0.00
                Set TW_DashPoint = (Position of TW_Unit)
                Unit - Turn collision for TW_Unit On
                Animation - Change TW_Unit's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                Environment - Create a 0.50 second random deformation at TW_DashPoint with radius 300.00, using depths between -10.00 and 10.00, updating every 0.10 seconds
                Unit - Create 1 Dummy Unit for (Owner of TW_Unit) at TW_DashPoint facing Default building facing degrees
                Unit - Set level of Time Walk Dummy  for (Last created unit) to (Level of Time Walk  for TW_Unit)
                Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
                Unit - Add a 6.00 second Generic expiration timer to (Last created unit)
                Unit - Unpause TW_Unit
                Custom script:   call RemoveLocation(udg_TW_DashPoint)
                Trigger - Turn off (This trigger)
            Else - Actions
                Set TW_TrigUnitPoint = (Position of TW_Unit)
                Set TW_DashPoint = (TW_TrigUnitPoint offset by 15.00 towards TW_Angle degrees)
                Unit - Move TW_Unit instantly to TW_DashPoint
                Set TW_DistanceTraveled = (TW_DistanceTraveled + 15.00)
                [COLOR="Red"]Custom script:   call RemoveLocation(udg_TW_TrigUnitPoint)
                Custom script:   call RemoveLocation(udg_TW_DashPoint)[/COLOR]
The way they are at the moment is not correct, and they also leak slightly.
So just make them look like the above, and this spell can be approved.

You also need to include implementation instructions.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top