I'm trying to make an upgrade spell where a pilot calls down his ship from orbit via a morph spell. When the morph completes, the ship lowers down like Raynor's banshee calldown and once it reaches its normal height, the pilot teleports on board. The problem is, I can't really find the events to make this happen in the data editor.
Or is a morph spell the wrong way to go? I need the ability to cost resources.
I would use an Effect - Instant/Target ability. The lowering from a height can be done using a 0 opacity Model actor as a stick that changes scale on unit birth. Onto this model you host another Model actor which has the same model as your unit. Using a Buff behaviour you can make your unit uncommandable/selectable until the desired time.
Or are you aiming to do something else? I need more details as to the exact ability you want to create.
Oh, interesting direction. It never really occurred to me to use an invisible model to mimic height change. I'm not sure about the Effect - Instant/Target ability, though. The idea is to have the unit (called an Engineer) cast a spell for X seconds. When the spell is over, a ship lowers down from the sky and once it reaches normal flying height, the Engineer becomes the ship. That's kinda why I wanted to use a morph spell, which would also preserve the Engineer's control group.
Ok then a Morph is what you need. Again having some disabling buff to prevent giving orders until the animations are complete is still an option.
I would make the actor immediately change when morph starts and make The Unit actor 0 opacity. You then use two 0 opacity marines as sticks to adjust the heights. The one holds you spaceship maybe coming in at an angle while the other holds a model of your engineer. The ship is lowered maybe with an atmospheric burn model that is on a timer. Once the ship is in place the stick holding the model of your engineer shrinks while a cone is projected downwards (unless you would prefer a teleport like effect). The model of the engineer is destroyed/blended out with opacity change and then destroyed and your ship model is destroyed while your unit actor is revealed.
Idk if I should make it on morph start since this ability is going to be like an upgrade, and it'll cost resources and will take time to finish. Anyway, the idea sounds good.
So I have 4 model actors. 2 of them are the actual visual representation of the engineer and the ship. The other 2 are 'model holders', the sticks. So on the sticks I do:
Morph.*.Finish
-Morph from engineer
-Morph to ship
Create
For the stick of the ship I set it's default scale with a Z axis of 8. For its events I do:
ActorCreation
Create ShipModel
ActorCreation
Set Opacity 0.
ActorCreation
SetScale x=0. y=0. z=3. with 1.5 blend in duration
What I don't know what to do next is detect when the scale change has ended (in 1.5 seconds, which is what I expect the blend in duration to do). Furthermore, what actions would that particular scale-detection event have? I need to reveal the morphed Unit Actor, but how do I do that from the stick of the ship? The reason why I'm doing that from the events of the ModelActor that holds the ship is because I'm timing the drop-from-orbit duration on the end of the scale change.
I do the same for the stick of the engineer, except its size is default and it doesn't have a scale-change event.
I'm trying to make an upgrade spell where a pilot calls down his ship from orbit via a morph spell. When the morph completes, the ship lowers down like Raynor's banshee calldown and once it reaches its normal height, the pilot teleports on board. The problem is, I can't really find the events to make this happen in the data editor.
Or is a morph spell the wrong way to go? I need the ability to cost resources.
I would use an Effect - Instant/Target ability. The lowering from a height can be done using a 0 opacity Model actor as a stick that changes scale on unit birth. Onto this model you host another Model actor which has the same model as your unit. Using a Buff behaviour you can make your unit uncommandable/selectable until the desired time.
Or are you aiming to do something else? I need more details as to the exact ability you want to create.
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
Oh, interesting direction. It never really occurred to me to use an invisible model to mimic height change. I'm not sure about the Effect - Instant/Target ability, though. The idea is to have the unit (called an Engineer) cast a spell for X seconds. When the spell is over, a ship lowers down from the sky and once it reaches normal flying height, the Engineer becomes the ship. That's kinda why I wanted to use a morph spell, which would also preserve the Engineer's control group.
Ok then a Morph is what you need. Again having some disabling buff to prevent giving orders until the animations are complete is still an option.
I would make the actor immediately change when morph starts and make The Unit actor 0 opacity. You then use two 0 opacity marines as sticks to adjust the heights. The one holds you spaceship maybe coming in at an angle while the other holds a model of your engineer. The ship is lowered maybe with an atmospheric burn model that is on a timer. Once the ship is in place the stick holding the model of your engineer shrinks while a cone is projected downwards (unless you would prefer a teleport like effect). The model of the engineer is destroyed/blended out with opacity change and then destroyed and your ship model is destroyed while your unit actor is revealed.
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
Idk if I should make it on morph start since this ability is going to be like an upgrade, and it'll cost resources and will take time to finish. Anyway, the idea sounds good.
So I have 4 model actors. 2 of them are the actual visual representation of the engineer and the ship. The other 2 are 'model holders', the sticks. So on the sticks I do:
Morph.*.Finish
-Morph from engineer
-Morph to ship
Create
For the stick of the ship I set it's default scale with a Z axis of 8. For its events I do: ActorCreation
Create ShipModel
ActorCreation
Set Opacity 0.
ActorCreation
SetScale x=0. y=0. z=3. with 1.5 blend in duration
What I don't know what to do next is detect when the scale change has ended (in 1.5 seconds, which is what I expect the blend in duration to do). Furthermore, what actions would that particular scale-detection event have? I need to reveal the morphed Unit Actor, but how do I do that from the stick of the ship? The reason why I'm doing that from the events of the ModelActor that holds the ship is because I'm timing the drop-from-orbit duration on the end of the scale change.
I do the same for the stick of the engineer, except its size is default and it doesn't have a scale-change event.
On morph start is probably best.
Just use a timer of 1.5 seconds. Have Actor Creation > Timer Set. I personally would just have timers on each of the models.
What do you mean about the stick of the engineer?
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
Oh... I was unaware there was a timer action :f
There's nothing wrong with the engineer's stick, I'm not sure why I wrote that lol. Will try and make that happen tomorrow.