• 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.

Problem with burrow

Status
Not open for further replies.
Level 9
Joined
Sep 15, 2012
Messages
311
As the title says I've got a problem with a unit using the Burrow ability to hide in the ground.
I trigger the unit to burrow then after a second it surfaces again.

I searched through the internet for a solution but couldn't find anything to fix it.

Anyone knows anything about the matter and a possible solution?
 
Level 17
Joined
Mar 21, 2011
Messages
1,611
What did you exactly "triggered" ? explain a little more.
its a basic wc3 object editor ability, there are no triggers

did you change the alternate and the standard unit correctly? Also, if the casting unit is a hero, try to change the Duration - Hero to 1.45 seconds.

IMPORTANT:
if you DONT use the crypt fiend model, the animations won't work. The crypt fiend got the alternate animation to dig into the ground, other models dont have this. Because the program can't find the animation it will just use the standards, resulting in a stand animation.
 
Level 9
Joined
Sep 15, 2012
Messages
311
I just put some enemies in the map with Burrow ability and made a trigger to force them use it.
They indeed burrow but after a second they surface again.

Note 1. The units have the Crypt Fiend model.
Note 2. I have already set the Standard and Alternate unit.
 
Level 9
Joined
Sep 15, 2012
Messages
311
I guess that would work but then I have this problem:

I need to make a trigger to unpause the unit when the Hero is close.
My first thought was to use "Unit - Unit within Range" trigger and unpause the burrowed unit when the hero is going near it. But the trigger will not let me pick the hero (the Variable Hero more specificaly). It needs to pick a specific unit from map.
I can't choose the burrowed unit either since it will only work for the one placed on map already and not its respawns.

How to trigger this?

Edit: I got an idea. What if I try to trigger it when the Hero walks near the area the burrowed units are lurking (they respawn in the same spot)? Would this work?

  • Ankheg Unburrow
    • Events
      • Unit - A unit enters Ankheg1 <gen>
    • Conditions
      • (Entering unit) Equal to Hero
    • Actions
      • Unit Group - Pick every unit in (Units in Ankheg1 <gen> matching ((Unit-type of (Matching unit)) Equal to Burrowed Ankheg)) and do (Actions)
        • Loop - Actions
          • Unit - Unpause (Picked unit)
          • Wait 0.01 seconds
          • Unit - Order (Picked unit) to Undead Crypt Fiend - Unburrow
 
Level 12
Joined
May 20, 2009
Messages
822
I guess that would work but then I have this problem:

I need to make a trigger to unpause the unit when the Hero is close.
My first thought was to use "Unit - Unit within Range" trigger and unpause the burrowed unit when the hero is going near it. But the trigger will not let me pick the hero (the Variable Hero more specificaly). It needs to pick a specific unit from map.
I can't choose the burrowed unit either since it will only work for the one placed on map already and not its respawns.

How to trigger this?

Edit: I got an idea. What if I try to trigger it when the Hero walks near the area the burrowed units are lurking (they respawn in the same spot)? Would this work?

  • Ankheg Unburrow
    • Events
      • Unit - A unit enters Ankheg1 <gen>
    • Conditions
      • (Entering unit) Equal to Hero
    • Actions
      • Unit Group - Pick every unit in (Units in Ankheg1 <gen> matching ((Unit-type of (Matching unit)) Equal to Burrowed Ankheg)) and do (Actions)
        • Loop - Actions
          • Unit - Unpause (Picked unit)
          • Wait 0.01 seconds
          • Unit - Order (Picked unit) to Undead Crypt Fiend - Unburrow

Whenever a wait is used, everything, such as Triggering Unit, Picked Unit, etc, is thrown away.

Make a new map and remake the burrow spell and burrowing unit exactly like how it is now, then upload it. Since no one can figure out how to help you, that's the only thing that can be done. xD
 
Unfortunately changing the units to player slot, didn't work. They still surface a second after they burrow... :(

The player slot you changed them to. Did you set that player in Player Properties?
If you did, try leave that player as default (unused).

Also. If the vision of the units are set to 0 that could cause a problem as well since they can't see the point under them.
 
Level 2
Joined
Jun 1, 2014
Messages
18
Hmmmm... Maybe you could try making a dummy invisible unit for every unit that burrows, save the identity of the triggering burrowed unit to your dummy unit, give those dummy units an auto-looping spell that ony targets ennemy heroes (like a modified version of slow). When the dummy unit casts the spell (aka when the ennemy hero unit comes in range of the dummy unit), you load the data of the burrowed unit from your dummy unit, remove the dummy unit, and tell the burrowed unit GET OUT OF YO HOLE AND UNPAUSE.

Maybe that could help you out.

EDIT: I tested this method, could make it work but only by triggering a periodic spellcast from the dummy unit (every xx seconds of game time order unit to Sorceress - Slow unit)
 
Last edited:
Level 9
Joined
Sep 15, 2012
Messages
311
The player slot you changed them to. Did you set that player in Player Properties?
If you did, try leave that player as default (unused).

Also. If the vision of the units are set to 0 that could cause a problem as well since they can't see the point under them.

Thnx a lot. This solved the problem but created another problem:
The units will not respawn when using this respawn system:

  • Creep Spawn Location
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Respawn_Time = 45.00
      • Unit Group - Pick every unit in (Units in (Playable map area) owned by Player 12 (Brown)) and do (Actions)
        • Loop - Actions
          • Set Temp_Integer = (Temp_Integer + 1)
          • Unit - Set the custom value of (Picked unit) to Temp_Integer
          • Set Creep_Point[Temp_Integer] = (Position of (Picked unit))
  • Creep Respawn
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Owner of (Triggering unit)) Equal to Player 12 (Brown)
      • ((Triggering unit) is Summoned) Equal to False
      • (Custom value of (Triggering unit)) Greater than 0
    • Actions
      • Wait Respawn_Time seconds
      • Unit - Create 1 (Unit-type of (Triggering unit)) for Player 12 (Brown) at Creep_Point[(Custom value of (Triggering unit))] facing (Random angle) degrees
      • Unit - Set the custom value of (Last created unit) to (Custom value of (Triggering unit))
 
Status
Not open for further replies.
Top