So it will be much easier! You just have to put the requirement you want to have to disable or hide your ability and you'll be okay. I recently saw that you can completely disable an ability if you enable the 'show, can be suppressed' label.
You can also make a requirement directly interact with a validator via behaviors. I made you another example map using the medic's heal ability that will work only if the medic is irradiated by a science vessel. Follow these steps to understand how I've done that :
1. I created a behavior named 'check behavior' (buff) that I put the on medic.
2. I created a validator named 'have irradiate' that will return true if the caster (medic) have the behavior irradiate. I put after this validator in my behavior in the 'validator - disable' label.
3. I created a requirement named 'have check behavior' that will show the 'heal' ability only if my behavior is enabled. I also checked the 'can be suppressed, show' label my ability won't work even if it is autocasted.
4. I add this requirement to my 'heal' ability button.
The great advantage of this is that you can add more complex condition to your ability. With normal validator it will only return a red text error in your UI, but with requirement your ability will simply disappear and be disabled. I used this example in my map to hide ability during night.
I didn't test that but I'm sure that requirements works like validators, so if it's return false, the ability will not work.
And about the total disabling ability, I don't think that you can unlearn an ability (I saw that suggetion on the editor's improvement on the official Sc2 forum).
If I understood well, I put you an example map of your blocked ability. I took the siege tank tech example.
I copied/pasted everything about the siege tech (requirement,upgrade and ability) and I copied too the siege mode. To make disappear the first siege tech, you can see in the requirement tab that if you have a condition that is not met in the use section, the ability will be seen but not selectable and if it is not met in the show section, the ability will be simply hidden.
No problem!
@li5445: Go
So it will be much easier! You just have to put the requirement you want to have to disable or hide your ability and you'll be okay. I recently saw that you can completely disable an ability if you enable the 'show, can be suppressed' label.
You can also make a requirement directly interact with a validator via behaviors. I made you another example map using the medic's heal ability that will work only if the medic is irradiated by a science vessel. Follow these steps to understand how I've done that :
1. I created a behavior named 'check behavior' (buff) that I put the on medic.
2. I created a validator named 'have irradiate' that will return true if the caster (medic) have the behavior irradiate. I put after this validator in my behavior in the 'validator - disable' label.
3. I created a requirement named 'have check behavior' that will show the 'heal' ability only if my behavior is enabled. I also checked the 'can be suppressed, show' label my ability won't work even if it is autocasted.
4. I add this requirement to my 'heal' ability button.
The great advantage of this is that you can add more complex condition to your ability. With normal validator it will only return a red text error in your UI, but with requirement your ability will simply disappear and be disabled. I used this example in my map to hide ability during night.
I didn't test that but I'm sure that requirements works like validators, so if it's return false, the ability will not work.
And about the total disabling ability, I don't think that you can unlearn an ability (I saw that suggetion on the editor's improvement on the official Sc2 forum).
If I understood well, I put you an example map of your blocked ability. I took the siege tank tech example.
I copied/pasted everything about the siege tech (requirement,upgrade and ability) and I copied too the siege mode. To make disappear the first siege tech, you can see in the requirement tab that if you have a condition that is not met in the use section, the ability will be seen but not selectable and if it is not met in the show section, the ability will be simply hidden.