• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Spell] Shockwave that returns

Status
Not open for further replies.

Uncle

Warcraft Moderator
Level 73
Joined
Aug 10, 2018
Messages
7,866
The easiest method would be to create a Dummy unit where Shockwave is going to end and order it to cast another dummy-friendly Shockwave back to the original point:
  • SR Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shockwave (Return)
    • Actions
      • Set VariableSet SR_Hero = (Triggering unit)
      • -------- --------
      • Set VariableSet SR_Point[0] = (Position of SR_Hero)
      • Set VariableSet SR_Point[1] = (Target point of ability being cast)
      • Set VariableSet SR_Point[2] = (SR_Point[0] offset by 900.00 towards (Angle from SR_Point[0] to SR_Point[1]) degrees.)
      • -------- --------
      • Unit - Create 1 Dummy for (Owner of SR_Hero) at SR_Point[2] facing Default building facing degrees
      • Set VariableSet SR_Dummy = (Last created unit)
      • Unit - Add Shockwave (Dummy) to SR_Dummy
      • Unit - Set level of Shockwave (Dummy) for SR_Dummy to (Level of Shockwave (Return) for SR_Hero)
      • Unit - Add a 6.00 second Generic expiration timer to SR_Dummy
      • -------- --------
      • -------- NOTE: The Casting Time of Shockwave (Dummy) is what delays it from immediately casting: --------
      • Unit - Order SR_Dummy to Orc Tauren Chieftain - Shockwave SR_Point[0]
      • -------- --------
      • Custom script: call RemoveLocation( udg_SR_Point[0] )
      • Custom script: call RemoveLocation( udg_SR_Point[1] )
      • Custom script: call RemoveLocation( udg_SR_Point[2] )
Notes:
The Casting Time of Shockwave (Dummy) is what delays it from immediately casting. Customize this value to your liking.
The Dummy unit will deal the damage and get the kill credit. Keep this in mind when using "A unit dies" events and damage events.
The Dummy unit's Expiration Timer needs to be long enough to outlast the lifespan of it's own Shockwave.
The offset value in SR_Point[2] is how far away from the hero the shockwave will spawn. This should be where the shockwave ends.
Casting Time = Distance / Speed

If you want something more advanced where the Shockwave literally follows the Hero as it returns then you'll need to trigger everything yourself. I attached a map with a custom shockwave which you can use to get started, it's got most of the work done for you.

Edit:
The Dummy unit should be based on the Locust with the follow changes:
Speed Base = 0, Movement Type: None, Attacks Enabled: None, Model: None, Shadow: None.

The Shockwave (Dummy) ability is a copy of Shockwave (Return) but with 99999 cast range and 0 mana cost. This way the Dummy unit can cast it without any issues.
 

Attachments

  • Shockwave Return 1.w3m
    20.6 KB · Views: 7
  • Custom Shockwave Example.w3x
    24.8 KB · Views: 5
Last edited:
Status
Not open for further replies.
Top