Linear damage between 2 points

LuckyStrike

New Member
Reaction score
1
I'm trying to create a spell that does damage in a line between the caster and the targeted point, in the same time teleporting the caster to the targeted point, but i got some bugs and i think I'm doing it the wrong way...
Anny ideas how to do it right ?
Trigger:
  • Untitled Trigger 002
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Slash
    • Actions
      • Wait 0.12 seconds
      • Unit - Move (Triggering unit) instantly to ((Position of (Triggering unit)) offset by 600.00 towards (Facing of (Triggering unit)) degrees)



Slash is a shockwave spell...with 600 range. The bug is that sometimes i get in the center of the map, or when i move in an other directon rapidly after casting the spell it takes me there...
 

vypur85

Hibernate
Reaction score
803
Code:
Untitled Trigger 002
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Slash 
    Actions
        Custom script:  local location udg_TempPoint
        Set TempPoint = (Target point of ability being cast)
        Wait 0.12 seconds
        Unit - Move (Triggering unit) instantly to TempPoint
        Custom script:  call RemoveLocation (udg_TempPoint)
        Custom script:  set udg_TempPoint = null

Try the above. The custom scripts are case/spelling sensitive. Make sure they are similar as above. And you should have a point variable named 'TempPoint'.
 

LuckyStrike

New Member
Reaction score
1
And if I want the caster to be teleported to the ending point of the shockwave?
Lets say my shockwave has a 900 distance and i cast it at 600 range...with this trigger my caster will be teleported at 600 range right?
Hhow should the trigger be made so my caster be teleported at the final point of the shockwave (900 in the example)?
 

Komaqtion

You can change this now in User CP.
Reaction score
469
That is what his does, since the caster will only start casting if it is in 600 range.
 

vypur85

Hibernate
Reaction score
803
Code:
Untitled Trigger 002
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Slash 
    Actions
        Custom script:  local location udg_TempPoint
        Set TempPoint2 = (Position of (Triggering unit))
        Set TempPoint3 = (Target point of ability being cast)
        Set TempPoint = (TempPoint2 offset by 600.00 towards (Angle between TempPoint2 and TempPoint3) degrees))
        Custom script:  call RemoveLocation (udg_TempPoint2)
        Custom script:  call RemoveLocation (udg_TempPoint3)
        Wait 0.12 seconds
        Unit - Move (Triggering unit) instantly to TempPoint
        Custom script:  call RemoveLocation (udg_TempPoint)
        Custom script:  set udg_TempPoint = null

Something like the above.
 

LuckyStrike

New Member
Reaction score
1
Trigger:
  • Untitled Trigger 002
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Slash
    • Actions
      • Custom script: local location udg_TempPoint
      • Set TempPoint2 = (Position of (Triggering unit))
      • Set TempPoint2 = (Target point of ability being cast)
      • Set TempPoint = (TempPoint2 offset by 1000.00 towards (Angle from TempPoint2 to TempPoint3) degrees)
      • Custom script: call RemoveLocation (udg_TempPoint2)
      • Custom script: call RemoveLocation (udg_TempPoint3)
      • Wait 0.12 seconds
      • Unit - Move (Triggering unit) instantly to TempPoint
      • Custom script: call RemoveLocation (udg_TempPoint)
      • Custom script: set udg_TempPoint = null


Not working properly: it sends the caster somewhere to the left at the good range, but not towards the casting point.
 

vypur85

Hibernate
Reaction score
803
Code:
Untitled Trigger 002
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Slash 
    Actions
        Custom script:   local location udg_TempPoint
        Set TempPoint2 = (Position of (Triggering unit))
        [B]Set TempPoint2 = (Target point of ability being cast)[/B]
        Set TempPoint = (TempPoint2 offset by 1000.00 towards (Angle from TempPoint2 to TempPoint3) degrees)
        Custom script:   call RemoveLocation (udg_TempPoint2)
        Custom script:   call RemoveLocation (udg_TempPoint3)
        Wait 0.12 seconds
        Unit - Move (Triggering unit) instantly to TempPoint
        Custom script:   call RemoveLocation (udg_TempPoint)
        Custom script:   set udg_TempPoint = null

Check out the bolded stuff. Should be TempPoint3.
 

Shanflower

New Member
Reaction score
2
I'm not too experienced, correct me if I'm wrong, but I think it can be done rather easily with GUI.

When a unit casts Slash,
Create dummy unit at position of Casting Unit
Add Shockwave (900 range) to dummy unit
Issue order to dummy unit: get it to cast Shockwave in the direction of (target point of ability cast, which is also the target point where you clicked Slash to be performed)
Move Casting Unit to (target point of ability cast)

Not tested... it should work theoretically and all the actions can be found in GUI. Will it work?
 
General chit-chat
Help Users

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top