Question on Ability Cooldown

Mindless

New Member
Reaction score
4
Hi everyone,

I'm trying to use a trigger to detect if an ability is on cooldown or not. However, I'm currently having trouble finding the right trigger, funcion, or method that does that.

Is there any way to know if a unit's ability is on cooldown via triggers: something such as Current Cooldown for Ability, or Cooldown Remaining for Ability?

Any help is appreciated.
 

Dave312

Censored for your safe viewing
Reaction score
269
There is a function called Cooldown For Unit Ability which will return a real. This might only return how long the cooldown is for an ability, rather than the actual time remaining. I haven't checked this so you will need to, but given that you need to specify a unit, it should work.
 

eXirrah

New Member
Reaction score
51
I'm not sure that there is a build-in function that detects if an ability is on cooldown, but here is what you can do:
You can create a trigger that detects when an ability is cast and then as you know the cooldown of the ability
start a timer and if the timer expired the ability has cooled down if the timer has not expried the ability
is on cooldown.
 

Rainther

I guess I should write something of value here...
Reaction score
61
There is a function called Cooldown For Unit Ability which will return a real. This might only return how long the cooldown is for an ability, rather than the actual time remaining. I haven't checked this so you will need to, but given that you need to specify a unit, it should work.

I've seen that function, but does anybuddy understand what you're supposed to enter in the string of that function?
 

Dave312

Censored for your safe viewing
Reaction score
269
I've seen that function, but does anybuddy understand what you're supposed to enter in the string of that function?

When you go into the data editor and try to modify the cooldown, you should notice there is a field called Link. This is the string that it is referring to. I think the way this field works is that if you want to link abilities such that they use the same cooldown (ie using one ability resets the cooldown of multiple abilities), you need to enter the same string here for all abilities affected.
 

Mindless

New Member
Reaction score
4
I'm not sure that there is a build-in function that detects if an ability is on cooldown, but here is what you can do:
You can create a trigger that detects when an ability is cast and then as you know the cooldown of the ability
start a timer and if the timer expired the ability has cooled down if the timer has not expried the ability
is on cooldown.

Good idea. However, I'm just wondering if the game will lag or anything when I have lots of ability that uses this system to detect cooldown. Also, I would need to create a seperate timer for each ability, which will be a nightmare.
 

Rainther

I guess I should write something of value here...
Reaction score
61
Good idea. However, I'm just wondering if the game will lag or anything when I have lots of ability that uses this system to detect cooldown. Also, I would need to create a seperate timer for each ability, which will be a nightmare.

Try the thing we mentioned. That is adding a link-string to the ability-cooldown and it should return the number of seconds left with the trigger function and simply do a N > 0 to determine if it's on cooldown.
 

Mindless

New Member
Reaction score
4
Try the thing we mentioned. That is adding a link-string to the ability-cooldown and it should return the number of seconds left with the trigger function and simply do a N > 0 to determine if it's on cooldown.

I'm sorry, but I'm still a bit confused. What am I supposed to enter for the string field? I'm fairly new to the Data Editor and did not really understand what you were talking about when you said link.

I tried it leaving the string field blank. It returns 0 all the time.

EDIT: I've got it to work now. I've found the link field in the Data editor under cooldown. Putting this value in the string field enabled me to test the ability cooldown real-time. Thank you to everyone replying to my thread. It really helped me. Thank you all again!

EDIT: P.S. Still, if anyone can explain what the link field does other that this (i.e. has it any other uses?), I'd be happy to hear about it. So I'll have to continue my question: what does the link field do?
 

Rainther

I guess I should write something of value here...
Reaction score
61
As mentioned you may be able to have several abilities connected if they have the same string in the link.
Not confirmed, but logical.
 

Dave312

Censored for your safe viewing
Reaction score
269
EDIT: P.S. Still, if anyone can explain what the link field does other that this (i.e. has it any other uses?), I'd be happy to hear about it. So I'll have to continue my question: what does the link field do?

I'll use an example from WC3 (hopefully you have played that). In WC3, when you use an item healing potion, you are unable to use another healing item for a short duration (ie all the healing items use a shared cooldown). In the SC2 Data Editor, setting the cooldown link string to the same value for different abilities will achieve the same effect, ie they will all use the same cooldown.
 

Mindless

New Member
Reaction score
4
Oh, I never even knew how to do that in the WC3 Editor!

Thanks guys, this has been a very bountiful harvest of information for me: I got my original question answered and a way to link cooldowns.

Thank you everyone, this has been immensely helpful.

Thank you everyone again!:thup:
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top