• Check out the results of the Techtree Contest #19!
  • 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.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Ability cooldown trigger

Rayzen

R

Rayzen

Unit - For Unit (Triggering unit), Set cooldown of ability AnyAbility, Level: 1 to 9.00

I can't find any action that I can set to this... Any idea why?
I've made a custom Blink ability, works completely fine - just it has no cooldown.
Tried with adding Pause unit before and Unpause unit after the move-to action, but no luck with it
 
Unit - For Unit (Triggering unit), Set cooldown of ability AnyAbility, Level: 1 to 9.00

I can't find any action that I can set to this... Any idea why?
I've made a custom Blink ability, works completely fine - just it has no cooldown.
Tried with adding Pause unit before and Unpause unit after the move-to action, but no luck with it
Set the Level to 0. Most of the functions introduced in 1.31 are 0-index based because the devs failed to follow the GUI pattern where functions always start at 1.

In other words: 0 = 1, 1 = 2, 2 = 3, etc.
  • Set Variable AbilLvl = (Level of AnyAbility for (Triggering unit)) - 1)
  • Unit - For Unit (Triggering unit), Set cooldown of ability AnyAbility, Level: AbilLvl to 9.00
 
Last edited:
They didn't fail to follow the pattern. They first added them and they worked by starting at level 1, 2, ...
In a later patch they changed all the functions to work based off 0-indexing. Original Blizz would've added BJ (ah... eh no, not that abbreviation. Blizzard.J is a file!) - added BJ functions to remap stuff for World Editor. The Classic team forgot or didn't have time to do that anymore.

@GrapesOfWath wouldn't this be something you could add to the function descriptions in your WE mod?
 
Sorry I think you misunderstood me. I don't have that option at the editor when I go to triggers/actions, or I'm just way too stupid and cant find it.
How do I "Unit - For Unit, Set cooldown of ability"?

1754711754637.png
 
Last edited by a moderator:
Sorry I think you misunderstood me. I don't have that option at the editor when I go to triggers/actions, or I'm just way too stupid and cant find it.
How do I "Unit - For Unit, Set cooldown of ability"?
Update to at least version 1.31 (when it was introduced) and you'll find it under the Ability section. Or just use "Search For Text" and type "cooldown".
 
How do I update the World Editor? I see different version on the game and the editor :S Is there a patch update on this site?
1754712582769.png


Old version of World Editor
someone had the same issue, still I cant find an answer to "how to upgrade World Editor"
 
World Editor window - Help - About. Shows you the version or build.
You would be technologically naive to believe that a newer World Editor can add something new to the maps that's not supported by the old game EXE. There's no magic. Although I like my flying sheep fresh for breakfast.
 
jassDoc - BlzSetUnitAbilityCooldown
1.29.2 - I can't tell what the name is in GUI triggers.
Damn, I can't be wrong a third time, can I? I think I've gotten too comfortable in saying "update to 1.31+ for cool stuff", it's correct most of the time.

someone had the same issue, still I cant find an answer to "how to upgrade World Editor"
I've only ever upgraded through the BNET app or by using the good ol' fashioned "Battle.net" button from in-game. Maybe try a fresh install and make sure everything is on the same drive.
 
ok then to make my map playable I will stick with my version - but still, I have no idea how to solve the cooldown problem :/
 
Buy the video game, install it.
Did that long time ago, have RoC and TFT. I don't see how that impacts what

Tasyen said: Using a world editor of a newer version also makes your map unplayable by older versions of Warcraft 3​

and I want my map to be playable on older versions. What my problem was and still is, fixing the cooldown timer for my custom ability. But thanks for the irrelevant comment and your opinion.
 
An ability's cooldown gotta be configurable through Object Editor? The triggered cooldown is most certainly not what you looked for.

To reset cooldown:
UnitResetCooldown - idk what this is for
BlzSetUnitAbilityCooldown - is v1.29.2
I think a workaround might be UnitRemoveAbility + UnitAddAbility, bringing down compatibility requirements to 1.07. Contributions of workarounds are welcome on jassdoc.
 
Casting the ability doesn't trigger cooldown. Tried with UnitRemoveAbility(original), UnitAddAbility(dummy), then returning the original ability back - it won't work. I also tried with Real Comparison (making a variable that sets a different amount of CD time per lvl), not working too. This is the trigger that I have so far 1754807125213.png
 
Engineering Upgrade 'ANeg' (the skill replace skill) can do some ability altering in old version, even cooldown change, downside you need many abilities (when you have many skills for the playable heroes).


Your initial post was about custom blink with unwanted no cooldown, I guess you made an starts effect event trigger and moved the unit with the GUI set position that will interrupt the spell casting and prevent the start of the spells cooldown.
Use SetUnitX(unit, x) & SetUnitY(unit, y) or somehow delay the set position until the mana was paid and the cooldown started.
 
You gave me an idea! The custom ability was based on Storm Bolt, now I made second version based on Siphon Mana so its a channeling ability. The drain interval is 0.1 sec and there is a wait action of 0.2 before the move-to action - so the ability would be finished before the move-to action and triggering the cooldown. But now I have another error that I can't explain why its happening: When targeting the enemy unit, it says "must target a friendly unit" - although the targets allowed for the ability is set to "enemy". Any idea what happened and how to fix that?

