I want to edit the sensor tower so that it has an aura with range X that increase damage, or attack speed, or health, or whatever. Does anyone know how to do this?
Yup. First, in the Data Editor, go to Behaviors, and create a new behavior of the type "Buff."
Let's pretend, for this example, that I want to make a buff that doubles damage. So I find the "Modification - Damage Dealt (Fraction)" field and set them all to 2. One other thing we need to do is give the buff a very short duration (how about .2 seconds). If the buff is not "reapplied" before this duration ends, it will drop.
Now, we want an effect that will add this behavior to a unit. Very easy to do! Go to Effects, make a new one of the "Apply Behavior" type and add the buff we just created to the "Behavior" field.
Now, we need an effect that will use the effect we just created to all allied targets in range. An effect like this is known as a "Search Area" type, so go ahead and create a new effect of this type. We need to set the Arc to 360, the Maximum Count to "-1" (which means no maximum). The radius to whatever we want. Go down a bit and find "Search Filters." This is important. Select the checkboxes that say "Player" and "Ally" so that the Search Area does not pick out enemy units and buff them. Then, go through the filters and disable anything that doesn't belong (for instance, Dead, though it probably doesn't matter in this case since the buff won't really have any effect on a Dead unit). You could disable Structure if you don't want the tower buffing things like Missile Turrets. Now we need to add an effect to the search. The effect is the "Apply Behavior" that we just created before.
Now, we need a behavior that will periodically invoke the Search effect we just used. Go back to behaviors, make another "Buff" and find "Period." Set this to .1 or so. It has to be less than .2, or the buff will drop from units before the tower reapplies it. The period count should be "-1" (which again means unlimited - it never stops searching). For "Effect - Periodic" set the Search effect we just created.
Finally, add this Behavior to the Sensor tower.
If we read this from bottom to top, what we have is that the Sensor Tower has a behavior which causes it to Search for friendly targets within radius of 3, every .1 seconds. All of the targets it finds are given a behavior. The given behavior lasts .2 seconds and doubles their damage. That's just what we wanted!
It's not a straight-forward process, but the beauty of it is that we have control over EVERY step of the process. Want to change the buff to do something weird like make units invisible but only when they are on creep? We can do that. Want to change the aura so that it only affects flying units? We can do that. The list goes on... The point is that the data editor is difficult to learn, but highly rewarding. Good luck! =)
Coolio! Not trying to hijack the post, but aZ2 may need this as well to help distinguish Towers...
How does he add a graphic on the screen to represent the aura? Let's say you want Psi Storm to show over the tower when the aura is active. I think you have to create an Actor with the graphic, but I don't understand how to link this back to the Tower.
I'm having the same problem. I have a preplaced tower that emits an aura that makes allies invulnerable. This should come with a guardian bubble shield. I added it by making the Behaviour.ThisAura.On event set off a Create action in the shield actor. When the map starts, the shield correctly appears... only to mysteriously disappear about 30 seconds later. It is unclear why; the behaviour duration is infinite and the behaviour does remain on the tower.
You need to create actors that respond to specific "messages." Think of these as system messages that don't get seen by the players.
Effects send a message every time they first go off. This means that if you make an actor that responds to the behavior being added to the tower, it will only go off when the behavior is first added, and then it will stop. If you instruct the actor to loop it's animation, it should continue though. I'm not entirely sure what the action needs to look like and I don't have time to figure it out this morning but I can try to help out tonight after work.
You can also instruct the actor to respond to the "Search" effect since that is going off periodically, but it will cause the actor to respond every .1 seconds which may be excessive. You can probably bypass this with clever use of terms. For instance, when the effect goes off, the actor checks a timer, and if it has expired, it starts it and creates the actor. When the timer expires, it deletes the actor (which is promptly recreated next them the periodic effect goes off because it will see that hte timer has expired and create a new one). Again, I don't have time to try it, but this should work in principle.
If you want the effect to attach to the units, have it react to the "apply behavior" effect that is giving them the buff. But again, you need to account for the fact that each unit is having the effect applied every .1 seconds, so use the timer thing from above.
Hope you can get it, I'll check back in later with more info.
Hi Master Dinadan, Thanks for detailed explanation above. But I am stuck in a situation here perhaps u can help. I want to have an aura, say "Psi Storm Booster", that will double the effectiveness of psi storm, meaning double the area, and damage, also will double the actor lightning animation size. Any tips on how to to that?
I realize this post was a while ago but, but I used these instructions to make the Xel'Naga Tower give a buff that would increase Line of Sight for all units. The Idea is that once the tower is captured by a players unit, all of its other units get that buff. Problem is, only the unit activating the tower gets the buff. How can I fix this? I am very stumped and confused...
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I want to edit the sensor tower so that it has an aura with range X that increase damage, or attack speed, or health, or whatever. Does anyone know how to do this?
Yup. First, in the Data Editor, go to Behaviors, and create a new behavior of the type "Buff."
Let's pretend, for this example, that I want to make a buff that doubles damage. So I find the "Modification - Damage Dealt (Fraction)" field and set them all to 2. One other thing we need to do is give the buff a very short duration (how about .2 seconds). If the buff is not "reapplied" before this duration ends, it will drop.
Now, we want an effect that will add this behavior to a unit. Very easy to do! Go to Effects, make a new one of the "Apply Behavior" type and add the buff we just created to the "Behavior" field.
Now, we need an effect that will use the effect we just created to all allied targets in range. An effect like this is known as a "Search Area" type, so go ahead and create a new effect of this type. We need to set the Arc to 360, the Maximum Count to "-1" (which means no maximum). The radius to whatever we want. Go down a bit and find "Search Filters." This is important. Select the checkboxes that say "Player" and "Ally" so that the Search Area does not pick out enemy units and buff them. Then, go through the filters and disable anything that doesn't belong (for instance, Dead, though it probably doesn't matter in this case since the buff won't really have any effect on a Dead unit). You could disable Structure if you don't want the tower buffing things like Missile Turrets. Now we need to add an effect to the search. The effect is the "Apply Behavior" that we just created before.
Now, we need a behavior that will periodically invoke the Search effect we just used. Go back to behaviors, make another "Buff" and find "Period." Set this to .1 or so. It has to be less than .2, or the buff will drop from units before the tower reapplies it. The period count should be "-1" (which again means unlimited - it never stops searching). For "Effect - Periodic" set the Search effect we just created.
Finally, add this Behavior to the Sensor tower.
If we read this from bottom to top, what we have is that the Sensor Tower has a behavior which causes it to Search for friendly targets within radius of 3, every .1 seconds. All of the targets it finds are given a behavior. The given behavior lasts .2 seconds and doubles their damage. That's just what we wanted!
It's not a straight-forward process, but the beauty of it is that we have control over EVERY step of the process. Want to change the buff to do something weird like make units invisible but only when they are on creep? We can do that. Want to change the aura so that it only affects flying units? We can do that. The list goes on... The point is that the data editor is difficult to learn, but highly rewarding. Good luck! =)
@MasterDinadan: Go
Nice reply Master, now go respond to one of my posts = O
I definitely agree that although it's complex the amount of control you get with this editor is fantastic.
Wow, you are amazing, thanks so much! Worked perfectly. I'll come back here to share what i'm working on when it is more complete.
Thanks again :D!
Coolio! Not trying to hijack the post, but aZ2 may need this as well to help distinguish Towers...
How does he add a graphic on the screen to represent the aura? Let's say you want Psi Storm to show over the tower when the aura is active. I think you have to create an Actor with the graphic, but I don't understand how to link this back to the Tower.
Am I on track here??
I'm having the same problem. I have a preplaced tower that emits an aura that makes allies invulnerable. This should come with a guardian bubble shield. I added it by making the Behaviour.ThisAura.On event set off a Create action in the shield actor. When the map starts, the shield correctly appears... only to mysteriously disappear about 30 seconds later. It is unclear why; the behaviour duration is infinite and the behaviour does remain on the tower.
@BrotherLaz: Go
You need to create actors that respond to specific "messages." Think of these as system messages that don't get seen by the players.
Effects send a message every time they first go off. This means that if you make an actor that responds to the behavior being added to the tower, it will only go off when the behavior is first added, and then it will stop. If you instruct the actor to loop it's animation, it should continue though. I'm not entirely sure what the action needs to look like and I don't have time to figure it out this morning but I can try to help out tonight after work.
You can also instruct the actor to respond to the "Search" effect since that is going off periodically, but it will cause the actor to respond every .1 seconds which may be excessive. You can probably bypass this with clever use of terms. For instance, when the effect goes off, the actor checks a timer, and if it has expired, it starts it and creates the actor. When the timer expires, it deletes the actor (which is promptly recreated next them the periodic effect goes off because it will see that hte timer has expired and create a new one). Again, I don't have time to try it, but this should work in principle.
If you want the effect to attach to the units, have it react to the "apply behavior" effect that is giving them the buff. But again, you need to account for the fact that each unit is having the effect applied every .1 seconds, so use the timer thing from above.
Hope you can get it, I'll check back in later with more info.
@MasterDinadan: Go
Hi Master Dinadan, Thanks for detailed explanation above. But I am stuck in a situation here perhaps u can help. I want to have an aura, say "Psi Storm Booster", that will double the effectiveness of psi storm, meaning double the area, and damage, also will double the actor lightning animation size. Any tips on how to to that?
Awesome, works perfectly and well written.
Thanks Dinadan.
That's a really good explanation Dinadan, i was able to make a timed buff to detect (radar) nearby units for 5 seconds. Thank you
@MasterDinadan: Go
I realize this post was a while ago but, but I used these instructions to make the Xel'Naga Tower give a buff that would increase Line of Sight for all units. The Idea is that once the tower is captured by a players unit, all of its other units get that buff. Problem is, only the unit activating the tower gets the buff. How can I fix this? I am very stumped and confused...