HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Removing and adding abilities bugs issued orders

11-29-2013, 07:29 AM#1
dabest2503
I found out that when an ability is removed and have another added to the same unit, the unit will complete its current issued orders prior to the removing/adding of abilities, unless the stop command is given. This causes smart orders (right-clicks) to be ignored during the issued order prior to the triggering, and will only be carried out after said issued orders are completed.

Is there a way to work around this without having to trigger in a stop issue? I want to be able to have a unit walk smoothly when an ability based off Fan of Knives (one that does not interrupt issued orders) is cast, triggering the Remove/Adding of other abilities without causing the bug.
11-29-2013, 03:52 PM#2
chobibo
You could use a dummy unit to cast the fan of knives on the unit's current position.
11-29-2013, 04:45 PM#3
dabest2503
My point was not to cast fan of knives, it was just a dummy ability to trigger other things, but since fan of knives does not interrupt issued orders, I used it, just as I would use Windwalk, Divine Shield etc. But this removing and adding of abilities is causing the bug, which I want to get rid of.
11-29-2013, 06:28 PM#4
Fledermaus
What are the abilities you're adding/removing during the cast?
11-30-2013, 03:00 AM#5
dabest2503
One ability is based off fan of knives, another based off windwalk. I could attach a demo map demonstrating this bug. Will be up soon.

Edit: Not sure how to attach the map here, so here's a link to the map below.
http://s000.tinyupload.com/download....13394977532348
11-30-2013, 04:14 AM#6
Fledermaus
Weird. You could try using Engineering Upgrade to replace the ability with a different version of itself rather than add/remove?
Or you could just use Last Order to reorder after you cast.
11-30-2013, 08:34 AM#7
dabest2503
Engineering upgrade? I'm not sure how to go about using it in this case.. I haven't used this ability once in making spells. What I want is for ability A to be replaced with ability B when A is casted, and vice versa. Clueless as to how engineering upgrade can achieve this.
11-30-2013, 09:46 AM#8
Fledermaus
If A and B are based on the same ability you simply create 2 Engineering Upgrades. The one for turning A into B should have the field "Data - Ability Upgrade 1" set to B and then A (instead of Pocket Factory and then Pocket Factory (Upgrade 1)) and the rest of the Ability Upgrades can be blank. To switch A for B simply add the Engineering Upgrade to the unit then remove it.
Do the same thing for B to A ("Data - Ability Upgrade 1" should be A then B though).
11-30-2013, 10:47 AM#9
Anitarf
Quote:
Originally Posted by dabest2503
I found out that when an ability is removed and have another added to the same unit, the unit will complete its current issued orders prior to the removing/adding of abilities, unless the stop command is given.
This seems unlikely. I was considering making a test map to show how this doesn't happen but I really don't think I have to, if doing something as simple as replacing an ability would bug like that I'd definitely know about it.

Quote:
What I want is for ability A to be replaced with ability B when A is casted, and vice versa.
There's your problem most likely, you're trying to remove an ability as it is being used. Try doing the ability swap after a short delay instead. Alternatively, since these are just dummy abilities which you apparently use to toggle something, why not use a single toggleable ability like Defend instead?

Quote:
Originally Posted by Fledermaus
The one for turning A into B should have the field "Data - Ability Upgrade 1" set to B and then A (instead of Pocket Factory and then Pocket Factory (Upgrade 1)) and the rest of the Ability Upgrades can be blank.
According to the Warcraft III Ability Guide, you need to specify all four abilities or it might not work.
11-30-2013, 11:59 AM#10
Fledermaus
Actually yeah, that's a way better idea. Just use a 0. second timer.