ok, fixed it, just needed 1 sec interval for the drain and the wait action. Everything works now! Swift!
 
I didn't used ANeg. " I guess you made an starts effect event trigger and moved the unit with the GUI set position that will interrupt the spell casting and prevent the start of the spells cooldown." --- this gave me the idea to make simple adjustments, now everything works. There's a 1 sec delay but I guess that's the price I need to pay for making a map that runs on all WC3 TFT versions
You gave me an idea! The custom ability was based on Storm Bolt, now I made second version based on Siphon Mana so its a channeling ability. The drain interval is 0.1 sec and there is a wait action of 0.2 before the move-to action - so the ability would be finished before the move-to action and triggering the cooldown. But now I have another error that I can't explain why its happening: When targeting the enemy unit, it says "must target a friendly unit" - although the targets allowed for the ability is set to "enemy". Any idea what happened and how to fix that?
 
What my problem was and still is, fixing the cooldown timer for my custom ability. But thanks for the irrelevant comment and your opinion.
These are the problems you've mentioned:

1) I'm missing the reset cooldown function.
2) I can't update my World Editor to get access to the reset cooldown function.
3) Something about a "custom Blink" not working without much of an explanation.

Buying the game is a solution to all three since you will be up to date with all of the latest functions and using the BNET app directly will prevent any weirdness. I don't see how this is irrelevant or an opinion, it's just a fact. But you should've posted that trigger right away, it would've saved everyone's time.

Also, Tasyen gave you an alternate solution which will work great:
"Use SetUnitX(unit, x) & SetUnitY(unit, y)"

And you can use Channel as the base spell, it's designed to be used with triggers.
 
Last edited:
That trigger function (among the others) will probably require higher patches of WC3. You need to update your game to at least 1.31 or go straight to 2.0.3 (if you are desired to play online through Battle.net). After that, use the "Search For Text" option and then use the keyword "cooldown" to find that supposed trigger function inside the Trigger Editor.

Also, I'm very ambiguous about someone who necro-posted this question:
How do I update the World Editor? I see different version on the game and the editor :S Is there a patch update on this site?
View attachment 545199

Old version of World Editor
someone had the same issue, still I cant find an answer to "how to upgrade World Editor"
If you go to "Help" -> "About World Editor", you should see the current version of your WE you are currently using:
World Editor Version.jpg

Mine is 1.29.2 (6060). Since you are using the older patches, I'm going to assume that your version is 1.26 (6059).

Also, you can find the actual game version in the "File Properties" of both "Warcraft III.exe" and "World Editor.exe" (under "File Version"):
Screenshot 2025-08-11 094128.png


Remember that there are only 2 important (and legitimate) Warcraft III EXE files that are currently supported by Blizzard: "Warcraft III.exe" and "World Editor.exe". The "Frozen Throne.exe" (and even "war3.exe" and "worldedit.exe") was from the legacy versions and no longer being supported due to both ROC and TFT clients being merged with the higher patches. These two files can be found under "retail\x86_x64" folder, provided you have the latest patch from the official Battle.net app (in that case, Reforged client).

ok then to make my map playable I will stick with my version - but still, I have no idea how to solve the cooldown problem :/
I highly suggest removing your existing Warcraft III installation files and try installing a more, up-to-date version of the game from the Battle.net as Uncle mentioned earlier (buying the game legitimately with a full access to both Classic and Reforged assets is recommended). Do NOT use the old trick one, where you have to click on "Battle.net" button in-game, as this one might not work anymore.

The game is NOT free, what you may have heard is that using the ONLY ROC key will also enable the TFT expansion for free since 1.30.2, and the ability to use SD-only graphics since 1.32. To simplify, you still need at least ROC key (must be legit), but buying the full "Reforged" would work.

I haven't played Reforged just yet, but it's still a good point to mention about missing features in WE.
 
Dudes. I made a post asking for a help - solved it myself. This post is closed.
Now let me repeat myself - I want to make a map that would be playable to all game versions, so once I understood that upgrading to 1.30 + would screw that up, I actually downgraded to 1.0.0.1. It seems you people reply only to get exp on this site. I already said that I found a solution that works, no need to continue giving me "advice". In fact, I'm thinking of even deleting this profile and stop asking for any info/help here as it seems pointless to me.
 
Dudes. I made a post asking for a help - solved it myself. This post is closed.
Now let me repeat myself - I want to make a map that would be playable to all game versions, so once I understood that upgrading to 1.30 + would screw that up, I actually downgraded to 1.0.0.1. It seems you people reply only to get exp on this site. I already said that I found a solution that works, no need to continue giving me "advice".
Why are you upset that people are trying to help you? Everyone here is free to give advice as they see fit just as you're free to ignore it. Also, these threads serve to help both current and future users who are dealing with similar issues. So even if a comment doesn't apply to you it could help someone else.

In fact, I'm thinking of even deleting this profile and stop asking for any info/help here as it seems pointless to me.
This thread helped solve your issue...
 
Back
Top