• 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.
  • Vote for the theme of Hive's HD Modeling Contest #7! Click here to vote! - Please only vote if you plan on participating❗️

Shockwave Destroying Terrain

Status
Not open for further replies.
Okay, so I am working on a map where the hero you control is a slightly modified version of Lord Garithos. Remember how he has the Shockwave ability? When I use it in a certain area on the map, the terrain goes all wonky, whether the area is in fog of war, in black mask, or visible.

I've added a few pictures below. Here's what the cliffs look like before I use shockwave:

View attachment 61077

Here's how they look after:

View attachment 61078

Here's how they look after with global visibility enabled:

View attachment 61079

How can I fix this?
 
Last edited:
Maybe start a timer after the "A unit starts the effect of an ability" events that expires in 1.00 second and the action "Environment - Stop (Last created Terrain Deformation) over 0.00 seconds". Well, i guess you use Jass though (?)
Still, I am not sure if this can be fixed. You can also try making a shockwave of your own: View attachment Shockwave.w3x
Take this (the spell is not made by me and i don't remember who did it to credit them, the only thing i did is adding the terrain deformation, to make it look like an actual shockwave) and try it in the map, checking if this is still happening.
(P.s. Oh, it's an "indexed" spell, so, you might want a new one, but hell, copy paste it in the map of yours and check if it still occurs; if not, create your own jass one, at least you'll have the answer)
 
First Picture: He didn't use it.
2nd Picture: You can faintly see the "Cheat Disabled" text.

1st Picture is before I use Shockwave in Fog of War. 2nd Picture is after I have used it without "iseedeadpeople." Third Picture is after I have used it with "iseedeadpeople."

Trigger the whole thing.

What part of "I don't have any experience with JASS whatsoever, and I know a limited amount of GUI" did you not understand? I'd be happy to explain.
 
Level 20
Joined
Oct 21, 2006
Messages
3,230
  • Shockwave
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shockwave
    • Actions
      • Set Point1 = (Position of (Triggering unit))
      • Set Point2 = (Point1 offset by 50.00 towards (Facing of (Triggering unit)) degrees)
      • Unit - Create 1 Dummy: Shockwave for (Owner of (Triggering unit)) at Point2 facing (Facing of (Triggering unit)) degrees
      • Custom script: call RemoveLocation(udg_Point1)
      • Custom script: call RemoveLocation(udg_Point2)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Wait 1.00 seconds
      • Unit Group - Remove all units from Shockwave_Picked[(Player number of (Owner of (Triggering unit)))]
  • Shockwave loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units of type Dummy: Shockwave) and do (Actions)
        • Loop - Actions
          • Set Temp_Unit = (Picked unit)
          • Set Point1 = (Position of (Picked unit))
          • Set Point2 = (Point1 offset by 20.00 towards (Facing of (Picked unit)) degrees)
          • Unit - Move (Picked unit) instantly to Point2
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units within 150.00 of Point2 matching ((((Matching unit) is alive) Equal to True) and (((Owner of Temp_Unit) is an enemy of (Owner of (Matching unit))) Equal to True))) and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked unit) is in Shockwave_Picked[(Player number of (Owner of Temp_Unit))]) Equal to True
                • Then - Actions
                • Else - Actions
                  • Unit Group - Add (Picked unit) to Shockwave_Picked[(Player number of (Owner of Temp_Unit))]
                  • Unit - Cause Hero[(Player number of (Owner of Temp_Unit))] to damage (Picked unit), dealing (Real(Damage_Shockwave[(Player number of (Owner of Temp_Unit))])) damage of attack type Spells and damage type Normal
          • Custom script: call RemoveLocation(udg_Point1)
          • Custom script: call RemoveLocation(udg_Point2)
This is just a rough versions of the triggered Shockwave and I'm pretty sure that somebody could make better if just had some time. So, make the dummy to look like a shockwave. And btw the spell might not work if the same player casts more than one shockwave within 1 seconds.
 
Status
Not open for further replies.
Top