Get the Desktop App for Battle.net Now
- All your games in 1 place
- Log in once
- Automatic game updates
I'm actualy remaking a game named "Moonbase commander" and basicly it's a turn by turn strategic game. I'm still trying to make the basis work however...
So, I've been trying to figure out how to make this launch effect.
My first try was by using triggers only and resulted in something almost working but pretty weird and slightly visually buggy. (I had so much fun trying to remember the trigonometry...things like CosB=blablabla... and Sin^-1= ... so much fun...)
My second try is actually remaking it into the Data editor which is so much more simple to do the Parabol movement with the Missil Mover. I've figured out how it works a little. However, I've only got the Missil going into the air and landing as a building. I don't have the "link" between the buildings as you can see in the video.
I've asked some help in the sc2mapster IRC, and someone linked me to the Firewave tutorial that OneTwoSC made. ( http://www.youtube.com/watch?v=PrrX-_1Has4 ) Actually, I'm trying to do something similar but not quite the same and I'm having difficulties to transform it to what I want.
I'm looking for spawning "units" or whatever that would looks like the link during the launch animation. I'm actually using the Xel'Naga conduit model. So, the same way he spawns fire with distance between them, I'd like to spawn conduit. In the best of worlds, I'd like them to fall from the Missil, like in the video. In his tutorial he is showing how to convert the Raynor's snipe ability to some kind of fire wave that spawn fire every X distance.
Well, right now I'm kind of lost. How can I make the unit spawn at the heigh of the missil and fall on the ground with a specefic space between them?
Right now I have the Missil doing a parabol and landing as a building with a Effect create unit. I also have different Missil mover depending on how far is the target to make the parabol change. Otherwise it would be like the infestor casting infested terran always at the same heigh no matter how far is the target. I'm trying to figure out how to spawn the "link" while the missil is flying. Anyone have an detailled idea how I could make something similar as the first video?
Edited by Fenix on 11/17/2012 10:02 PM PST
I'd guess that your best bet is to put a buff with a periodic effect on the missile that gets launched. The problems with this are:
- If the missile speed varies with distance, you'll get varied spacing too.
- In order to make the object fall from the projectile, you'd probably want to use a launch missile as your periodic effect, but it may be tough to make this target the ground under the projectile. Maybe create the link component unit with an actor creation event that hides it, launch a missile at IT, then use actor events to make it appear when this missile hits it.
-It may be hard to not have a link component land under the target point.
If the launch always goes the same distance, like it appears it might in the video, then the first and the last of these should be non-issues with a little period and duration calibration. Good luck.
Ok, so. I kept working on it for the whole day and got close to what I want. Thanks TheFed for your idea for the Buff creating the effect from the missile, this was really helpfull. And about the un-constant space between them, for now I'll just live with it. And for the link overlaying the building, this could probably be done by adding an effect that kill/remove the link in a 1 radius or such... still haven't figured out how to make it works yet.
Now, what I still need to find is in the Missile mover. I can't find out how to make the missile only moves down. It either moves in every directions or instantly teleport on the ground. I've tryed all the guidance without much result than epic hard fun Hahahahah. But still, not what I want.
I really only need to find out the mover.
Once this is done, I need a little technical help. I would like that my linked buildings have some kind of Buff with things like Parent / child hierarchy. (If you know what I mean...) That, Building 1 launch building 2. They are linked. B2 is the child of B1. B2 launch building 3. B3 is the child of B2, and B2 is parent of B3. If B2 dies, the link between B2 and B3 is destroyed as well as B3. But B1 stay alive.
Only B1 stays.
Anyone got an idea how this could be set up? Think that the number of parent/child could be very big and that I don't want to make 100 buffs.
Edited by Fenix on 11/18/2012 8:39 PM PST
I think you should be able to make the missile fall nicely using a missile mover with a ballistic driver. Honestly though, almost the only thing I know about movers is that there's an official guide on them, and sc2 editor functionality doesn't always work as it should.
The other problem is interesting, and is probably worth going into triggers for. While any effect run from a buff targeting "caster" will target the unit that created the buff and this can be used to "link" units in a sense, it can be tough with just the data editor to get units to cast buffs on the right units for such purposes.
For instance, you could have a stackable buff called 'parent' whose caster is the child building. Final effect is a damage effect with the "kill" flag that targets Caster. When the parent dies all its child buffs get wiped and run their final effects, to kill each child. But then you have to get the child to cast the buff on the parent. This is easier to achieve with triggers because you can specify an arbitrary caster when you apply a behavior via trigger.
On the other hand, this is incomplete because of the component units of the links between buildings. It's tempting to apply a parent-buff chain to these and produce a chain reaction of deaths that could be asthetically appealing, but even in triggers a reference to the adjacent link-component doesn't come completely naturally, and you'd have to take it a little further if you wanted the death-chain to always go the right direction (assuming that when a child dies the link to its parent dies, just not the parent, that is). So it might be wiser to simply link the components in this sense to the buildings, but then you end up stacking a lot of the buff on individual units, and I'm not sure what the maximum allowed by the game engine is.
Then it might just turn out better to keep track of the whole network in triggers instead, but on the other hand data structures are one place where galaxy does not shine.
So there you have it. A real party.
Thank for this, you got some good idea. However I forgot to mention something, the "link" cannot cross eatch others and do an "X" for example. So when I launch the projectile from Point A to Point B, if it crosses another "Link" it destroys the one just created. How can I make sure it doesn't cross another "link"?
Edited by Fenix on 11/20/2012 10:35 PM PST
Ok, this is also interesting. It almost makes sense to do a series of small searches in a straight line from the launch location to the target location, checking for link-components, and make the launch fail if one is found. It would be nice to be able to just do this with each component that gets placed, but with the variable spacing there may well not be a search radius that will catch all cases without responding to the existing components of the link-in-creation, unless you can get it to use a 180 degree arc facing the direction of launch...
A quick preliminary scan could be done with a persistent, comparable to penetrator round or helion attacks, but then you can't limit the length of the scan line to the length of the launch, or at least not in any way I presently know of.
A trigger could detect buildings in a minimal but sufficient radius, and check for intersections between the line of the new link and lines between all pairings of the identified buildings by raw computation. This is probably the safest but also least natural approach I've listed here, and I don't have any better-seeming ideas at the moment.
Threats of violence. We take these seriously and will alert the proper authorities.
Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.
Harassing or discriminatory language. This will not be tolerated.