Imagine a Carrier with some Interceptors.
However, instead of using that cute laser weapon, they do damage on impact, i.e. at touching / crashing distance.
Now, a melee weapon takes care of most of this.
What remains though is the flying height.
They are only ever evolving within the "ui - height".
What I'd like to see is more like a swarm of angry bees. Attacking from all over, changing height as needed, depending on the target.
The Unit Compare Field validator can be used to determine target height and Buff behaviours can be used to adjust the height of a unit. It is then purely a question of how many different unit heights you will have in your map.
You could also try a ranged attack using a returning missile and a missile model matching the host. On launch, you hide the host and shoot the missile, on return you show him again. You can also try to add a behavior with random height changes; maybe just a modified banker siteop will work as well?
The Unit Compare Field validator can be used to determine target height and Buff behaviours can be used to adjust the height of a unit. It is then purely a question of how many different unit heights you will have in your map.
Any chance for a more detailed explanation on how to use the Unit Compare Field validator? Is there any way to compare the same field of two different units using a validator, instead of comparing one unit's field to a preset value?
I ask because I'm doing something like this right now, with a melee air unit - I'm trying to get the melee attack to look more natural by having the unit change height to the height to the attack target. Ideally, I would like to do this without triggers, and thus, a broader question: is there a way to do this through data editor stuff only, or would I have to resort to triggers for it (because I can't find a behavior/buff that will accept a variable height change either - it expects some preset value - I think it could still be done with a behavior for slightly raising the unit that only fires when the validator shows the target is higher, and vice versa for lowering/lower, but for all I know that might just end up being less efficient than using a trigger)?
Tried using a returning missile with no ammo unit?
That validator can compare any field of the Units data type with any possible value for that field. Try leaving the Validator - Value field blank and experimenting with the Validator - Other Unit - Value field.
As you will have a limited number of unit heights you could validate if the target of an attack is a certain height and enable/apply a buff with starting the attack that adjusts the attacking unit height. You would repeat this for each different strata of air unit height.
Okay, I ended up not using either of the suggestions above for now, and ultimately went with a trigger solution - here's why:
"Tried using a returning missile with no ammo unit?"
This would require teleportation of the unit to do right - my melee air unit, other than flying, behaves like a normal melee unit - when it melee-attacks another air unit, it does not return to the location it was at, it stays at the same spot. Also, since the model has attack animations, and I have no clue how to make a missile's model play a specific animation upon impact, this wasn't ideal even with teleportation. And, on top of that, even with teleporting, it would look messy, as the unit would teleport but not change heights, so all consecutive attacks would still look like the unit performing a weird dive-rise/rise-dive loop.
Finally for DrSuperEvil's suggestions: I agree with the limited number of heights point - however, I typically start with units (particularly if I hope to use them in multiple maps/projects) when I mess around in the editor, so I wanted a generalized solution. A handful (three, counting attack plane changes for when the melee air unit swoops down low enough, whereupon it becomes targetable as ground instead - speaking of, yes I did try this with validators, unfortunately the compare field validator seems to ignore height changes made by triggers) of triggers is not ideal, but it's not bad, and it allows for more modular import/export, instead of modifying the validators for each map, making sure to cover all the possible target heights (yes, normally it'd just be 0, 3.75, and nothing else, but I like the principle of a completely general solution in such cases).
And sadly I have not had time to mess around more with validators and the 'other unit' thing to see if there really is a possible solution in that.
BorgDragon: That was a great example for an interceptor shuriken, but it had one flaw for the application I was going for - namely, it again required that you know in advance the target's height - and as I explain two paragraphs above, while I know that's practically doable, I can't help but prefer a 100% generalized solution, even if it meant turning to triggers. But I learned a decent amount from your linked thread, which is always a good thing.
nevjmac: Your suggestion was already given by another person before I posted, and didn't really apply to my particular pursuit, but was appreciated none-the-less.
If anyone's interested in how I got things set up with my melee air unit (currently this only works for one such unit at once, which is all I needed, but I suspect it could be adapted to work with indefinite amounts of such units at once), feel free to ask (and, unlike my original question, the actual how to wouldn't be even indirectly on-topic, and as such should probably go in a different thread), Currently there's two triggers that somewhat smoothly (could no doubt be made smooth-er if that was necessary) adjust the unit height up/down towards its attack target, and gradually lower/raise the unit back to its default position when it's not attacking. There's also another trigger/behavior combo that changes the targeting plain of the unit between air/ground depending on how high the melee unit is. (Because it can attack ground units too, and since it's a melee flying unit, it makes sense it would be floating low enough to be hit by ground units when low enough to be meleeing them.)
Heres an idea. Let the carrier use the same type of attack as the broodlord. Just change the mover to something like the leviathan so it looks swarmy. Then let it spawn the interceptor with its melee attack.
Alternatively you could give your carrier 2 separate attacks(could even hide one from the UI if you wanted so it looked normal)...one that can only attack air units that launches interceptors that attack air and one for a ground attack that launches ground interceptors and just change the height of them respectively.
I had to go through something similar when I was making a leap ability so that it would look smooth leaping up hill or toward air units. I settled on firing a missile that looks exactly like the host + launch effect of teleporting the host unit then hide/unhide with actor events. With a specific enough mover nobody can ever tell the difference.
Also you don't need to use teleportation like I did(I had to use teleport because I couldn't just create a new hero every time the player used leap), but you can simply make the impact effect for a missile(a missile that looks like an interceptor) into a create unit effect that creates the interceptor and attacks. Again with a specific enough mover, nobody would ever be able to tell the difference between it an a normal interceptor.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Imagine a Carrier with some Interceptors.
However, instead of using that cute laser weapon, they do damage on impact, i.e. at touching / crashing distance.
Now, a melee weapon takes care of most of this.
What remains though is the flying height.
They are only ever evolving within the "ui - height".
What I'd like to see is more like a swarm of angry bees. Attacking from all over, changing height as needed, depending on the target.
So, yes... any profound thoughts on that one?
@celerisk: Go
http://starcraft.wikia.com/wiki/Tempest
Not a profound thought but...
The Unit Compare Field validator can be used to determine target height and Buff behaviours can be used to adjust the height of a unit. It is then purely a question of how many different unit heights you will have in your map.
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
- Not a profound thought but...
... interesting nonetheless.
Also goes to show that new ideas aren't always new :P
@DrSuperAwesome
I'll see what I can come up with there.
You could also try a ranged attack using a returning missile and a missile model matching the host. On launch, you hide the host and shoot the missile, on return you show him again. You can also try to add a behavior with random height changes; maybe just a modified banker siteop will work as well?
Any chance for a more detailed explanation on how to use the Unit Compare Field validator? Is there any way to compare the same field of two different units using a validator, instead of comparing one unit's field to a preset value?
I ask because I'm doing something like this right now, with a melee air unit - I'm trying to get the melee attack to look more natural by having the unit change height to the height to the attack target. Ideally, I would like to do this without triggers, and thus, a broader question: is there a way to do this through data editor stuff only, or would I have to resort to triggers for it (because I can't find a behavior/buff that will accept a variable height change either - it expects some preset value - I think it could still be done with a behavior for slightly raising the unit that only fires when the validator shows the target is higher, and vice versa for lowering/lower, but for all I know that might just end up being less efficient than using a trigger)?
Tried using a returning missile with no ammo unit?
That validator can compare any field of the Units data type with any possible value for that field. Try leaving the Validator - Value field blank and experimenting with the Validator - Other Unit - Value field.
As you will have a limited number of unit heights you could validate if the target of an attack is a certain height and enable/apply a buff with starting the attack that adjusts the attacking unit height. You would repeat this for each different strata of air unit height.
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
Here's a place to start. Turned the Interceptor/Carrier into a Shuriken basically. The interceptors "dive" to attack it's target.
It can be tweaked as needed. Just add in that Unit Compare.
http://www.sc2mapster.com/forums/development/data/20475-shuriken/#p1
why not just make the interceptors the missile unit? and adjust the mover of the missile to look the way you want it
Okay, I ended up not using either of the suggestions above for now, and ultimately went with a trigger solution - here's why:
"Tried using a returning missile with no ammo unit?" This would require teleportation of the unit to do right - my melee air unit, other than flying, behaves like a normal melee unit - when it melee-attacks another air unit, it does not return to the location it was at, it stays at the same spot. Also, since the model has attack animations, and I have no clue how to make a missile's model play a specific animation upon impact, this wasn't ideal even with teleportation. And, on top of that, even with teleporting, it would look messy, as the unit would teleport but not change heights, so all consecutive attacks would still look like the unit performing a weird dive-rise/rise-dive loop.
Finally for DrSuperEvil's suggestions: I agree with the limited number of heights point - however, I typically start with units (particularly if I hope to use them in multiple maps/projects) when I mess around in the editor, so I wanted a generalized solution. A handful (three, counting attack plane changes for when the melee air unit swoops down low enough, whereupon it becomes targetable as ground instead - speaking of, yes I did try this with validators, unfortunately the compare field validator seems to ignore height changes made by triggers) of triggers is not ideal, but it's not bad, and it allows for more modular import/export, instead of modifying the validators for each map, making sure to cover all the possible target heights (yes, normally it'd just be 0, 3.75, and nothing else, but I like the principle of a completely general solution in such cases).
And sadly I have not had time to mess around more with validators and the 'other unit' thing to see if there really is a possible solution in that.
BorgDragon: That was a great example for an interceptor shuriken, but it had one flaw for the application I was going for - namely, it again required that you know in advance the target's height - and as I explain two paragraphs above, while I know that's practically doable, I can't help but prefer a 100% generalized solution, even if it meant turning to triggers. But I learned a decent amount from your linked thread, which is always a good thing.
nevjmac: Your suggestion was already given by another person before I posted, and didn't really apply to my particular pursuit, but was appreciated none-the-less.
If anyone's interested in how I got things set up with my melee air unit (currently this only works for one such unit at once, which is all I needed, but I suspect it could be adapted to work with indefinite amounts of such units at once), feel free to ask (and, unlike my original question, the actual how to wouldn't be even indirectly on-topic, and as such should probably go in a different thread), Currently there's two triggers that somewhat smoothly (could no doubt be made smooth-er if that was necessary) adjust the unit height up/down towards its attack target, and gradually lower/raise the unit back to its default position when it's not attacking. There's also another trigger/behavior combo that changes the targeting plain of the unit between air/ground depending on how high the melee unit is. (Because it can attack ground units too, and since it's a melee flying unit, it makes sense it would be floating low enough to be hit by ground units when low enough to be meleeing them.)
Heres an idea. Let the carrier use the same type of attack as the broodlord. Just change the mover to something like the leviathan so it looks swarmy. Then let it spawn the interceptor with its melee attack.
Alternatively you could give your carrier 2 separate attacks(could even hide one from the UI if you wanted so it looked normal)...one that can only attack air units that launches interceptors that attack air and one for a ground attack that launches ground interceptors and just change the height of them respectively.
I had to go through something similar when I was making a leap ability so that it would look smooth leaping up hill or toward air units. I settled on firing a missile that looks exactly like the host + launch effect of teleporting the host unit then hide/unhide with actor events. With a specific enough mover nobody can ever tell the difference.
Also you don't need to use teleportation like I did(I had to use teleport because I couldn't just create a new hero every time the player used leap), but you can simply make the impact effect for a missile(a missile that looks like an interceptor) into a create unit effect that creates the interceptor and attacks. Again with a specific enough mover, nobody would ever be able to tell the difference between it an a normal interceptor.