That's not very helpful. Needing to manually calculate the damage amount in a trigger is not really feasible when you have dozens and dozens of behaviors which can modify damage in various ways.
I solved this by using two behaviors. One of them was the actual poison and had a duration of zero. The other was the poison applicator and was hidden, had a timer, and had the initial and refresh effects set to add an additional stack of the actual poison effect, and the final effect set to remove all stacks of the poison.
edit: Important to make sure to set the maximum stack count for the applicator effect to 1.
I know it's a sound, but when you look at the list of components on the marine, under Actors, there are two...Marine, and Marine Death. It is a sound actor but i believe it triggers an animation event. My hero doesn't have this actor for some reason, and I cant figure out how to give it to him.
No, it doesn't trigger any animation, it's just a sound.
The death animations are controlled via the "Death Effects" field under the main actor.
The reason that there's an extra actor for the death sound is that some units actually have two death sounds, an explosion as well as a scream, so it needs the second actor to play the scream.
I have a hero that i copied from a marine but for some reason it didnt copy the marines death actor. Is there a way to add this to him? I want to be able to send the actor a message via triggers, but the actor isnt there, so nothing happens. Thanks for reading. (=
What do you mean, death actor?
The only "death actor" for a marine is just a sound that plays when they die.
There's a much simpler way to do it. In the Attack actor, under Launch Site Operations add the line "SOpHigherBy5". That will orientate the launch site 5 units above the model's origin.
For more flexibility, you can dupe the SOpHigherBy5 actor (yes site ops are actors themselves) and change the Offset field to whatever you want. You can also combine site operations, for example "SOpAttachCenter SOpHigherBy5" will position the launch site at 5 units above the models center.
I'd like to make a building that can be built over normal buildings and will block the movement of flying units, like normal buildings do for ground units. Is there A way?
The basic problem you're going to face is that collision for flying units is hardcoded to be soft (as opposed to hard collision for ground units.) I am not sure if anyone has or will be able to figure out a way to make flying units use hard collision.
However workarounds are possible. A very simple one is a behavior that periodically searches the area around the building for flying units and applies a positive force to them. That'll essentially push them away from the building, although it still won't give them hard collision and I don't believe they will pathfind around the obstacle which is kind of a deal killer.
Okay, implementing scrolling combat text is simple enough. Create a Unit is Damaged trigger and then make a text tag over the unit with the Triggering Damage Amount.
Until you start playing with Damage Response behaviors that modify the damage amount, and then you realize that the trigger is fired before any damage responses occur, so things like critical strikes don't register correctly.
I've considered using a Unit HP Changes trigger, and my workaround is to use a unit custom value to store the old HP of each unit, and whenever it changes if the difference is greater than a threshold (typically 1.0) I create the text tag. There are some problems with this approach though, specifically that I really want to be able to know the player and unit that caused the change.
So has anyone implemented a robust combat text tag system that works properly with damage response behaviors?
0
Unhelpful *and* condescending. A nice combination.
0
@corwin323: Go
Just remove the other buildings from the SCV's command card.
0
@zifoon: Go
That's not very helpful. Needing to manually calculate the damage amount in a trigger is not really feasible when you have dozens and dozens of behaviors which can modify damage in various ways.
0
Neat. I actually expected that it was WC3 running in the SC2 engine, now that the model exporter is working. But this is good too :)
0
Why don't you post your actor events (or a screenshot of them) so people actually have the context to answer your question?
If we don't know what we've done we can't really tell you how to fix it.
0
@redpand: Go
I solved this by using two behaviors. One of them was the actual poison and had a duration of zero. The other was the poison applicator and was hidden, had a timer, and had the initial and refresh effects set to add an additional stack of the actual poison effect, and the final effect set to remove all stacks of the poison.
edit: Important to make sure to set the maximum stack count for the applicator effect to 1.
0
Instead of using actor events to set the height, use a Site Operation actor. Look up "SOpHigherBy5" for an example.
0
I believe it's under the behavior tab, down under state flags. Share Vision I think.
0
No, it doesn't trigger any animation, it's just a sound.
The death animations are controlled via the "Death Effects" field under the main actor.
The reason that there's an extra actor for the death sound is that some units actually have two death sounds, an explosion as well as a scream, so it needs the second actor to play the scream.
0
What do you mean, death actor?
The only "death actor" for a marine is just a sound that plays when they die.
0
There's a much simpler way to do it. In the Attack actor, under Launch Site Operations add the line "SOpHigherBy5". That will orientate the launch site 5 units above the model's origin.
For more flexibility, you can dupe the SOpHigherBy5 actor (yes site ops are actors themselves) and change the Offset field to whatever you want. You can also combine site operations, for example "SOpAttachCenter SOpHigherBy5" will position the launch site at 5 units above the models center.
Hope that helps.
0
The basic problem you're going to face is that collision for flying units is hardcoded to be soft (as opposed to hard collision for ground units.) I am not sure if anyone has or will be able to figure out a way to make flying units use hard collision.
However workarounds are possible. A very simple one is a behavior that periodically searches the area around the building for flying units and applies a positive force to them. That'll essentially push them away from the building, although it still won't give them hard collision and I don't believe they will pathfind around the obstacle which is kind of a deal killer.
0
Okay, implementing scrolling combat text is simple enough. Create a Unit is Damaged trigger and then make a text tag over the unit with the Triggering Damage Amount.
Until you start playing with Damage Response behaviors that modify the damage amount, and then you realize that the trigger is fired before any damage responses occur, so things like critical strikes don't register correctly.
I've considered using a Unit HP Changes trigger, and my workaround is to use a unit custom value to store the old HP of each unit, and whenever it changes if the difference is greater than a threshold (typically 1.0) I create the text tag. There are some problems with this approach though, specifically that I really want to be able to know the player and unit that caused the change.
So has anyone implemented a robust combat text tag system that works properly with damage response behaviors?
0
The cleanest way to implement this is going to be via a hangar ability.
0
Try having it morph into a different unit for 60 seconds. Morphs aren't that bad of a workaround as they allow the unit to retain all of its stats/
This is how burrowing is implemented, since burrowed units gain a Buried attribute.