This is a very specific problem, so I will try to explain it in some detail. In a testmap I created related to this post, I came across a problem, when trying to create the mentioned Champions mechanic.
Basically, I want the first couple of units of a certain type to be Champions, which are stronger than the regular unit type. This should be based on a research, the higher the level of the upgrade, the more of the Champions you can control. If Champions die, the next warped in units will be Champions again, until you reached the desired count again.
Currently, I realized this for the Zealot by duplicating the Zealot and increasing the stats of the duplicate. Then I added him to the WarpGate Train ability, the ability command is set up like a usual Zealot, just links to the Champion and uses a different button. Then I added a button on top of the Warp In Zealot button on the Warpgate. This button is disabled via a requirement (show and use), checking the upgrade level against the current amount of Champions. This works quite well in general, only one small problem:
If you select 10 Warpgates and start warping in Zealots by pressing the button and then holding shift, the ability command will cancel, once you run out of Champions to warp in, so you have to click the button again to warp in the rest of the Zealots, which is slightly annoying.
Now, I could probably just swap out the default Zealot after warping in to avoid this problem, but I would prefer not to do that, maybe as a last resort. Instead, I was wondering, if there is maybe some kind of "Abilitycommand Alias" or something to make 2 abiliycommands behave like one.
How about using a Buff for the stats and adding some hidden counter? If there's a validator for Player-wide ability charges that should be pretty simple, use a Modify Unit/Player effect do decrease charges instead of the Use field when a Champion is placed and remove the buff on the newly summoned unit if there are no charges left.
There are some "ability alias" options, but I don't know about queueing with those. Burrow and Liftoff use them afaik, anyone who's played the HotS campaign will have accidentally burrowed their entire army at some point even though each unit has a unique Morph ability.
How about using a Buff for the stats and adding some hidden counter? If there's a validator for Player-wide ability charges that should be pretty simple, use a Modify Unit/Player effect do decrease charges instead of the Use field when a Champion is placed and remove the buff on the newly summoned unit if there are no charges left.
Well, currently the champions use unique buttons, a unique name, model, wireframe, icon, portrait... I don't think I can change those with buffs.
Quote:
There are some "ability alias" options, but I don't know about queueing with those. Burrow and Liftoff use them afaik, anyone who's played the HotS campaign will have accidentally burrowed their entire army at some point even though each unit has a unique Morph ability.
You could spawn a placeholder unit which instantly does the validator check and morphs accordingly, before the warp-in animation plays. The validator type "Unit Compare Charge Used" should be the one that reads ability charges.
The ability alias field is Ability: Set ID, and UI: Actor can be used for AbilKey terms in events.
Just use a switch effect instead to change which units spawns based on its count (granted you might have to find a work around if you really needed the button to change)
Hey.
This is a very specific problem, so I will try to explain it in some detail. In a testmap I created related to this post, I came across a problem, when trying to create the mentioned Champions mechanic.
Basically, I want the first couple of units of a certain type to be Champions, which are stronger than the regular unit type. This should be based on a research, the higher the level of the upgrade, the more of the Champions you can control. If Champions die, the next warped in units will be Champions again, until you reached the desired count again.
Currently, I realized this for the Zealot by duplicating the Zealot and increasing the stats of the duplicate. Then I added him to the WarpGate Train ability, the ability command is set up like a usual Zealot, just links to the Champion and uses a different button. Then I added a button on top of the Warp In Zealot button on the Warpgate. This button is disabled via a requirement (show and use), checking the upgrade level against the current amount of Champions. This works quite well in general, only one small problem:
If you select 10 Warpgates and start warping in Zealots by pressing the button and then holding shift, the ability command will cancel, once you run out of Champions to warp in, so you have to click the button again to warp in the rest of the Zealots, which is slightly annoying.
Now, I could probably just swap out the default Zealot after warping in to avoid this problem, but I would prefer not to do that, maybe as a last resort. Instead, I was wondering, if there is maybe some kind of "Abilitycommand Alias" or something to make 2 abiliycommands behave like one.
How about using a Buff for the stats and adding some hidden counter? If there's a validator for Player-wide ability charges that should be pretty simple, use a Modify Unit/Player effect do decrease charges instead of the Use field when a Champion is placed and remove the buff on the newly summoned unit if there are no charges left.
There are some "ability alias" options, but I don't know about queueing with those. Burrow and Liftoff use them afaik, anyone who's played the HotS campaign will have accidentally burrowed their entire army at some point even though each unit has a unique Morph ability.
Well, currently the champions use unique buttons, a unique name, model, wireframe, icon, portrait... I don't think I can change those with buffs.
Exactly what I though.
You could spawn a placeholder unit which instantly does the validator check and morphs accordingly, before the warp-in animation plays. The validator type "Unit Compare Charge Used" should be the one that reads ability charges.
The ability alias field is Ability: Set ID, and UI: Actor can be used for AbilKey terms in events.
Just use a switch effect instead to change which units spawns based on its count (granted you might have to find a work around if you really needed the button to change)
Yeah make the train ability create dummy units that then morph/are replaced with the correct units based on requirements.
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
If there is no other way, I might end up doing that.