Basically, what I'm trying to do is create a channeled spell where the missiles launched would behave differently (different speed, angle, acceleration, etc) over the duration of the channeled spell, and reacting to the presence of enemy units. Creating individual movers for each type of movement would not be possible, as the number of possible variations would be incredibly high. Is there a way to edit a missile's mover dynamically with triggers to create these variations?
a missile is considered a unit. Triggers can do alot with units.
You can:
-rotate
-set Speed
-set size
-set life/shields/energy/level and all related
-you can move and issue move commands
-you can do this over a period of time
-you can do this during the channeling of any spell
-you can change want the trigger does based on what units are presents and how close they are
-you can add/remove behaviors which can adjust acceleration movement, damage and do a lot of different things to the unit.
-You can make a infinite amount of variations with a formula or if you want to take an infinite amount of time to script each one
However:
-i don't think its possible to change the mover on a unit type but im sure with all thin you can work around it.
Thanks, I guess I'll have to do it with triggers then. My only concern now is if it could cause lag, since I'll need a periodic trigger running to move each missile because they move in a curve, so a simple "Move to point over X seconds" wouldn't work.
You'll be fine in terms of lag. Instead of doing the periodic, however, you could add the move orders to the unit's order queue and get it all out of the way upon launch. How that will tie in to your variations in velocity, I don't know.
Instead of periodics, unit is created, and Ability used (channeling).
when a unit is created that is a missle add it to a unit group
when the ability is used and is at channeling phase. Use a while loop that ends when channeling ends(may need another event to trigger the stop) and every half second or less do the modification you need. This is efficient cause its not running untill it needs to.
Basically, what I'm trying to do is create a channeled spell where the missiles launched would behave differently (different speed, angle, acceleration, etc) over the duration of the channeled spell, and reacting to the presence of enemy units. Creating individual movers for each type of movement would not be possible, as the number of possible variations would be incredibly high. Is there a way to edit a missile's mover dynamically with triggers to create these variations?
a missile is considered a unit. Triggers can do alot with units.
You can:
-rotate
-set Speed
-set size
-set life/shields/energy/level and all related
-you can move and issue move commands
-you can do this over a period of time
-you can do this during the channeling of any spell
-you can change want the trigger does based on what units are presents and how close they are
-you can add/remove behaviors which can adjust acceleration movement, damage and do a lot of different things to the unit.
-You can make a infinite amount of variations with a formula or if you want to take an infinite amount of time to script each one
However:
-i don't think its possible to change the mover on a unit type but im sure with all thin you can work around it.
Thanks, I guess I'll have to do it with triggers then. My only concern now is if it could cause lag, since I'll need a periodic trigger running to move each missile because they move in a curve, so a simple "Move to point over X seconds" wouldn't work.
@Darkyvm: Go
You'll be fine in terms of lag. Instead of doing the periodic, however, you could add the move orders to the unit's order queue and get it all out of the way upon launch. How that will tie in to your variations in velocity, I don't know.
Instead of periodics, unit is created, and Ability used (channeling).
when a unit is created that is a missle add it to a unit group
when the ability is used and is at channeling phase. Use a while loop that ends when channeling ends(may need another event to trigger the stop) and every half second or less do the modification you need. This is efficient cause its not running untill it needs to.