This time I have a small question. The best way to explain it is via an example:
Inject can be used on Hatcheries normally. If the hatchery is morphing into a lair, researching an upgrade or training a Queen, inject can NOT be used on it.
The Inject and hatchery thing is just an example to illustrate the problem. Is it possible to prevent a spell from being used on a target, if it is doing something special? (Morphing, training units or something else)
I have looked at validators but no one seems to fit.
I also found another validator called Unit Ability. If I for example select Train as ability class and add the validator to Inject, I suppose Inject won´t be appliable if the hachery is trainng a queen... but still Inject works :even if I train a queen :s
Hm, I am partly useing this for a train ability. So if a building trains a unit, my spell can not target the building. And the train ability seems unable to give a buff to the building when it trains. So I can not use the buff validator to make the spell unable to target a building that trains (since it can not get a buff from train ability) :(
@Kabelkorven: Go You tried it the wrong way. Give your building the buff, and give validators to it, so it checks if the structure is idle or something like that. The train ability wont do it for you, but there are workarounds to check if your structure is busy somehow.
EDIT: Now that I think a second time about it, if there's a validator that could be useful in this case then you don't need the buff lol. Have you tried to validate the queue ability instead?
My ability is very simple. Its a Target ability linked to a Apply behaviour-effect. It can only target buildings. In the Validator field in the Apply Behaviour-effect have I added a Unit Order Queue validator. It looks like the picture I attach.
When I start to train a Queen and I use my spell on it, the spell works and gives the hatchery a buff. The point is that the spell shall NOT work when a unit is trained and NOT give the building a buff. "Error - You cant cast this spell on a building that trains units"
The spell will be unable to be casted on buildings that does certain things, like train, morph, research. I wondered if there was a general way of making a ability NOT effect a target that is doing something, no matter if its morphing, training, rooting, lift off, or something completely different.
But there seems to be no easy solution, just work-arounds. Or is the reqreuiment a smooth solution?
"create a new validator, set it to unitCompareOrderCount. now add your morphing ability and set unit to target. set the value to 0
now add this validator to the effect and it works. same with other abils... "
It works perfectly for preventing Inject from being used while the hatchery is morphing into lair. But it seems to not work when training a Queen or researching something.
Is there anyway a Unit Compare Order Count can prevent Inject from being used while the hatchery is training or researching?
I can use a UnitCompareOrderCount to prevent my effect to apply a buff to a building that is training or morphing. For some reason the validator does not work when I research something.
Any idea how I can validate the research ability?
(If a building is researching, my spell can NOT apply a buff to it)
Unfortunatly the Queue ability seems to not work either. My spell can still target a building that has queued something : /
It worked with a CompareUnitOrderCount Validator that validated for a morph and train ability. But the research ability seems to not work with Validators.
I will create a completely new research effect and see if it works
I found out that if I create a new research ability for every individual research, I can link each and everyone to a UnitCompareOrderCount and thus make my spell unable to target a building that is researching!
@Kabelkorven: Go I think you should post these cases in Blizz forums, maybe they could change it in a patch. Explain all the abilities you tried to validate and suggest a change to how the validator work, it could make lives easier in the future.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hello
This time I have a small question. The best way to explain it is via an example:
Inject can be used on Hatcheries normally. If the hatchery is morphing into a lair, researching an upgrade or training a Queen, inject can NOT be used on it.
The Inject and hatchery thing is just an example to illustrate the problem. Is it possible to prevent a spell from being used on a target, if it is doing something special? (Morphing, training units or something else)
I have looked at validators but no one seems to fit.
@Kabelkorven: Go You can give the unit a buff that is only enabled when its doing what you want to validate, then check for this buff.
Good idea. I will try that out.
I also found another validator called Unit Ability. If I for example select Train as ability class and add the validator to Inject, I suppose Inject won´t be appliable if the hachery is trainng a queen... but still Inject works :even if I train a queen :s
Hm, I am partly useing this for a train ability. So if a building trains a unit, my spell can not target the building. And the train ability seems unable to give a buff to the building when it trains. So I can not use the buff validator to make the spell unable to target a building that trains (since it can not get a buff from train ability) :(
Any other suggestions?
@Kabelkorven: Go You tried it the wrong way. Give your building the buff, and give validators to it, so it checks if the structure is idle or something like that. The train ability wont do it for you, but there are workarounds to check if your structure is busy somehow.
EDIT: Now that I think a second time about it, if there's a validator that could be useful in this case then you don't need the buff lol. Have you tried to validate the queue ability instead?
Under the Morph ability the Info - Sections - Effects field on morph start get to to apply a buff that makes the target untargetable.
Dang, another wiki page that needs near total reconstruction.
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
My ability is very simple. Its a Target ability linked to a Apply behaviour-effect. It can only target buildings. In the Validator field in the Apply Behaviour-effect have I added a Unit Order Queue validator. It looks like the picture I attach.
When I start to train a Queen and I use my spell on it, the spell works and gives the hatchery a buff. The point is that the spell shall NOT work when a unit is trained and NOT give the building a buff. "Error - You cant cast this spell on a building that trains units"
Is the validator I use wrong?
There must be a validator that determines if a building uses a certain ability?
If the building IS using the ability, like training units, the spell can NOT target the building.
Then why include morphing in the question when it is a train issue?
Tried using a requirement for the Train 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
The spell will be unable to be casted on buildings that does certain things, like train, morph, research. I wondered if there was a general way of making a ability NOT effect a target that is doing something, no matter if its morphing, training, rooting, lift off, or something completely different.
But there seems to be no easy solution, just work-arounds. Or is the reqreuiment a smooth solution?
You would have to give all the abilities the same Tech Alias and use the alias in the 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
I have given the same Tech Alias to the abilities. How do I make a Validator detect if a tech alias is used?
(Remember, if a building is morphing, training or researching, my spell can NOT target it)
One way would be to have a 3 way Morph with the middle unit being of a type that spells cannot target.
Lava > Egg > Zerg
ground > mechanical > ground
Try in the raw data mode typing in your alias with a _ infront.
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
I try this:
"create a new validator, set it to unitCompareOrderCount. now add your morphing ability and set unit to target. set the value to 0 now add this validator to the effect and it works. same with other abils... "
It works perfectly for preventing Inject from being used while the hatchery is morphing into lair. But it seems to not work when training a Queen or researching something.
Is there anyway a Unit Compare Order Count can prevent Inject from being used while the hatchery is training or researching?
I have experimented further.
I can use a UnitCompareOrderCount to prevent my effect to apply a buff to a building that is training or morphing. For some reason the validator does not work when I research something.
Any idea how I can validate the research ability?
(If a building is researching, my spell can NOT apply a buff to it)
@Kabelkorven: Go As I suggested before, have you tried to validate the Queue ability instead? I never tried it, but it may work.
Thank you for helping me so often SoulFilcher.
Unfortunatly the Queue ability seems to not work either. My spell can still target a building that has queued something : /
It worked with a CompareUnitOrderCount Validator that validated for a morph and train ability. But the research ability seems to not work with Validators.
I will create a completely new research effect and see if it works
I found out that if I create a new research ability for every individual research, I can link each and everyone to a UnitCompareOrderCount and thus make my spell unable to target a building that is researching!
Thanks for all help. This seems to be solved now
@Kabelkorven: Go I think you should post these cases in Blizz forums, maybe they could change it in a patch. Explain all the abilities you tried to validate and suggest a change to how the validator work, it could make lives easier in the future.