Sorry I took over two days to respond. Yeah, I'm open to it, it's a testing/development map for me, not an actual project, so I wouldn't be giving up anything other than possible knowledge on how to make some quasi-basic things happen with data/triggers (most of which was acquired at least in part from tutorials here, a lot of them yours). Map is attached to post ( I hope - first time attaching something on this site). The unit in question is called Armageddon, and everything related to it in the Data Editor has that at the beginning of the name, so that should help you find everything. The way the unit is set up the attached-void-rays attack fires only on massive units and structures, so I have placed a bunch of massive units and just about one of each non-campaign building on the map to hopefully make testing more convenient.
Friendly warning: since my last post I have made some significant additions to the attached-void-rays attack - these changes do NOT at all effect how the attack action actor and the beam actor for each beam work in so far as impact/damage/launch attachments go (the beam actors just got some extra events dealing with animation changes and model swaps) - but just in case you do go rummaging through the attack's effects, bear in mind that the effects that use "Armageddon Target" and "Caster is Attacking" validators can freeze SC2 in its entirety if you remove those validators. As far as I know, with those validators in place there's no such game-freezing side effects under any circumstances, but it's possible some corner case slipped past my testing.
If anyone's interested, feel free to look at anything in the map (there isn't much, other than an 'overchargeable' void ray -style attack that when overcharged charges up twice as fast and has a fourth charge level that changes beam color, and a flight-capable melee unit whose only interesting feature is a set of triggers that adjusts his height to his target's height when he's attacking something when flying. The only request I have is that people don't just blatantly copy all or most of the two developed custom units in there.)
Yeah, that was actually exactly what I was asking about in my first post in this thread - how to do what you just suggested.
- Edit -
I also reset the IAQs to the defaults on the void ray beam actors in question before saving and uploading, so you can start from the defaults and work from there.
I spent a couple days (in between university classes and sleep, of course) altering and experimenting with different Impact Attachment Query combinations already, before posting that question.
Now, the void ray attack is a bit messy-er because it has that one action flag set (I don't remember the name off the top of my head, but it's in essence 'align impact to damage' or something like that) and this causes the damage attachment query field to effect the impact attachment locations in some almost-direct-but-not-quite way - I messed around with IAQs both with and without that action flag checked. "center" will cause the beams to hit the 'center' of the target for sure, but the problem is that for large targets - say, the Command Center - the beams shoot 'inside' the building (the void ray beam, as you probably know by memory, has a noticeable ball-like 'end' where it impacts the target - when the IAQ is Center, this ends up being 'inside' the target', instead of where the beam is making contact with it).
From there, just about every combination of IAQs I've tried has either done the above, hitting 'inside' the unit where the beam model goes noticeably 'through' the outside of the target when hitting large targets, or gotten stuck to the ground where the target unit's origin attachment was at the moment when it was fired upon, or, it will pick some target or another, but again, it'll pick them randomly and the two beams rarely ever converge.
I didn't exactly document what combinations I have tried so far, but it was a mix of the IAQs used by the Void Ray attack's beam normally, the IAQ "ClosestToCaster", "ClosestToTarget", and a generic one like "AMFilterTarget" or something like that that isn't one of the Void Ray's default ones. I also tried some direct methods, Like Target 0, but this doesn't really yield consistent results either.
I appreciate the suggestion, and if you can think of other IAQs that could possibly result in what I'm trying to achieve, I'm happy to try them. (I should've specified I had already tried a LOT of IAQ fiddling when typing my question originally.)
I have a question that's a bit on the complicated end of things for me, but will hopefully be a bit more doable to someone who has more experience with these things.
I have a unit that has two void rays attached to it. The unit attacks with the void rays, the same way normal void rays attack - they open up, fire the beam, charging up through three levels of beam 'power', retain the charge for a little bit as normal, the works. All this works, and the beams fire correctly from the void ray to the target.
However, I would like the impact points of the two beams to be the same, and currently, the two beams pick target impact attachments more or less randomly, and thus almost never hit the same point on the target at the same time.
On the technical side, this is how I have things implemented.
A copy of the void ray weapon.
A copy of all the Prismatic Beam Effects and Actors from the normal void ray (not the hero void ray, whose attack effects are made differently).
A second copy of all the Effects and Actors save for the "(Initial Persistent)" one. This is done so that the second void ray and its beam fires properly. At first I spent some time trying to copy just the effects I thought I needed to get the second void ray beam's actors working right, but I must have been missing something since I never got it working that way, so eventually I just copied the entire thing again, which got it working.
The way I combined the two copies is as follows - [void ray weapon copy name] has "[prismatic beam copy name] (Initial Persistent)" as the effect.
"[Prismatic Beam Copy Name] (Initial Persistent)" effect (which was already a set effect) has "[Prismatic Beam Copy Name] (Charge Persistent)" AND [Prismatic Beam 2nd Copy Name] (Charge Persistent)" as the effect.
From there, the two (Charge Persistent) effects proceed from there as normal, with their respective copies of the subsequent effects. (If you just look at the normal Void Ray Prismatic Beam weapon and its effects, this makes sense.)
Anyway, since the attack action Actors for each beam are linked to the "(Charge Persistent)" effects, each one fires of their respective (Charge Persistent) effect, using its own copy of the void ray beam actor. What I don't know is how to get one of those beams to use the impact attachment of the other beam as its own impact attachment, always. I know I could check the Force Impact Site action flag in its action actor, but I don't know how I could actually make a site actor at the impact attachment of one of the beams.
Thanks in advance.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
@ProzaicMuze: Go
Sorry I took over two days to respond. Yeah, I'm open to it, it's a testing/development map for me, not an actual project, so I wouldn't be giving up anything other than possible knowledge on how to make some quasi-basic things happen with data/triggers (most of which was acquired at least in part from tutorials here, a lot of them yours). Map is attached to post ( I hope - first time attaching something on this site). The unit in question is called Armageddon, and everything related to it in the Data Editor has that at the beginning of the name, so that should help you find everything. The way the unit is set up the attached-void-rays attack fires only on massive units and structures, so I have placed a bunch of massive units and just about one of each non-campaign building on the map to hopefully make testing more convenient.
Friendly warning: since my last post I have made some significant additions to the attached-void-rays attack - these changes do NOT at all effect how the attack action actor and the beam actor for each beam work in so far as impact/damage/launch attachments go (the beam actors just got some extra events dealing with animation changes and model swaps) - but just in case you do go rummaging through the attack's effects, bear in mind that the effects that use "Armageddon Target" and "Caster is Attacking" validators can freeze SC2 in its entirety if you remove those validators. As far as I know, with those validators in place there's no such game-freezing side effects under any circumstances, but it's possible some corner case slipped past my testing.
If anyone's interested, feel free to look at anything in the map (there isn't much, other than an 'overchargeable' void ray -style attack that when overcharged charges up twice as fast and has a fourth charge level that changes beam color, and a flight-capable melee unit whose only interesting feature is a set of triggers that adjusts his height to his target's height when he's attacking something when flying. The only request I have is that people don't just blatantly copy all or most of the two developed custom units in there.)
@Kueken531: Go
Yeah, that was actually exactly what I was asking about in my first post in this thread - how to do what you just suggested.
- Edit - I also reset the IAQs to the defaults on the void ray beam actors in question before saving and uploading, so you can start from the defaults and work from there.
@ProzaicMuze: Go
I spent a couple days (in between university classes and sleep, of course) altering and experimenting with different Impact Attachment Query combinations already, before posting that question.
Now, the void ray attack is a bit messy-er because it has that one action flag set (I don't remember the name off the top of my head, but it's in essence 'align impact to damage' or something like that) and this causes the damage attachment query field to effect the impact attachment locations in some almost-direct-but-not-quite way - I messed around with IAQs both with and without that action flag checked. "center" will cause the beams to hit the 'center' of the target for sure, but the problem is that for large targets - say, the Command Center - the beams shoot 'inside' the building (the void ray beam, as you probably know by memory, has a noticeable ball-like 'end' where it impacts the target - when the IAQ is Center, this ends up being 'inside' the target', instead of where the beam is making contact with it).
From there, just about every combination of IAQs I've tried has either done the above, hitting 'inside' the unit where the beam model goes noticeably 'through' the outside of the target when hitting large targets, or gotten stuck to the ground where the target unit's origin attachment was at the moment when it was fired upon, or, it will pick some target or another, but again, it'll pick them randomly and the two beams rarely ever converge.
I didn't exactly document what combinations I have tried so far, but it was a mix of the IAQs used by the Void Ray attack's beam normally, the IAQ "ClosestToCaster", "ClosestToTarget", and a generic one like "AMFilterTarget" or something like that that isn't one of the Void Ray's default ones. I also tried some direct methods, Like Target 0, but this doesn't really yield consistent results either.
I appreciate the suggestion, and if you can think of other IAQs that could possibly result in what I'm trying to achieve, I'm happy to try them. (I should've specified I had already tried a LOT of IAQ fiddling when typing my question originally.)
I have a question that's a bit on the complicated end of things for me, but will hopefully be a bit more doable to someone who has more experience with these things.
I have a unit that has two void rays attached to it. The unit attacks with the void rays, the same way normal void rays attack - they open up, fire the beam, charging up through three levels of beam 'power', retain the charge for a little bit as normal, the works. All this works, and the beams fire correctly from the void ray to the target.
However, I would like the impact points of the two beams to be the same, and currently, the two beams pick target impact attachments more or less randomly, and thus almost never hit the same point on the target at the same time.
On the technical side, this is how I have things implemented.
A copy of the void ray weapon. A copy of all the Prismatic Beam Effects and Actors from the normal void ray (not the hero void ray, whose attack effects are made differently). A second copy of all the Effects and Actors save for the "(Initial Persistent)" one. This is done so that the second void ray and its beam fires properly. At first I spent some time trying to copy just the effects I thought I needed to get the second void ray beam's actors working right, but I must have been missing something since I never got it working that way, so eventually I just copied the entire thing again, which got it working.
The way I combined the two copies is as follows - [void ray weapon copy name] has "[prismatic beam copy name] (Initial Persistent)" as the effect.
"[Prismatic Beam Copy Name] (Initial Persistent)" effect (which was already a set effect) has "[Prismatic Beam Copy Name] (Charge Persistent)" AND [Prismatic Beam 2nd Copy Name] (Charge Persistent)" as the effect.
From there, the two (Charge Persistent) effects proceed from there as normal, with their respective copies of the subsequent effects. (If you just look at the normal Void Ray Prismatic Beam weapon and its effects, this makes sense.)
Anyway, since the attack action Actors for each beam are linked to the "(Charge Persistent)" effects, each one fires of their respective (Charge Persistent) effect, using its own copy of the void ray beam actor. What I don't know is how to get one of those beams to use the impact attachment of the other beam as its own impact attachment, always. I know I could check the Force Impact Site action flag in its action actor, but I don't know how I could actually make a site actor at the impact attachment of one of the beams.
Thanks in advance.