• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Problem with a lasting Aura Effect

Status
Not open for further replies.
Level 3
Joined
Dec 24, 2007
Messages
29
Ok, here is my problem: I am trying to make a "paved road" building that ground units can walk on. The benefit of building these roads will be a small speed bonus for those on the road. Right now I am using a clone of Endurance Aura that only effects movement speed. The problem is, the effect of the aura doesn't wear off immediately after they leave the road, it lasts for a few seconds. It also stacks the bonus if they come into contact with other roads. So if I create a few roads in a line, it almost turns the whole strip into one of those turbo power ups seen in old arcade racing games. I'd like to know how to solve this issue or if there is a more effective method of doing this. Thanks in advance.
 
Level 3
Joined
Dec 24, 2007
Messages
29
I did... but its still not working. Is there a different ability that could be used?
 
Level 3
Joined
Dec 24, 2007
Messages
29
But the speed bonus should only last as long as they are on the road. Bloodlust would be a bit too choppy for my end (for lack of a better word)
 
Level 11
Joined
Feb 18, 2004
Messages
394
Ok, here is my problem: I am trying to make a "paved road" building that ground units can walk on. The benefit of building these roads will be a small speed bonus for those on the road. Right now I am using a clone of Endurance Aura that only effects movement speed. The problem is, the effect of the aura doesn't wear off immediately after they leave the road, it lasts for a few seconds. It also stacks the bonus if they come into contact with other roads. So if I create a few roads in a line, it almost turns the whole strip into one of those turbo power ups seen in old arcade racing games. I'd like to know how to solve this issue or if there is a more effective method of doing this. Thanks in advance.
I'm unsure about your issue with auras stacking.

As for the delay, its impossible to remove it. Auras where made to work as large radius bonuses around important units, giving a buffer time for returning to that radius. Its simply how auras behave. (Remember, they did design WC3 for melee.)
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,191
The auras stacking is caused by a problem with the buffs.

I did the very same and had the same problem ages ago. To fix it make sure they have a buff and that all roads use the same buff (and spell if need be) to stop stacking.

Stopping the aura delay is impossiable sadly. However I do see the ability for a trigger work around. You can use the event that triggers when a unit enters or exits X range of a unit on all units the road has to affect. Using that you can get when it walks onto a road and when it leaves a road thus enabling you to add / remove a movement speed boost. Sadly blizzard did not make this a cake walk, as in the trigger run by the event there is no function that will return the unit who's range was entered so handle vars or structs are needed inorder for you to get the unit that the entire event relates around, thus making it quite a demanding process.

Your best bets I still say is to just stick with the delay. You may want to check gameplay constants atleast, as there I think you can manipulate some aura stuff.
 
Level 3
Joined
Dec 24, 2007
Messages
29
Thanks for the input guys. Sounds a bit to complicated for my purposes though... maybe I'll figure out different reason for needing roads.
 
Level 4
Joined
Dec 4, 2007
Messages
76
Couldnt you just make a trigger that constantly checks whether or not the hero is on the "road" and if they are just cause a dummy unit to cast a spell that gives a speed buff...use an IF/Then/Else function...heres an example

  • RoadCheck
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set TempPoint = (Position of (<Your Hero Here>))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Terrain type at (TempPoint)) Equal to <Your terrain-type here>
        • Then - Actions
          • Unit - Create 1 <Dummy Unit Here> for (Owner of (<Your Hero Here>)) at (Position of (<Your Hero Here>)) facing Default building facing degrees
          • Set RoadDummy = (Last created unit)
          • Unit - Order (RoadDummy) to Human Sorceress - Slow (<Your Hero Here>)
          • Unit - Add a 0.99 second Generic expiration timer to RoadDummy
          • Custom script: call RemoveLocation( udg_TempPoint )
        • Else - Actions
          • Unit - Remove Slow buff from (Triggering unit)
          • Custom script: call RemoveLocation( udg_TempPoint )
Now as you may have noticed it uses the Sorceress slow spell...the reason is because you cant order units to cast custom made spells, so you need to edit existing skills. To do this, simply edit the sorceress slow spell to remove the effect (the yellowish circle image that goes around the unit) and change the movement speed reduction field to a negative number (i.e -0.15; the thing is in percents..this would be a 15% speed increase) To allow negative numbers simply hold shift and then click on the field; you can now input negatives. Now, you will need to do this for each players hero, but in the end...it will work. Now you will need to make sure your dummy unit knows the Sorceress slow spell and make sure it costs 0 mana to cast and the cast delay is set to 0 and spell cooldown is set to 0. Change the buff tooltip if you wish so it says "This unit is on a road, it moves quicker" or something like that...

Now when the unit leaves the road, the check makes it to where if the unit is not on the road it removes the buff "slow" so the unit will not get the speed boost. It then cleans up the trigger by removing TempPoint. Good luck d00d!
 
Status
Not open for further replies.
Top