Please go to this post >> @Photoloss: Go << for current progress and a demo map (works for the most part now)
First of all, I should probably explain what I'm trying to do: I want to make a more "realistic" construction mechanic for the Raven/Nomad: First it constructs the building/drone, then carries it around (visibly). You can then command it to "drop" the building, this works the same as the current "spawn autoturret/PDD"
My current approach is as follows:
"Construction" is handled by an on/off behavior ability (like cloak), which applies/removes the "constructing" behavior. This is a countdown, completion of which adds the "carrying finished structure" behavior.
Posession of either of these behaviors disables further build commands.
Posessing the "carrying structure" behavior is mandatory to cast "drop structure"
My current actor structure is as follows: * Unit actor reacts to "constructing" behavior on/off, starting "work" animations.
"construction" actor (model addition) synchronises with the "constructing" behavior, and creates the visual for the building under construction (currently "autoturret-birth" at about 0.15 time scale), removal of the actor doesn't trigger a "death" animation.
"carrying" actor (model addition) synchronises with the "carrying" behavior, it's responsible for the visual of hauling the completed structure along with the Raven/Nomad. Currently plays the structure's "stand" animation forever, no death anim.
The "carrying" behavior is removed through use of the "drop" ability, allowing construction again. This currently works via a missile unit with the same model as the completed structure, launched from the attachment site used by the previous actors.
Now on to the problems:
SOLVED Canceling the construction causes the related actor to vanish instantly. Any attempts to play a death animation if and only if the construction hasn't been completed have failed so far. (idea: "model-play once" actor plays the death anim, but vanishes instantly if construction was successful)
-Problem: There is no Behavior-Expire actor trigger
-Problem: Model-Play Once actor created on behavior-"contruct"-off/destroy does not react properly to behavior-"carry"-on event with "destroy immediately"/"cancel animation" action
SOLVED Same goes for the "carrying" behavior (which basically is a copy of the "construction" one), relevant if the casting unit dies.
RANDOMLY STARTED WORKING? The transition between the carried visual and the "dropped structure" missile is a bit ugly, should be fixed if I can make the missile inherit the rotation of the casting unit.
BYPASSED Not visual, but canceling the construction via ability-construct-off doesn't refund minerals. This could probably be bypassed by making the cancelling effect a seperate ability, but is there really no way of refunding costs/adding negative costs upon switching this off? -Modify Player effect with validator is a reasonable solution.
There probably is an easier way of doing all this using the broodlord escort system, but I don't really understand how that works, specifically how it "converts" the escorts into missiles or guarantees a smooth transition between the escort and the missile (and it's more of a mess than the current state of my system)
1. Create a Model type actor when the behaviour is removed that does the visuals for it. Else give the behaviour an expire effect that the actor recognises.
2. You can always use a timer loop and the *Validate Unit term on any branching events
3.Try adjusting the mover of the missile unit, sounds like you are using a throw mover. Else try an Action type actor.
4. Try the Modify Player effect or do like the bunker salvage does.
Brood lord works alot like the carrier. It uses an Arm Magazine effect combined with a Queue ability to automatically spawn units (the broodling escort). These units can attack by do not do so automatically so require the hardcoded effect of the arm magazine ability to tell them to attack the target of the host unit's weapon/attack ability scope. The Launch Missile effect when not having an ammo unit specified sacrifices the caster unit to turn it into the missile but requires movers on the effect and not the unit to do so.
I personally would use a Specialize abilityfor most of that as it would chew less ability slots on the unit.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
1+2: Thanks, that worked. I already had tried this, but didn't think of the validator. For some reason it works with "model addition" actors but not "anim type - play once" actors (don't show up at all, exact same code)
3.
I'm using the mover from the Raven's standard spawn autoturret ability. It has 2 phases, 1 "homing", 1 "nothing" (which I assume remains unused) The turret is dropped facing directly "south" (down on minimap) regardless of the direction the caster is facing.
What do you mean with "action" actor? The missile effect/actor is already linked to an action-attack type actor.
I already tried "SetRotationFrom", with source=_Unit/_Selectable and target=_Missile/MissileActorName. Wrong refs? Can't use ActorCreation as the initiating event even though the actor triggers on the Launch Missile effect? Use the signalling system from colossus/medivac beams?
4. Add a "construction failed AND CasterNotDead" validator to make it work like regular construction?
Launch Missile effects automatically sacrifice the caster(/specified launcher?) unit? Cool! Still can't make out which of the broodlord weapon effects are relevant to this though. It has a split for units/buildings, and the unit one triggers several missiles, 1 of which uses a predefined projectile unit ("BroodLordBWeapon", A also exists but appears to be unused)
I tried the Specialise ability type, but had several problems with that as well:
Forces caster to remain stationary. I'd like to have the option of constructing on the move. (Suppress flags and Deactivate Ability is much more flexible)
Autocancels when given any? order. (move orders, anyway) Construction abilities queue the order or ignore it.
Unless I missed something that ability type can't apply buffs/effects when cast/channeled. And the regular Ability actor triggers don't work well with it. Do the Ability-Morph ones work?
On a related note, how do I identify the "selected specialisation" as soon as the ability is cast? Is there a validator that can extract the intended specialisation effect?
How does that save ability slots? I still have 1 "build" button for each individual unit (currently command card #2, like Hallucination), and the "drop" buttons which can be compressed into 1 slot anyway. Or did you mean actual Ability entries (i.e. stuff everything into that Info+ slot instead of making additional Ability data entries)?
The Set Rotation From event is bugged and does not work, all it does is make the actor fall off the unit.
I do not know how you set up your missile but I would advise making a new Launch Missile effect, a new ammo unit and associated Missile actor and Action actor to see if that fixes things.
With the broodlord it is the Broodlord - Broodling Escort weapon and the relevant effect is one fo the two Escort Missile/Launch effects. The MissileB is a fallback incase it has to retarget so is never used ingame just like the Release Magazine effects are redundant.
With specialize there is a Transient flag. There is also a flag that allows it to use the Queue ability just like Build. I have no problems getting it to apply buffs to the unit via the Apply Behavior effect. Not really looked into actor events and that ability. Try the Unit Compare Order Count, Unit Order or Unit Order Queue validators.
You are limited to the nuber of abilities you can have in the Ability - Abilities - Ability field of the unit and before you were using a Behavior ability for each individual building. The ability field is limited to 32 while buttons are limited to 64 and not all abilities need to have a button.
Do you mean to delete the missile actors and recreate them? It seems to be working at least in some cases (at 0 range), but I'm getting a bit confused as to how much is an optical illusion.
BroodLordMissileB dead-ends? Good to know. Why does the broodlord (or the siege tank) have a second set for buildings/large units anyway? Won't try recreating the ability with that mechanic now.
The problem with the Specialise ability is that I can't shift the "construction process" to it, as I probably need 1 behavior when starting (to deactivate abilities, apply speed debuff/suppress movement etc) and an additional effect upon completion ("carry completed structure"). I should be able to compound the initial abilities into 1 "Info+" type ability though, that should bypass the ability field restriction.
Are the button restrictions for all 4 cards combined or 64 per card? Or is the limit 16 per card, x4 cards?
That and the missile effect. What you mean by illusion?
No clue why, maybe a relic from beta as they dont do anything special.
As the Specialize ability can have a time to equivalently train the effect you could just give the unit one general buff behaviour that activates when using the ability via validators and does the slow/ability supression (or use requirements on the specialize slots if that is what you mean) and get the ability it to directly apply the completed structure buff at the end.
64 total on any number of cards (you can get more than 4 cards).
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Optical illusion, i.e. my eye/brain is too slow to figure out whether the turret model actually faced the right way or not. I should probably use a slower missile speed for testing :)
The tank one actually has an impact. If you somehow manage to stack units (pre-nerf vortex). The "large target" set doesn't even try to apply splash. Might also be for visuals, as the "directed" attack actor uses AttachHarness while the "normal" one uses AttachCenter impact SiteOp.
That still only allows 1 debuff for all build actions, so it can't do unique construction visuals, plus I don't see any advantage in doing it that way.
Anyway, I should probably do more extensive reading/testing regarding the missile and discuss the other questions elsewhere. Should I make a demo map once I'm finished?
Seeker/Hunter Killer Missile mover is quite good for long ranges.
Yeah it also has the blast at an angle on impact
The events can use a Validate Unit term to validate for each ability command using different validators from the Validators data type so visuals are not an issue. One buff can do all different construction visuals.
Yeah a demo map showing the problem with good description might be easier to solve
Finished the test map. All files created by me start with "TestNomad", those and anything I have edited have the suffix "+" for easy searching. The individual elements are explained in their respective "editor - comment" fields.
Current problems: Missile mover just won't work properly. A "guided" missile will rotate glitchily during descent (probably due to 0 range on the ability, which I wish to keep). A "throw" missile doesn't arrive properly, getting stuck right next to the impact location until some timeout occurs. My attempt at using 2 phases creates a visible "forward lurch" during transition, thankfully it doesn't face down or rotate. All 3 movers are included, currently the 2-phase one is selected.
PS: If anyone wants to use this, feel free to do so, just give credit (or at least don't claim it as your own invention)
Set that mover's missile speed and max speed to 2, then you'll see my problem. The turret faces the ground instead of descending upright. Still thanks for the reply, now I atleast know why I thought that mover worked. The 90° rotated turret still looks similar to the upright appearance if it's facing north :)
Doesn't work. I used "SOpUpDefault" and the default "release autoturret" mover with speed+max speed set to 2 for visibility. (Did it work for you?)
The mover itself has such an option, and while it turns the model upright the missile still exhibits glitchy X-Y rotation.
It seems as though all these problems stem from the fact that the "straight down" missile movement doesn't intersect with the impact location of a 0 range ability. The "guided" missile randomly changes its facing and the vertical throw one never hits.
Is there a way of increasing the valid "impact" distance of the missile (i.e. consider it to have "arrived" if within a radius X sphere around the actual target)?
The one on the mover only applies relative to the tirection the missile travels in. You can always make the missile unit invisble and have a Model type actor as an attachment that uses a SOp (Up/Forward) vector to force it to conform. It definitely works with the forward and I have used it before often.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Ok, the attachment setup works. Can someone please still tell me why it doesn't work "the simple way"? I added the "...SOpUpTest" mover (copy of create autoturret with only speed and max speed changed), and made different site ops, "...SOpRotate" (based on SOp180) and "...SOpUp" (based on the default SOpUp). Applying either to the missile actor (under Host-SiteOps+) does nothing. To test you'll have to set the model of the missile actor to something visible.
On "...SOpUp"? What should I set it to then? Setting it to (1,1,1) doesn't produce any visible effect either, and that actor has no other fields to specify directions.
It faces straight down, with the top of the model facing "north" (2D up/up on minimap). No matter how I change the values the missile always faces that way.
Did you get it to work on my demo map or are you just recounting past experiences? I think the near-perfectly vertical trajectory messes things up, and I probably have to change a flag on the copied autoturret mover to stop it from overriding all rotations.
The attached model should orientate itself according to the global map grid because of that SOp. Sure you put it in the Hosting - Host Site Operations - Operations field of the attached Model actor?
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Please go to this post >> @Photoloss: Go << for current progress and a demo map (works for the most part now)
First of all, I should probably explain what I'm trying to do: I want to make a more "realistic" construction mechanic for the Raven/Nomad: First it constructs the building/drone, then carries it around (visibly). You can then command it to "drop" the building, this works the same as the current "spawn autoturret/PDD"
My current approach is as follows:
My current actor structure is as follows: * Unit actor reacts to "constructing" behavior on/off, starting "work" animations.
Now on to the problems:
There probably is an easier way of doing all this using the broodlord escort system, but I don't really understand how that works, specifically how it "converts" the escorts into missiles or guarantees a smooth transition between the escort and the missile (and it's more of a mess than the current state of my system)
Thanks in advance!
1. Create a Model type actor when the behaviour is removed that does the visuals for it. Else give the behaviour an expire effect that the actor recognises.
2. You can always use a timer loop and the *Validate Unit term on any branching events
3.Try adjusting the mover of the missile unit, sounds like you are using a throw mover. Else try an Action type actor.
4. Try the Modify Player effect or do like the bunker salvage does.
Brood lord works alot like the carrier. It uses an Arm Magazine effect combined with a Queue ability to automatically spawn units (the broodling escort). These units can attack by do not do so automatically so require the hardcoded effect of the arm magazine ability to tell them to attack the target of the host unit's weapon/attack ability scope. The Launch Missile effect when not having an ammo unit specified sacrifices the caster unit to turn it into the missile but requires movers on the effect and not the unit to do so.
I personally would use a Specialize abilityfor most of that as it would chew less ability slots on the unit.
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
@DrSuperEvil: Go
1+2: Thanks, that worked. I already had tried this, but didn't think of the validator. For some reason it works with "model addition" actors but not "anim type - play once" actors (don't show up at all, exact same code)
3.
4. Add a "construction failed AND CasterNotDead" validator to make it work like regular construction?
Launch Missile effects automatically sacrifice the caster(/specified launcher?) unit? Cool! Still can't make out which of the broodlord weapon effects are relevant to this though. It has a split for units/buildings, and the unit one triggers several missiles, 1 of which uses a predefined projectile unit ("BroodLordBWeapon", A also exists but appears to be unused)
I tried the Specialise ability type, but had several problems with that as well:
The Set Rotation From event is bugged and does not work, all it does is make the actor fall off the unit.
I do not know how you set up your missile but I would advise making a new Launch Missile effect, a new ammo unit and associated Missile actor and Action actor to see if that fixes things.
With the broodlord it is the Broodlord - Broodling Escort weapon and the relevant effect is one fo the two Escort Missile/Launch effects. The MissileB is a fallback incase it has to retarget so is never used ingame just like the Release Magazine effects are redundant.
With specialize there is a Transient flag. There is also a flag that allows it to use the Queue ability just like Build. I have no problems getting it to apply buffs to the unit via the Apply Behavior effect. Not really looked into actor events and that ability. Try the Unit Compare Order Count, Unit Order or Unit Order Queue validators.
You are limited to the nuber of abilities you can have in the Ability - Abilities - Ability field of the unit and before you were using a Behavior ability for each individual building. The ability field is limited to 32 while buttons are limited to 64 and not all abilities need to have a button.
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
Do you mean to delete the missile actors and recreate them? It seems to be working at least in some cases (at 0 range), but I'm getting a bit confused as to how much is an optical illusion.
BroodLordMissileB dead-ends? Good to know. Why does the broodlord (or the siege tank) have a second set for buildings/large units anyway? Won't try recreating the ability with that mechanic now.
The problem with the Specialise ability is that I can't shift the "construction process" to it, as I probably need 1 behavior when starting (to deactivate abilities, apply speed debuff/suppress movement etc) and an additional effect upon completion ("carry completed structure"). I should be able to compound the initial abilities into 1 "Info+" type ability though, that should bypass the ability field restriction.
Are the button restrictions for all 4 cards combined or 64 per card? Or is the limit 16 per card, x4 cards?
That and the missile effect. What you mean by illusion?
No clue why, maybe a relic from beta as they dont do anything special.
As the Specialize ability can have a time to equivalently train the effect you could just give the unit one general buff behaviour that activates when using the ability via validators and does the slow/ability supression (or use requirements on the specialize slots if that is what you mean) and get the ability it to directly apply the completed structure buff at the end.
64 total on any number of cards (you can get more than 4 cards).
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
Optical illusion, i.e. my eye/brain is too slow to figure out whether the turret model actually faced the right way or not. I should probably use a slower missile speed for testing :)
The tank one actually has an impact. If you somehow manage to stack units (pre-nerf vortex). The "large target" set doesn't even try to apply splash. Might also be for visuals, as the "directed" attack actor uses AttachHarness while the "normal" one uses AttachCenter impact SiteOp.
That still only allows 1 debuff for all build actions, so it can't do unique construction visuals, plus I don't see any advantage in doing it that way.
Anyway, I should probably do more extensive reading/testing regarding the missile and discuss the other questions elsewhere. Should I make a demo map once I'm finished?
And of course thanks for the help ;D
Seeker/Hunter Killer Missile mover is quite good for long ranges.
Yeah it also has the blast at an angle on impact
The events can use a Validate Unit term to validate for each ability command using different validators from the Validators data type so visuals are not an issue. One buff can do all different construction visuals.
Yeah a demo map showing the problem with good description might be easier to solve
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
Finished the test map. All files created by me start with "TestNomad", those and anything I have edited have the suffix "+
" for easy searching. The individual elements are explained in their respective "editor - comment" fields.
Current problems: Missile mover just won't work properly. A "guided" missile will rotate glitchily during descent (probably due to 0 range on the ability, which I wish to keep). A "throw" missile doesn't arrive properly, getting stuck right next to the impact location until some timeout occurs. My attempt at using 2 phases creates a visible "forward lurch" during transition, thankfully it doesn't face down or rotate. All 3 movers are included, currently the 2-phase one is selected.
PS: If anyone wants to use this, feel free to do so, just give credit (or at least don't claim it as your own invention)
@Photoloss: Go
If you replace the ammo unit's mover with Release Auto Turret Weapon it looks just fine, or were you looking to create some special effect?
@zorbotron: Go
Set that mover's missile speed and max speed to 2, then you'll see my problem. The turret faces the ground instead of descending upright. Still thanks for the reply, now I atleast know why I thought that mover worked. The 90° rotated turret still looks similar to the upright appearance if it's facing north :)
You just need to apply a SOp (Up Vector), that tells it to face positive relative to the z axis, to the Missile actor.
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
@DrSuperEvil: Go
Doesn't work. I used "SOpUpDefault" and the default "release autoturret" mover with speed+max speed set to 2 for visibility. (Did it work for you?)
The mover itself has such an option, and while it turns the model upright the missile still exhibits glitchy X-Y rotation.
It seems as though all these problems stem from the fact that the "straight down" missile movement doesn't intersect with the impact location of a 0 range ability. The "guided" missile randomly changes its facing and the vertical throw one never hits.
Is there a way of increasing the valid "impact" distance of the missile (i.e. consider it to have "arrived" if within a radius X sphere around the actual target)?
The one on the mover only applies relative to the tirection the missile travels in. You can always make the missile unit invisble and have a Model type actor as an attachment that uses a SOp (Up/Forward) vector to force it to conform. It definitely works with the forward and I have used it before often.
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
Ok, the attachment setup works. Can someone please still tell me why it doesn't work "the simple way"? I added the "...SOpUpTest" mover (copy of create autoturret with only speed and max speed changed), and made different site ops, "...SOpRotate" (based on SOp180) and "...SOpUp" (based on the default SOpUp). Applying either to the missile actor (under Host-SiteOps+) does nothing. To test you'll have to set the model of the missile actor to something visible.
"...SOpUp" works with the attachment.
The Actor - Up field is set to face +ve towards the global z axis.
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
On "...SOpUp"? What should I set it to then? Setting it to (1,1,1) doesn't produce any visible effect either, and that actor has no other fields to specify directions.
having those coordinates should set it having the top at a roughly 45 degree angle facing upper lower left.
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
It faces straight down, with the top of the model facing "north" (2D up/up on minimap). No matter how I change the values the missile always faces that way.
Did you get it to work on my demo map or are you just recounting past experiences? I think the near-perfectly vertical trajectory messes things up, and I probably have to change a flag on the copied autoturret mover to stop it from overriding all rotations.
The attached model should orientate itself according to the global map grid because of that SOp. Sure you put it in the Hosting - Host Site Operations - Operations field of the attached Model actor?
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