Slow units that enter a region

brainless

Member
Reaction score
1
Can anyone teach me how to slow units enter a range of a unit and have them return to their previous speed when leaving?
 

inevit4ble

Well-Known Member
Reaction score
38
Trigger:
  • UnitEnters
    • Events
      • Unit - A unit enters (Entire map)
    • Conditions
    • Actions
      • Unit - Set (Triggering unit) movement speed to ((Current movement speed of (Triggering unit)) - 50.00)

Trigger:
  • UnitLeaves
    • Events
      • Unit - A unit leaves (Entire map)
    • Conditions
    • Actions
      • Unit - Set (Triggering unit) movement speed to ((Current movement speed of (Triggering unit)) + 50.00)

Thats the very basic idea.
 

brainless

Member
Reaction score
1
What if have a unit with 500 ms goes in to the area and bcome 450 ms then get another debuff of -50% ms it will bcome 225. If the unit get out of the area then will gain back to 275 ms and + back 50% it will bcome 550 ms or 522 ms if follow the game constant so i dont think that will work perfectly. And SORRY i made a mistake with range and region....what i was trying to ask is slow unit entering a range of a unit.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
you can use the tornado aura, stacking aura and reduces move speed addatively ie: a unit comes in range of 1 unit with 20% movespeed slow aura and then a second so its in range of both, that becomes 40% slow, its a base aura and it doesnt show a debuff, check for it in the abilities part of object editor
 

Smitty

Member
Reaction score
20
you can use the tornado aura, stacking aura and reduces move speed addatively ie: a unit comes in range of 1 unit with 20% movespeed slow aura and then a second so its in range of both, that becomes 40% slow, its a base aura and it doesnt show a debuff, check for it in the abilities part of object editor

I don't think he actually wants this, at least I don't think it's what he asked for. I think he used multiple slows as a potential problem with inevit4ble's trigger.

There's 2 easy ways I can think of to do this;

The easiest would be to give the unit a slow aura, so that any other units which come near it are slowed (as GFreak says tornado aura would work fine)

The second is slightly more complicated, but might be necessary if you have a problem with using an aura for whatever reason;

Create a spell based on slow. Give the ability to a dummy casting unit. Make the slow last 0.1s and make a trigger which creates a dummy caster every 0.01s to cast the slow on any units in range of a point.

Either of these should work fine. good luck :)
 

inevit4ble

Well-Known Member
Reaction score
38
My post was the basic idea. more details would have been good.

You would need to register the units movement speed reduce percent value and increase but that amount after the effect is finished, but that will tedious as you will probably use a unit group to set units in range but to save the movement decrease values I would think the best move would be to use a hashtable. Then at least you can use the unit handle so it would be easier to recall the value per unit.

The tornado effect is very useful and you should look into it, but the dummy caster is also a viable option
 

Smitty

Member
Reaction score
20
The second method won't leak if you use variables properly and get rid of them at the end.

Also, I should have said; creates a dummy caster every 0.1s not 0.01. 0.01 could potentially cause problems if you have too many units in the region at once, and besides, there's no need to be that immaculate.
 

brainless

Member
Reaction score
1
OK, Got it :) thx just forgot to set unit in range is alive......i got many cropses im range so they lag lol.
 

Smitty

Member
Reaction score
20
yeh, corpses won't help ^.^ if you have a problem with lag I'd suggest using inevit4ble's idea, using an aura.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
Create a spell based on slow. Give the ability to a dummy casting unit. Make the slow last 0.1s and make a trigger which creates a dummy caster every 0.01s to cast the slow on any units in range of a point.

this is a nice idea but once a few units enter all of a sudden you are creating 100 units/second/unit in the region, at 10 units thats 1000 units per second, even my computer cant handle that

with your idea what i would do instead is creating a dummy unit for every unit that enters the map that is locked to the unit (always the same speed and told to move to the same location and if it gets more that 80 or so range move it back and set its action again) that can have spells added and taken that do different effects, it would double the ammount of units in game but it would create HUGE diversitablility for his map, something not to be discarded lightly
 

Smitty

Member
Reaction score
20
It was only an idea. I think an aura is the best method, I was just suggesting alternatives
 

vypur85

Hibernate
Reaction score
803
with your idea what i would do instead is creating a dummy unit for every unit that enters the map that is locked to the unit (always the same speed and told to move to the same location and if it gets more that 80 or so range move it back and set its action again) that can have spells added and taken that do different effects, it would double the ammount of units in game but it would create HUGE diversitablility for his map, something not to be discarded lightly
I don't get you here. If you want a dummy unit to follow the affected unit, just for sake of slowing the affected unit, you might as well add a slow ability (Endurance Aura, Tornado) which targets self to the affected unit, or even order a dummy to cast Slow to them. No need all the fancy dummy movement triggering. Sides, if you're gonna use the Slow method, you only need one dummy unit for the entire duration of the game. Just reuse it to cast the spell over and over again.


As mentioned, the easiest way, is to give Tornado or Endurance Aura to a dummy unit (a unit with no model), and place the dummy units into the map manually. Whenever a unit enters the vicinity of the dummy unit, they get slowed. You don't even need to trigger it.

Or am I not getting what you want here?
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
I don't get you here. If you want a dummy unit to follow the affected unit, just for sake of slowing the affected unit, you might as well add a slow ability (Endurance Aura, Tornado) which targets self to the affected unit, or even order a dummy to cast Slow to them. No need all the fancy dummy movement triggering. Sides, if you're gonna use the Slow method, you only need one dummy unit for the entire duration of the game. Just reuse it to cast the spell over and over again.


As mentioned, the easiest way, is to give Tornado or Endurance Aura to a dummy unit (a unit with no model), and place the dummy units into the map manually. Whenever a unit enters the vicinity of the dummy unit, they get slowed. You don't even need to trigger it.

Or am I not getting what you want here?

i meant that dummys can be usefull and having one bound to each unit could be extremely usefull for a map overall, not specifically this spell/trigger/issue
 

Smitty

Member
Reaction score
20
But that's only if you specifically need that kind of functionality, which just confuses the issue here.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
lol we are just digressing way too much now... ignore my last few posts about that idea, if there are any more pertaining to the original question post away
 

inevit4ble

Well-Known Member
Reaction score
38
Well....... is there even still a problem? the author hasn't said much for a while :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top