I'm trying to make an ability usable only if the ability is not being used by that player. I tried using the Not -> Count Ability -> Queued or better requirement but it doesn't work, the unit wont be able to use the ability even if there are no other units using it. So I tried switching from Queued or better to In progress or better but I got the same result. How can I fix it? Does Blizzard need to fix it?
I have no clue why you'd think "Queued/In Progress or better" would refer to abilities. Use a different method like a requirement that the player has 0 instances of x behaviour, and have the ability apply/remove this behaviour.
Behaviors will probably work, but not in the way you suggested. As I need to block additional uses from the moment the ability is queued. I'll need to add the behavior to the unit and give it a validator to go on when the ability is queued (if thats possible).
I thought those requirements would work with abilities because abilities can be in progress and can be queued. But now that you pointed it abilities can't be queued the way that queued or better requirementmeans it, which is queued in a Queue ability line, thats why it only works for units and upgrades.
Look at the validator type called Unit Compare Order Count. I have played with it before and it works how you need for telling if an ability is being used. The downside is it only applies to an individual unit and I am not sure if requirements can detect a global behaviour change.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
EDIT: Ok, that's it. I just cant make this damn thing work. I'm terrible with validators. I gave the unit a behavior that should be disabled as long as the unit doesn't have the order to use the ability. But it doesn't get disabled.
Buffs disabled have a latency of about 0.3 secs before being known as active. If your spell is not channeled or lacks a cast time then it probably is going on and off so fast that the buff cannot pick it up.
Whoa now I noticed something important. I tested your map, but I unchecked the hidden flag. So the behavior icon is always there. Isn't it supposed to disappear when disabled? This is something I didn't pay attention before and now it tricked me.
EDIT: And what was I supposed to see in your map? By the name I think I should be able to interrupt the Yamato right? But I can't.
EDIT AGAIN: The validator is actually disabling the behavior. I found that if I chack the Queued flag it enables the behavior when the order is queued but not when it is the current order, so I'll need 2 validators, one with Queued flag unchecked and another with it checked. Still I couldn't come with a requirement that works in this case. It seems that I can only count behaviors with no distinction between enabled and disabled, and it makes all my work useless.
In that map if the yamato is casting it enables the damage response buff behaviour that interupts the yamato cannon if the unit is attacked (was for an old forum thread that wanted to have a chance to interrupt uninterruptable abilities of bosses when hit).
Potential work around is have two buffs that remove and add a third constantly. The applying buff is disabled is the unit is not casting and the removing buff is disabled if it is.
When disabled you still see the buff icon but all of the mods it gives are disabled. It also is considered removed by the Unit Compare Behavior Count validator.
So I won't be able to balance the ability the way I wanted. I'll have to pick one of the options I have left. Blizzard just needs to add Enabled, Enabled on unit, Disabled and Disabled on unit to the Count Behavior requirement, that would help a lot.
I think I'll make the effect fail if the ability is already queued or is being cast. But which validator should I use to detect it? Can I use a Unit Compare Behavior Count to get that behavior from all units at once? Or maybe the Unit Order Queue to get the order from all units?
The other option I see is to give the behavior (the one on the caster unit) a search effect on the whole map to apply a buff that disables the ability on all caster units.
The Enumerate Area validator has a field called Search - Areas - Validator, this could be used to count all units casting this ability globally and if the count is not 0 then it enables the buff that disables the ability.
Potential work around is to give the unit a Buff that is enabled during casting which uses a periodic global Search Area effect that applies a buff that disables the ability.
A periodic Search Area worked. It applies a behavior but this behavior doesn't disable the ability, it is the requirements for the ability that check if the caster unit has the behavior on it.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I'm trying to make an ability usable only if the ability is not being used by that player. I tried using the Not -> Count Ability -> Queued or better requirement but it doesn't work, the unit wont be able to use the ability even if there are no other units using it. So I tried switching from Queued or better to In progress or better but I got the same result. How can I fix it? Does Blizzard need to fix it?
I have no clue why you'd think "Queued/In Progress or better" would refer to abilities. Use a different method like a requirement that the player has 0 instances of x behaviour, and have the ability apply/remove this behaviour.
Behaviors will probably work, but not in the way you suggested. As I need to block additional uses from the moment the ability is queued. I'll need to add the behavior to the unit and give it a validator to go on when the ability is queued (if thats possible).
I thought those requirements would work with abilities because abilities can be in progress and can be queued. But now that you pointed it abilities can't be queued the way that queued or better requirementmeans it, which is queued in a Queue ability line, thats why it only works for units and upgrades.
Look at the validator type called Unit Compare Order Count. I have played with it before and it works how you need for telling if an ability is being used. The downside is it only applies to an individual unit and I am not sure if requirements can detect a global behaviour change.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
@DrSuperEvil: Thanks, I'll check that.
EDIT: Ok, that's it. I just cant make this damn thing work. I'm terrible with validators. I gave the unit a behavior that should be disabled as long as the unit doesn't have the order to use the ability. But it doesn't get disabled.
Buffs disabled have a latency of about 0.3 secs before being known as active. If your spell is not channeled or lacks a cast time then it probably is going on and off so fast that the buff cannot pick it up.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Whoa now I noticed something important. I tested your map, but I unchecked the hidden flag. So the behavior icon is always there. Isn't it supposed to disappear when disabled? This is something I didn't pay attention before and now it tricked me.
EDIT: And what was I supposed to see in your map? By the name I think I should be able to interrupt the Yamato right? But I can't.
EDIT AGAIN: The validator is actually disabling the behavior. I found that if I chack the Queued flag it enables the behavior when the order is queued but not when it is the current order, so I'll need 2 validators, one with Queued flag unchecked and another with it checked. Still I couldn't come with a requirement that works in this case. It seems that I can only count behaviors with no distinction between enabled and disabled, and it makes all my work useless.
In that map if the yamato is casting it enables the damage response buff behaviour that interupts the yamato cannon if the unit is attacked (was for an old forum thread that wanted to have a chance to interrupt uninterruptable abilities of bosses when hit).
Potential work around is have two buffs that remove and add a third constantly. The applying buff is disabled is the unit is not casting and the removing buff is disabled if it is.
When disabled you still see the buff icon but all of the mods it gives are disabled. It also is considered removed by the Unit Compare Behavior Count validator.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
So I won't be able to balance the ability the way I wanted. I'll have to pick one of the options I have left. Blizzard just needs to add Enabled, Enabled on unit, Disabled and Disabled on unit to the Count Behavior requirement, that would help a lot.
I think I'll make the effect fail if the ability is already queued or is being cast. But which validator should I use to detect it? Can I use a Unit Compare Behavior Count to get that behavior from all units at once? Or maybe the Unit Order Queue to get the order from all units?
The other option I see is to give the behavior (the one on the caster unit) a search effect on the whole map to apply a buff that disables the ability on all caster units.
The Enumerate Area validator has a field called Search - Areas - Validator, this could be used to count all units casting this ability globally and if the count is not 0 then it enables the buff that disables the ability.
Potential work around is to give the unit a Buff that is enabled during casting which uses a periodic global Search Area effect that applies a buff that disables the ability.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
A periodic Search Area worked. It applies a behavior but this behavior doesn't disable the ability, it is the requirements for the ability that check if the caster unit has the behavior on it.