Fire wave tutorial. Completely from scratch.
In this Tutorial / Guide I will be walking through all the steps needed to create a fire wave ability that sends out a wave of fire in a cone in front of the caster setting units on fire.
I won't be going to deeply in to what the different things does and why so if you are new to the data editor I recommend going through the recommended reading first.
Recomended Reading: [Data] Introduction to Ability Creation by LaVacaMorada. [Data] Working with Actors (Beginner Difficulty) by ProzaicMuze.
Open the data editor.
Set it up like this.
Go to the buttons tab.
Create a Button.
Name it Fire Wave.
Set the Icon to whatever you think fits.
Tip: type btn in the search field to get all the button assets.
I have opted for btn-tips-walloffire.dds.
Set Tooltip to what fits the ability.
In this case I wrote.
“Wave of Fire Dealing up to 10 initial damage.
Sets units on fire dealing 2 damage each second for 5 seconds.”
You can link to the actual damage of the ability but I’m not going to show how to do that.
(I don't know how :P ).
This is the Button that will show in the command card as the ability.
Go to the effects tab.
Create an effect of the type Damage.
Name it Fire Wave (Damage).
Set combat amount to something you would like. I sat it to 2.
Set Effect – Death to Fire.
(This sets the death animation that plays if a unit gets killed by this damage).
That's it for the damage.
This is the damage effect that we will apply to the units that gets hit by the ability.
It hits units within the area of effect 5 times and continues to hit them every second for 5 seconds after.
Go to the behaviors tab
Create a Behavior of the type Buff.
Name it On Fire.
Set Behavior – Alignment to Negative.
Set Effect – Effect – Periodic to the “Fire Wave (Damage)”.
Set Stats Duration to 5.
Set Stats – Period to 1.
Set Stats – Period Count to 5.
Set UI – Icon to whatever Icon you like. (This icon shows up in the info panel as a buff)
I sat the Icon to btn-techupgrade-terran-bearclawnozzles.dds
Set UI – Tooltip to something like.
This unit is one Fire.
2 Damage each second.
This is the negative buff that gets applied to units hit bu the ability essentially it sets them on fire.
Go back to the effects tab
Create an effect of the type Apply Behavior.
Name it Fire Wave (Apply Behavior).
Set Behavior – Behavior to the Behavior “On Fire” we just created.
This is the Effect that applies the On Fire buff to units that get hit by the ability.
Create an effect of the type set.
Name it Fire Wave (Set).
Duple click Effect – Effects and add the effects “Fire Wave (Damage)” and ”Fire Wave (Apply Behavior)”
An effect of the type set is essentially just an effect linker that is used when something needs to apply more then one effect. You put all the needed effects in this and then run this effect instead of the other effects.
Create an effect of the type Search Area.
Name it Fire Wave (Search).
Duple click Search – Area +.
Add a new search area (Green cross at left side of window)
Set effect to “Fire Wave (Set)” and radius to 0.75.
Click OK.
Duple click Search – Exclude +.
Add new exclude and set the value to Caster.
Click OK.
Duple click Search – Search Filters.
Uncheck Ally and remove any Type you don't want to damage by Duple clicking till it says excluded.
Click OK.
This is the area of effect (AoE) effect it searches for units within its radius and applies the set effect to anything it finds except what we exclude. Normally you would use the search area directly in the damage effect but because we want to add a negative buff and damage the unit we use a search effect instead. Search effects are vary handy and can be used for a variety of things like healing fountains or proximity mines.
Create an effect of the type Create Persistent.
Name it Fire Wave (Persistent).
Set Effect – Period Count to 5.
Set Effect – Period Durations to 0.02.
Set Effect – Period Effects to “Fire Wave (Search)”.
Persistent effects are effect loops that run for certain times with either intervals or durations executing other effects each time it runs. In this case we use it to run our Search 5 times with an interval of 0.02 seconds.
Now we create the effect that spreads out in a cone shaped wave in front of the caster.
Create an effect of the type Create Persistent.
Name it Fire Wave (Persistent initial).
Set Period – Count to 28. (This is the number of offsets in front of the caster).
Now we need to set the Period durations.
We have 28 Periods so go ahead and duple click Effect – Period Durations and add 28 Durations.
We will be setting up the periods like this.
Caster. [ 1] [ 2][ 3] [ 4][ 5][ 6] [ 7][ 8][ 9][10] [11][12][13][14][15] [16][17][18][19][20][21] [22][23][24][25][26][27][28]
The first one needs to fire immediately so well leave it at 0.
Number 2 needs to wait a bit so it looks like a wave.
We sat the Fire Wave (persistent) effect to 5 periods at each 0.02 sec so it takes 0.1 sec to burn out.
So lets make the wait time 0.1 for number 2.
Number 3 is part of the same wave step as number 2 so this we set to 0.
We repeat this step for 4, 7, 11, 16 and 22 leaving the rest at 0.
so now each step of the wave spawns at 0.1 sec intervals.
But they all still spawn at the same place so Duple click Effect – Periodic Offsets and add 28 offsets.
Ok here is a little explanation of offsets.
+X is right of the Caster, -X is left of the Caster.
+Y is Behind the Caster, -Y is in front of the Caster
Dont mind Z we wont use it :)
(Borrowed from ProzaicMuze's Uberlisk tutorial).
Lets map out the offsets. <span class="console">[x|y]</span>
Set Effect – Periodic Effects to Fire Wave (Persistent).
Set Target – Location + to Caster Point.
Set Target – Location Offset Start + to Caster Point.
This is the magical effect in this ability.
Basically what it does is run 28 times changing location each time it runs starting right in front of the caster and working its way out in a cone shaped wave.
Each line with an interval of 0.1 seconds.
This might be a bit confusing for some namely because I had a hard time explaining it properly so if anyone have questions to this part I will do my best to explain it.
Go to the abilities tab
Create and ability of the type Effect – Target.
Name it Fire Wave.
Duple click Ability – Commands +
Select the Execute command.
Scroll down to Default Button and select “Fire Wave”.
Click OK.
Set Effect – Effect to “Fire Wave (Persistent Initial)”
Set Stats – Range to 6.
This is the ability that fires all the effects and behaviors we just made all abilities starts here.
Well since I worked my way backwards it ends here.
Now we have a fully functional ability but it has no animations or sounds.
So lets get started with the models sounds and actors.
Go to the models tab.
Create a model of the type Generic with the parent PersistentSpellFX.
Name it Fire Wave (Ground).
Set the model to “Assets\Effects\Terran\TerranBuildingFireMedium\TerranBuildingFireMedium.m3”
This is the animation that will play at each 28 spots in front of the caster
Create a model of the type Generic with the parent BuffFX.
Name it Fire Wave (On Fire Buff).
Set the model to “Assets\Effects\Terran\TerranBuildingFireSmall\TerranBuildingFireSmall.m3”
This is the animation that will play on a unit that is on fire.
Go to the actors tab
Create an actor of the type Model with the parent ModelAddition.
Set Art – Model to Fire Wave (On Fire Buff).
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Actor Creation.
Click on the action and set the Msg Type to Animation Play.
Set the Name to anime001 by clicking the button Customize while you have the name selected.
Write the name in the add Name box and press the green X.
Now the name should be added.
Set flags to Play forever.
Add another event.
Set the Msg Type to Behavior.
Set the Source Name to On Fire.
Set the Sub name to On.
Set the action Msg Type to create.
Now copy paste this event and set the event sub name to off and the actor msg type to destroy.
Click OK.
Duple click Hosting – Host + and set the Subject to _Unit.
Click OK
This actor actually plays the on fire animation.
Create an actor of the type Model with the parent BuffOneShot.
Set Art – Model to Fire Wave (Ground).
Set Art – Scale to 2.5
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Actor Creation.
Click on the action and set the Msg Type to Animation Play.
Set the Name to anime002.
Set the Animation Properties to Stand.
Set the Time Variant to 0.1.
Set the time Type to Duration.
Add another event.
Set the Msg Type to Effect.
Set the Source Name to FireWavePersistent.
Set the Sub name to Start.
Set the action Msg Type to create.
Add another event.
Set the Msg type to Animation Done.
Set the action Msg Type to Destroy
Click OK.
And this one plays the ground fire.
Go to the sounds tab.
Create a sound with the parent Spell.
Name it Fire Wave (Ground).
Duple click Sounds Assets +.
Right click the sound window (File window) and press add sound.
Search for Fire and add all the Terran Shared Fire sounds. (This will make the spell sound a bit different every time you use it)
Press OK.
This is the sound that will play at each 28 spots.
Create a sound with the parent Spell.
Name it On Fire.
Right click the sound window (File window) and press add sound.
Search for Fire and add all the Terran Shared Fire sounds (Small).
Press OK.
This is the sound that will play on units that is on fire.
Go back to the actors tab.
Create an actor of the type Sound with the parent SoundOneShot.
Name it Fire Wave (Ground).
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Effect.
Set the Source Name to Fire Wave (Persistent).
Click on the action and set the Msg Type to Create.
Add another event.
Set the Msg Type to Actor Creation.
Click on the action and set the Msg Type to Timer set.
Set Duration to 0.1.
Add another event.
Set the Msg Type to Timer Expired.
Click on the action and set the Msg Type to Destroy.
Click OK.
Set Sound – Sound to Fire Wave (Ground).
This actor plays the sound for the ground fire.
Create an actor of the type Sound with the parent SoundContinuous.
Name it On Fire.
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Behavior.
Set the Source Name to On Fire.
Set the Sub Name to On.
Click on the action and set the Msg Type to Create.
Add another event.
Set the Msg Type to Actor Orphan.
Click on the action and set the Msg Type to Destroy.
Click OK.
Set Sound – Sound to On Fire.
And lastly this actor plays the sound for the units that are on fire.
And we are done with the ability.
Now lets add the ability to a unit.
I chose the Zealot for this.
Go to the units tab and find the Zealot.
Duple click Ability – Abilities +.
Add A new ability and set it to Fire Wave.
Click OK.
Duple click Ability – Command Card +.
Click an unused button on the command card.
Add a Button (The green X on the Right side).
Set the button to Fire Wave.
Click OK.
Set Command Type to Ability Command.
Set Ability to Fire Wave.
Set Ability Command to Fire wave.
Click OK.
Now the zealot should have our ability so try and place one zealot for player 1 on the map and some Zerglings for Hostile player and then test the map. Watch those Zerglings burn :P.
from now on I’m gonna periodically make new guides on abilities like this one also they will be themed from now on.
In the next guide I will be covering Synergy (How multiple abilities might effect each other).
sry guys. (if anyone was even interestet in this weakly ability tutorial stuff)
But i have to suspend my tutorial's since i have started on a project with a friend that requires some work.
I will see if i can make time to create some but it wont be weekly.
In this Tutorial / Guide I will be walking through all the steps needed to create a fire wave ability that sends out a wave of fire in a cone in front of the caster setting units on fire.
I won't be going to deeply in to what the different things does and why so if you are new to the data editor I recommend going through the recommended reading first.
Recomended Reading:
[Data] Introduction to Ability Creation by LaVacaMorada.
[Data] Working with Actors (Beginner Difficulty) by ProzaicMuze.
Open the data editor.
Set it up like this.
Go to the buttons tab.
Create a Button.
Name it Fire Wave.
Set the Icon to whatever you think fits.
Tip: type btn in the search field to get all the button assets.
I have opted for btn-tips-walloffire.dds.
Set Tooltip to what fits the ability.
In this case I wrote.
“Wave of Fire Dealing up to 10 initial damage.
Sets units on fire dealing 2 damage each second for 5 seconds.”
You can link to the actual damage of the ability but I’m not going to show how to do that.
(I don't know how :P ).
This is the Button that will show in the command card as the ability.
Go to the effects tab.
Create an effect of the type Damage.
Name it Fire Wave (Damage).
Set combat amount to something you would like. I sat it to 2.
Set Effect – Death to Fire.
(This sets the death animation that plays if a unit gets killed by this damage).
That's it for the damage.
This is the damage effect that we will apply to the units that gets hit by the ability.
It hits units within the area of effect 5 times and continues to hit them every second for 5 seconds after.
Go to the behaviors tab
Create a Behavior of the type Buff.
Name it On Fire.
Set Behavior – Alignment to Negative.
Set Effect – Effect – Periodic to the “Fire Wave (Damage)”.
Set Stats Duration to 5.
Set Stats – Period to 1.
Set Stats – Period Count to 5.
Set UI – Icon to whatever Icon you like. (This icon shows up in the info panel as a buff)
I sat the Icon to btn-techupgrade-terran-bearclawnozzles.dds
Set UI – Tooltip to something like.
This unit is one Fire.
2 Damage each second.
This is the negative buff that gets applied to units hit bu the ability essentially it sets them on fire.
Go back to the effects tab
Create an effect of the type Apply Behavior.
Name it Fire Wave (Apply Behavior).
Set Behavior – Behavior to the Behavior “On Fire” we just created.
This is the Effect that applies the On Fire buff to units that get hit by the ability.
Create an effect of the type set.
Name it Fire Wave (Set).
Duple click Effect – Effects and add the effects “Fire Wave (Damage)” and ”Fire Wave (Apply Behavior)”
An effect of the type set is essentially just an effect linker that is used when something needs to apply more then one effect. You put all the needed effects in this and then run this effect instead of the other effects.
Create an effect of the type Search Area.
Name it Fire Wave (Search).
Duple click Search – Area +.
Add a new search area (Green cross at left side of window)
Set effect to “Fire Wave (Set)” and radius to 0.75.
Click OK.
Duple click Search – Exclude +.
Add new exclude and set the value to Caster.
Click OK.
Duple click Search – Search Filters.
Uncheck Ally and remove any Type you don't want to damage by Duple clicking till it says excluded.
Click OK.
This is the area of effect (AoE) effect it searches for units within its radius and applies the set effect to anything it finds except what we exclude. Normally you would use the search area directly in the damage effect but because we want to add a negative buff and damage the unit we use a search effect instead. Search effects are vary handy and can be used for a variety of things like healing fountains or proximity mines.
Create an effect of the type Create Persistent.
Name it Fire Wave (Persistent).
Set Effect – Period Count to 5.
Set Effect – Period Durations to 0.02.
Set Effect – Period Effects to “Fire Wave (Search)”.
Persistent effects are effect loops that run for certain times with either intervals or durations executing other effects each time it runs. In this case we use it to run our Search 5 times with an interval of 0.02 seconds.
Now we create the effect that spreads out in a cone shaped wave in front of the caster.
Create an effect of the type Create Persistent.
Name it Fire Wave (Persistent initial).
Set Period – Count to 28. (This is the number of offsets in front of the caster).
Now we need to set the Period durations.
We have 28 Periods so go ahead and duple click Effect – Period Durations and add 28 Durations.
We will be setting up the periods like this.
Caster.
[ 1]
[ 2][ 3]
[ 4][ 5][ 6]
[ 7][ 8][ 9][10]
[11][12][13][14][15]
[16][17][18][19][20][21]
[22][23][24][25][26][27][28]
The first one needs to fire immediately so well leave it at 0.
Number 2 needs to wait a bit so it looks like a wave.
We sat the Fire Wave (persistent) effect to 5 periods at each 0.02 sec so it takes 0.1 sec to burn out.
So lets make the wait time 0.1 for number 2.
Number 3 is part of the same wave step as number 2 so this we set to 0.
We repeat this step for 4, 7, 11, 16 and 22 leaving the rest at 0.
so now each step of the wave spawns at 0.1 sec intervals.
But they all still spawn at the same place so Duple click Effect – Periodic Offsets and add 28 offsets.
Ok here is a little explanation of offsets.
+X is right of the Caster, -X is left of the Caster.
+Y is Behind the Caster, -Y is in front of the Caster
Dont mind Z we wont use it :)
(Borrowed from ProzaicMuze's Uberlisk tutorial).
Lets map out the offsets. <span class="console">[x|y]</span>
[ 0.0|-0.5]
[ 0.5|-1.5][-0.5|-1.5]
[ 1.0|-2.5][ 0.0|-2.5][-1.0|-2.5]
[ 1.5|-3.5][ 0.5|-3.5][-0.5|-3.5][-1.5|-3.5]
[ 2.0|-4.5][ 1.0|-4.5][ 0.0|-4.5][-1.0|-4.5][-2.0|-4.5]
[ 2.5|-5.5][ 1.5|-5.5][ 0.5|-5.5][-0.5|-5.5][-1.5|-5.5][-2.5|-5.5]
[ 3.0|-6.5][ 2.0|-6.5][ 1.0|-6.5][ 0.0|-6.5][-1.0|-6.5][-2.0|-6.5][-3.0|-6.5]</span>
Set Effect – Periodic Effects to Fire Wave (Persistent).
Set Target – Location + to Caster Point.
Set Target – Location Offset Start + to Caster Point.
This is the magical effect in this ability.
Basically what it does is run 28 times changing location each time it runs starting right in front of the caster and working its way out in a cone shaped wave.
Each line with an interval of 0.1 seconds.
This might be a bit confusing for some namely because I had a hard time explaining it properly so if anyone have questions to this part I will do my best to explain it.
Go to the abilities tab
Create and ability of the type Effect – Target.
Name it Fire Wave.
Duple click Ability – Commands +
Select the Execute command.
Scroll down to Default Button and select “Fire Wave”.
Click OK.
Set Effect – Effect to “Fire Wave (Persistent Initial)”
Set Stats – Range to 6.
This is the ability that fires all the effects and behaviors we just made all abilities starts here.
Well since I worked my way backwards it ends here.
Now we have a fully functional ability but it has no animations or sounds.
So lets get started with the models sounds and actors.
Go to the models tab.
Create a model of the type Generic with the parent PersistentSpellFX.
Name it Fire Wave (Ground).
Set the model to “Assets\Effects\Terran\TerranBuildingFireMedium\TerranBuildingFireMedium.m3”
This is the animation that will play at each 28 spots in front of the caster
Create a model of the type Generic with the parent BuffFX.
Name it Fire Wave (On Fire Buff).
Set the model to “Assets\Effects\Terran\TerranBuildingFireSmall\TerranBuildingFireSmall.m3”
This is the animation that will play on a unit that is on fire.
Go to the actors tab
Create an actor of the type Model with the parent ModelAddition.
Set Art – Model to Fire Wave (On Fire Buff).
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Actor Creation.
Click on the action and set the Msg Type to Animation Play.
Set the Name to anime001 by clicking the button Customize while you have the name selected.
Write the name in the add Name box and press the green X.
Now the name should be added.
Set flags to Play forever.
Add another event.
Set the Msg Type to Behavior.
Set the Source Name to On Fire.
Set the Sub name to On.
Set the action Msg Type to create.
Now copy paste this event and set the event sub name to off and the actor msg type to destroy.
Click OK.
Duple click Hosting – Host + and set the Subject to _Unit.
Click OK
This actor actually plays the on fire animation.
Create an actor of the type Model with the parent BuffOneShot.
Set Art – Model to Fire Wave (Ground).
Set Art – Scale to 2.5
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Actor Creation.
Click on the action and set the Msg Type to Animation Play.
Set the Name to anime002.
Set the Animation Properties to Stand.
Set the Time Variant to 0.1.
Set the time Type to Duration.
Add another event.
Set the Msg Type to Effect.
Set the Source Name to FireWavePersistent.
Set the Sub name to Start.
Set the action Msg Type to create.
Add another event.
Set the Msg type to Animation Done.
Set the action Msg Type to Destroy
Click OK.
And this one plays the ground fire.
Go to the sounds tab.
Create a sound with the parent Spell.
Name it Fire Wave (Ground).
Duple click Sounds Assets +.
Right click the sound window (File window) and press add sound.
Search for Fire and add all the Terran Shared Fire sounds. (This will make the spell sound a bit different every time you use it)
Press OK.
This is the sound that will play at each 28 spots.
Create a sound with the parent Spell.
Name it On Fire.
Right click the sound window (File window) and press add sound.
Search for Fire and add all the Terran Shared Fire sounds (Small).
Press OK.
This is the sound that will play on units that is on fire.
Go back to the actors tab.
Create an actor of the type Sound with the parent SoundOneShot.
Name it Fire Wave (Ground).
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Effect.
Set the Source Name to Fire Wave (Persistent).
Click on the action and set the Msg Type to Create.
Add another event.
Set the Msg Type to Actor Creation.
Click on the action and set the Msg Type to Timer set.
Set Duration to 0.1.
Add another event.
Set the Msg Type to Timer Expired.
Click on the action and set the Msg Type to Destroy.
Click OK.
Set Sound – Sound to Fire Wave (Ground).
This actor plays the sound for the ground fire.
Create an actor of the type Sound with the parent SoundContinuous.
Name it On Fire.
Duple click Event- Events +
Left click in the Actor Event window and add an Event.
Set the Msg Type to Behavior.
Set the Source Name to On Fire.
Set the Sub Name to On.
Click on the action and set the Msg Type to Create.
Add another event.
Set the Msg Type to Actor Orphan.
Click on the action and set the Msg Type to Destroy.
Click OK.
Set Sound – Sound to On Fire.
And lastly this actor plays the sound for the units that are on fire.
And we are done with the ability.
Now lets add the ability to a unit.
I chose the Zealot for this.
Go to the units tab and find the Zealot.
Duple click Ability – Abilities +.
Add A new ability and set it to Fire Wave.
Click OK.
Duple click Ability – Command Card +.
Click an unused button on the command card.
Add a Button (The green X on the Right side).
Set the button to Fire Wave.
Click OK.
Set Command Type to Ability Command.
Set Ability to Fire Wave.
Set Ability Command to Fire wave.
Click OK.
Now the zealot should have our ability so try and place one zealot for player 1 on the map and some Zerglings for Hostile player and then test the map. Watch those Zerglings burn :P.
from now on I’m gonna periodically make new guides on abilities like this one also they will be themed from now on.
In the next guide I will be covering Synergy (How multiple abilities might effect each other).
Reserved.
sry guys. (if anyone was even interestet in this weakly ability tutorial stuff)
But i have to suspend my tutorial's since i have started on a project with a friend that requires some work.
I will see if i can make time to create some but it wont be weekly.
Very Nice, ty