IMPORTANT NOTE - READ THIS IF YOU HAVE ISSUES WITH ABILITIES
If, after following this tutorial, you decide to create your own learnable abilities to your hero (as you should) and you notice that the command card buttons are shown before the ability has been learned then you must change the Name of the Ability by right-clicking and using Modify Object... and remember to click Suggest. If you get this issue, first try assigning a random name to your ability such as "Blah" or "auofduj". This is a very annoying bug (feature?) that has given me problems.
For example, I decided to add a new ability called Hero Cloak and I made it just like the Ghost - Personal Cloaking ability except without requirements. When I set everything up for the hero to learn this ability, I noticed that the cloaking button was already available before learning it! I toyed for hours with it, only to finally attempting to change the name to Hero Silly and lo-and-behold, the ability was not shown by default!
I've narrowed down some ways to avoid this:
1. Avoid using any word in the name of the effect or behavior the ability refers to. For example, the word "Cloak" was in the behavior's name for my "Hero Cloak" ability.
2. Avoid using words related to the description of the effect or behavior the ability refers to. For example, I attempted using the name Hero Hide and it still wouldn't work.
3. Use "Tele" instead of "Blink" for your new ability names.
What We're Doing
This tutorial will cover creating a WC3-esque ability training menu. This means, for every level you gain a point to spend on training a new ability for the hero. The work is fairly intensive but not so much that it should drive you away from creating your hero units. We're going to work with some of pre-existing abilities and modify them a bit to fit our needs.
We're going to create a unit called Hero, who can level up and can learn new abilities with earned skill points. To keep things simple, we'll create a single ability called Hero Stimpack which will operate like the Marine Stimpack ability. But, it will require a skill point to purchase.
So, fire up the SC2 Editor and get ready for some hero action.
Changing the Past
We'll begin by first preparing the Hero Stimpack ability so we don't have to fuss with it later on. In the Data Editor set the Data Type to Abilities. Find Marine - Stimpack and right click and select Duplicate Object. Check the box for the Actors folder. Click OK.
We need to set the name to something easy to understand. Right click the newly created Marine - Stimpack Copy and select Modify Object.... In the popup menu, set the Name to Hero Stimpack. Click Suggest and click OK. With this object selected, change the (None) - Editor Prefix field to be empty instead of "Marine -".
Edit the (None) - Cost + field. Select the item in the list at the top and scroll to the bottom of the menu and select the Life item from the Vital list and click the red x to delete it. Click OK. Now our stimpack will not harm our hero when we use it.
At this point, be sure you have the Show Object Explorer button enabled. It is found just to the left of the Search bar for the Data Editor. This will show the associated objects to your currently selected object.
The astute tutorialee will notice that there is a Requirements heading on the bottom left panel. We'll need to remove that because we don't want to have to research Stimpack before using it. The astute tutorialee may have also notice that right clicking on the requirement has an option Explain Link. This tells us where the relationship comes from. It says it's under the ability Hero Stimpack's (None) - Commands - Requirements field. Let's edit that field. Edit the (None) - Commands +
In the list at the top of the new menu. Select the Execute command. You'll notice under the Requirements heading there is a requirement called "Use Stimpack". Ah-ha! We've found our link. Let's remove it by clicking the little red X to the bottom right. With that taken care of, click OK. Now that pesky requirement heading is gone for good! Stimpack is free to use.
Makings of a Hero
With our special hero stimpack ability, it's time to setup some important things to be able to actually make a levelable hero. First, we'll make a behavior that sets up a hero's experience required to level and the benefits of each level. This behavior type is known as a Veterancy
Set the Data Type to Behaviors and add a new Object. Set the object's Name to Hero Leveling. Click Suggest and change the Behavior Type to Veterancy. Click OK.
The only field we're interested in is the Verterancy Levels + field. This is a big one where we will setup every about each level. And I mean everything...
If you've followed some of the other hero-based tutorials this should all seem familiar...
In the Veterancy Levels + menu click the little green X3 times to create 3 distinct levels. (For this tutorial our hero will only be able to reach level 3). Select Level 0 and set the Minimum Experience to 30. Select Level 1 and set the Minimum Experience to 60. Select Level 2 and set the Minimum Experience to 90. Obviously, this means when the unit gets 30 experience, he'll level to level 0 (first level), and once he gets 60 points, he'll reach level 1. Notice there are a TON of other settings you can change per level. Explore and play around. For our purposes we'll leave everything else alone. Click OK.
Now, we can give a unit this behavior and it will be able to level up with these parameters. Pretty neat stuff.
Learning Skills
We now need to give our eventual hero unit the ability to teach himself new abilities. To make our eventual autodidactical hero, we will create a new Ability of the Learn type.
Set the Data Type to Abilities and add a new Object. In the panel, set the Name to Hero Learn and click Suggest. Change the Ability Type to Learn. Click OK.
With this new ability selected, edit the (None) - Points Per Level and set it to 1. This field sets the number of points that are earned per level gained. The (None) - Points field is for setting the initial point value for the hero. We'll leave this at 0 so we have to earn a level before getting a skill point.
Now we need to set the abilities that this "Learn" ability can learn! Edit the (None) - Info + field. A rather large and cumbersome menu should appear. This is where we can set certain abilities that can be learned by the hero. Select the Learn1 item. Scroll down and enable the Hide Count option.
The Hide Count makes the little number invisible for the button (try toggling it and you'll see what I mean in the game). Scroll down further until you find the Default Button field. Select Research Stimpack from the combo box. This is the button that we'll associate with in the hero's command panel to decide where to place the learnable abilities (you'll see in a bit). We are just using a default button as the visual for the ability. If you would like to make your own check out the "Buttons" data type in the editor.
Scroll down to the bottom. Change the Alert field to something you like. I chose UpgradeComplete_Terr. This sound will be played when the ability is finished training. You can set the Time field to something other than 0 if you would like training to not be instant.
Finally, set the Ability field to Hero Stimpack. This field specifies the ability to be taught to the unit. We're done with this. Click OK. Notice, if you would like to add more abilities to learn, you would just select a different "Learn Index" at the top. We'll stick with 1 for now.
Building Our Hero
Ok, we've setup all of the things we need to finally create our awesome hero unit. Set the Data Type to Units and find the Marine unit. Right click the unit and select Duplicate Object. In the window that pops up Check the Actors heading to select all subelements. Click OK.
Now, right click the Marine Copy and select Modify Object.... Change the Name to Hero Marine, click Suggest. Change the Object Type to Hero. Click OK.
We now need to give our hero some abilities. Edit the (None) - Abilities + field. First, let's remove the old, normal Stimpack ability. Select the Marine - Stimpack ability from the list and click the little red X to delete it. Click the little green X to add a new ability slot. Set the Ability to Hero Learn. Click the little green X again and set the Ability to Hero Stimpack. Click OK.
Now, this may seem odd to immediately grant the unit the Hero Stimpack ability. But, lucky for us, the engine will realize that this ability is trainable in the Hero Learn ability so it will not grant access to the ability until it is learned through the Hero Learn ability. This is very nice for us as we don't have to set up requirements and all of that business.
Edit the (None) - Attributes field and check the Heroic box. Click OK. This simply identifies the unit as a hero.
We now need to make the unit have the hero abilities to level up. Edit the (None) - Behaviors + field and add using the little green X the Hero Leveling behavior. This allows our hero to level up according the parameters we set in the Hero Leveling behavior. So, it can reach level 3 with 30 experience point increments like we defined.
It's time now to change the command panel to show a button for our "Hero Learn" ability. Edit the (None) - Command Card + field. Click the bottom rightmost cell and click the little green X to add a button to this cell. Select whatever button you would like. I personally chose the Lift Off (Terran Buildings). Again, this would be a good time to make a custom Button object because, as you'll soon notice, the button's tooltip will be incorrect. I'm just trying to save time. Now set the Command Type to Submenu. Set the Command Card to 2 and set the Learn Ability to Hero Learn. What we've just done is link this button to the Hero Learn ability. It will associate the Command Card 2 with this ability so that we may add buttons there to associate with learning abilities. This is just like in WC3 where you could press the button when you got a level and it would take you to another command card where you select the ability to train.
Now, since we have our new Hero Stimpack ability we need to give it a use button. Lucky for us, there is already a button there for the old stimpack. Select the old Stimpack amd change the Ability to Hero Stimpack (found at the very top of the list). Make sure the Ability Command is set to Use Stimpack. Now, when we press this button, we can use the hero's Stimpack ability. Again, it seems as though we're granting immediate access to the Stimpack ability, but the Hero Learn ability will make sure this button doesn't appear until we "learn" the ability with a skill point!
At the top of the menu, change the Command Card to 2. Select the bottom rightmost cell and add a new button. Select a button to represent Cancel (such as the "Cancel" button). Change its Command Type to Cancel Submenu. Now, select the top leftmost cell and add a new button. Select something that represents Hero Stimpack. I chose the Research Stimpack button. NOTE: Although the button is named "Research Stimpack" it has NOTHING to do with researching a stimpack. It is simply a visual button with a name. It has NO functionality besides serving as a button. You can set this to WHATEVER you want. Change the Command Type to Ability Command and change the ability to Hero Learn. Set the Ability Command to Research Stimpack OR whatever button name you selected for your cloaking ability. It's confusing that it makes us choose the button name and not the ability name that's associated with that button, but we'll have to deal with it for now. Now, when the user presses that button, the unit will learn the associated ability!
Click OK to save your changes.
Making Him Stronger
To level up, our hero will need to kill units. To make this easier, with the Hero Marine unit selected, left click the Marine - Gauss Rifle object in the panel on the bottom left under the Weapons heading to edit its fields. Edit the (None) - Period field and set it to 0.001. This makes the fire rate of the weapon extremely fast. This will make our hero very powerful for testing purposes.
If you would like to change the damage, see the "Marine - Gauss Rifle (Damage)" effect. Notice how weapons do not define the damage!
Give it a Go
Add your Hero Marine unit to the map and place a lot of zerglings to kill. Test the map go kill some zerglings with your hero until you gain a level, spend your ability point on Stimpack and you'll be able to use it!
There you have it, trainable, WC3-esque abilities.
great tutorial to show how to make learn-able abilities TY!
Could you make another tutorial or just tel me how to upgrade abilities, such as have stim packs lvl 1 maybe lasts 10 secs but lvl 2 lasts 15 and how to learn/upgrade that ability a second time?
is it would you be able to tell me how you can give your hero an ability and give that ability restrictions so if there were two abilities i can choose one and not the other one and so next time my hero lvls up he cant get that other ability
I followed you tutorial perfectly and my hero doesn't gain exp when he kills zerglings... Would this be a problem on my end or would it be a problem with the tutorial?
Quote from franklinart:
is it would you be able to tell me how you can give your hero an ability and give that ability restrictions so if there were two abilities i can choose one and not the other one and so next time my hero lvls up he cant get that other ability
----
Yeah, prancer, I'm looking for something like this. Basically, you choose which skills you want at the beginning and then when you level up you level up the skills you chose earlier, not sure how that would work.
That is my "custom hero" system; if you are looking for something similar.
Currently, I am taking the easy path with this.
What you do is add all of the abilities to a hero, and on map ininitilization, disable all of the abilities for the heroes. Saving them into variables and running a loop makes this pretty easy. Then, when a player does something "clicks a button the represents it, types a line of text, buys an item,ect" you show/allow that ability for that player. You then need to save the ability picked by that hero into a variable, say, "skill 1" "skill 2" "skill 3" ect. you can use a catalog field value to set the button tooltop and name to match the ability you picked, inside of the hero - learn behavior. Then, when a hero learns "ability 1" from his learn menu, set it to increase the level of ability(skill 1) for your hero.
The hero - learn behavior caps out at 20; strange, since the ability cap is 32. If you have less than 20 abilities to learn; then it is really no problem, and you can use the normal learn behavior. More than that, and you have to trigger it as I said above.
The biggest drawbacks with this is that you cannot have more than 32 abilities on a unit. Once you reach the cap, you will need to start making dummy abilities, and using conditions/requirements/behaviors to tell which ability to use. The second biggest thing is that you cannot change button icons during a game; so the best ways to work around the system are made much more difficult, and less attractive.
Sweet tutorial! Too bad you have to go through all this stuff pretty much every time you make a hero. It's a pain to have to make one Veterancy ability for each new hero I make, plus having to make one VeterancyLevel for each level that I want my hero to have. I really wish there was a way to just specify my hero's max level and additional experience per level and have that Veterancy ability created for me...
Oh wait! There is a way, using this program. It allows you to make Templates for XML data. I already made a Template for a hero, which you can see in action in the first video on that page.
Still having issues of the ability being "auto-researched," that is, it spends my skill point automatically on my custom ability and then puts it for use on the main command card. I tried changing the names of the ability itself, the "learn" type ability and each of the ability's effects to random nonsense, but it didn't seem to help...
IMPORTANT NOTE - READ THIS IF YOU HAVE ISSUES WITH ABILITIES
If, after following this tutorial, you decide to create your own learnable abilities to your hero (as you should) and you notice that the command card buttons are shown before the ability has been learned then you must change the Name of the Ability by right-clicking and using Modify Object... and remember to click Suggest. If you get this issue, first try assigning a random name to your ability such as "Blah" or "auofduj". This is a very annoying bug (feature?) that has given me problems.
For example, I decided to add a new ability called Hero Cloak and I made it just like the Ghost - Personal Cloaking ability except without requirements. When I set everything up for the hero to learn this ability, I noticed that the cloaking button was already available before learning it! I toyed for hours with it, only to finally attempting to change the name to Hero Silly and lo-and-behold, the ability was not shown by default!
I've narrowed down some ways to avoid this:
1. Avoid using any word in the name of the effect or behavior the ability refers to. For example, the word "Cloak" was in the behavior's name for my "Hero Cloak" ability.
2. Avoid using words related to the description of the effect or behavior the ability refers to. For example, I attempted using the name Hero Hide and it still wouldn't work.
3. Use "Tele" instead of "Blink" for your new ability names.
What We're Doing
This tutorial will cover creating a WC3-esque ability training menu. This means, for every level you gain a point to spend on training a new ability for the hero. The work is fairly intensive but not so much that it should drive you away from creating your hero units. We're going to work with some of pre-existing abilities and modify them a bit to fit our needs.
We're going to create a unit called Hero, who can level up and can learn new abilities with earned skill points. To keep things simple, we'll create a single ability called Hero Stimpack which will operate like the Marine Stimpack ability. But, it will require a skill point to purchase.
So, fire up the SC2 Editor and get ready for some hero action.
Changing the Past
We'll begin by first preparing the Hero Stimpack ability so we don't have to fuss with it later on. In the Data Editor set the Data Type to Abilities. Find Marine - Stimpack and right click and select Duplicate Object. Check the box for the Actors folder. Click OK.
We need to set the name to something easy to understand. Right click the newly created Marine - Stimpack Copy and select Modify Object.... In the popup menu, set the Name to Hero Stimpack. Click Suggest and click OK. With this object selected, change the (None) - Editor Prefix field to be empty instead of "Marine -".
Edit the (None) - Cost + field. Select the item in the list at the top and scroll to the bottom of the menu and select the Life item from the Vital list and click the red x to delete it. Click OK. Now our stimpack will not harm our hero when we use it.
At this point, be sure you have the Show Object Explorer button enabled. It is found just to the left of the Search bar for the Data Editor. This will show the associated objects to your currently selected object.
The astute tutorialee will notice that there is a Requirements heading on the bottom left panel. We'll need to remove that because we don't want to have to research Stimpack before using it. The astute tutorialee may have also notice that right clicking on the requirement has an option Explain Link. This tells us where the relationship comes from. It says it's under the ability Hero Stimpack's (None) - Commands - Requirements field. Let's edit that field. Edit the (None) - Commands +
In the list at the top of the new menu. Select the Execute command. You'll notice under the Requirements heading there is a requirement called "Use Stimpack". Ah-ha! We've found our link. Let's remove it by clicking the little red X to the bottom right. With that taken care of, click OK. Now that pesky requirement heading is gone for good! Stimpack is free to use.
Makings of a Hero
With our special hero stimpack ability, it's time to setup some important things to be able to actually make a levelable hero. First, we'll make a behavior that sets up a hero's experience required to level and the benefits of each level. This behavior type is known as a Veterancy
Set the Data Type to Behaviors and add a new Object. Set the object's Name to Hero Leveling. Click Suggest and change the Behavior Type to Veterancy. Click OK.
The only field we're interested in is the Verterancy Levels + field. This is a big one where we will setup every about each level. And I mean everything...
If you've followed some of the other hero-based tutorials this should all seem familiar...
In the Veterancy Levels + menu click the little green X 3 times to create 3 distinct levels. (For this tutorial our hero will only be able to reach level 3). Select Level 0 and set the Minimum Experience to 30. Select Level 1 and set the Minimum Experience to 60. Select Level 2 and set the Minimum Experience to 90. Obviously, this means when the unit gets 30 experience, he'll level to level 0 (first level), and once he gets 60 points, he'll reach level 1. Notice there are a TON of other settings you can change per level. Explore and play around. For our purposes we'll leave everything else alone. Click OK.
Now, we can give a unit this behavior and it will be able to level up with these parameters. Pretty neat stuff.
Learning Skills
We now need to give our eventual hero unit the ability to teach himself new abilities. To make our eventual autodidactical hero, we will create a new Ability of the Learn type.
Set the Data Type to Abilities and add a new Object. In the panel, set the Name to Hero Learn and click Suggest. Change the Ability Type to Learn. Click OK.
With this new ability selected, edit the (None) - Points Per Level and set it to 1. This field sets the number of points that are earned per level gained. The (None) - Points field is for setting the initial point value for the hero. We'll leave this at 0 so we have to earn a level before getting a skill point.
Now we need to set the abilities that this "Learn" ability can learn! Edit the (None) - Info + field. A rather large and cumbersome menu should appear. This is where we can set certain abilities that can be learned by the hero. Select the Learn1 item. Scroll down and enable the Hide Count option.
The Hide Count makes the little number invisible for the button (try toggling it and you'll see what I mean in the game). Scroll down further until you find the Default Button field. Select Research Stimpack from the combo box. This is the button that we'll associate with in the hero's command panel to decide where to place the learnable abilities (you'll see in a bit). We are just using a default button as the visual for the ability. If you would like to make your own check out the "Buttons" data type in the editor.
Scroll down to the bottom. Change the Alert field to something you like. I chose UpgradeComplete_Terr. This sound will be played when the ability is finished training. You can set the Time field to something other than 0 if you would like training to not be instant.
Finally, set the Ability field to Hero Stimpack. This field specifies the ability to be taught to the unit. We're done with this. Click OK. Notice, if you would like to add more abilities to learn, you would just select a different "Learn Index" at the top. We'll stick with 1 for now.
Building Our Hero
Ok, we've setup all of the things we need to finally create our awesome hero unit. Set the Data Type to Units and find the Marine unit. Right click the unit and select Duplicate Object. In the window that pops up Check the Actors heading to select all subelements. Click OK.
Now, right click the Marine Copy and select Modify Object.... Change the Name to Hero Marine, click Suggest. Change the Object Type to Hero. Click OK.
We now need to give our hero some abilities. Edit the (None) - Abilities + field. First, let's remove the old, normal Stimpack ability. Select the Marine - Stimpack ability from the list and click the little red X to delete it. Click the little green X to add a new ability slot. Set the Ability to Hero Learn. Click the little green X again and set the Ability to Hero Stimpack. Click OK.
Now, this may seem odd to immediately grant the unit the Hero Stimpack ability. But, lucky for us, the engine will realize that this ability is trainable in the Hero Learn ability so it will not grant access to the ability until it is learned through the Hero Learn ability. This is very nice for us as we don't have to set up requirements and all of that business.
Edit the (None) - Attributes field and check the Heroic box. Click OK. This simply identifies the unit as a hero.
We now need to make the unit have the hero abilities to level up. Edit the (None) - Behaviors + field and add using the little green X the Hero Leveling behavior. This allows our hero to level up according the parameters we set in the Hero Leveling behavior. So, it can reach level 3 with 30 experience point increments like we defined.
It's time now to change the command panel to show a button for our "Hero Learn" ability. Edit the (None) - Command Card + field. Click the bottom rightmost cell and click the little green X to add a button to this cell. Select whatever button you would like. I personally chose the Lift Off (Terran Buildings). Again, this would be a good time to make a custom Button object because, as you'll soon notice, the button's tooltip will be incorrect. I'm just trying to save time. Now set the Command Type to Submenu. Set the Command Card to 2 and set the Learn Ability to Hero Learn. What we've just done is link this button to the Hero Learn ability. It will associate the Command Card 2 with this ability so that we may add buttons there to associate with learning abilities. This is just like in WC3 where you could press the button when you got a level and it would take you to another command card where you select the ability to train.
Now, since we have our new Hero Stimpack ability we need to give it a use button. Lucky for us, there is already a button there for the old stimpack. Select the old Stimpack amd change the Ability to Hero Stimpack (found at the very top of the list). Make sure the Ability Command is set to Use Stimpack. Now, when we press this button, we can use the hero's Stimpack ability. Again, it seems as though we're granting immediate access to the Stimpack ability, but the Hero Learn ability will make sure this button doesn't appear until we "learn" the ability with a skill point!
At the top of the menu, change the Command Card to 2. Select the bottom rightmost cell and add a new button. Select a button to represent Cancel (such as the "Cancel" button). Change its Command Type to Cancel Submenu. Now, select the top leftmost cell and add a new button. Select something that represents Hero Stimpack. I chose the Research Stimpack button. NOTE: Although the button is named "Research Stimpack" it has NOTHING to do with researching a stimpack. It is simply a visual button with a name. It has NO functionality besides serving as a button. You can set this to WHATEVER you want. Change the Command Type to Ability Command and change the ability to Hero Learn. Set the Ability Command to Research Stimpack OR whatever button name you selected for your cloaking ability. It's confusing that it makes us choose the button name and not the ability name that's associated with that button, but we'll have to deal with it for now. Now, when the user presses that button, the unit will learn the associated ability!
Click OK to save your changes.
Making Him Stronger
To level up, our hero will need to kill units. To make this easier, with the Hero Marine unit selected, left click the Marine - Gauss Rifle object in the panel on the bottom left under the Weapons heading to edit its fields. Edit the (None) - Period field and set it to 0.001. This makes the fire rate of the weapon extremely fast. This will make our hero very powerful for testing purposes.
If you would like to change the damage, see the "Marine - Gauss Rifle (Damage)" effect. Notice how weapons do not define the damage!
Give it a Go
Add your Hero Marine unit to the map and place a lot of zerglings to kill. Test the map go kill some zerglings with your hero until you gain a level, spend your ability point on Stimpack and you'll be able to use it!
There you have it, trainable, WC3-esque abilities.
great tutorial to show how to make learn-able abilities TY!
Could you make another tutorial or just tel me how to upgrade abilities, such as have stim packs lvl 1 maybe lasts 10 secs but lvl 2 lasts 15 and how to learn/upgrade that ability a second time?
Edit: nvm i figured it out myself :D
i followed your intructions to the teeth but my hero levels behabior doesnt show up and i cant apply it to my hero units
@Prancer: Go
is it would you be able to tell me how you can give your hero an ability and give that ability restrictions so if there were two abilities i can choose one and not the other one and so next time my hero lvls up he cant get that other ability
@Prancer: Go
I followed you tutorial perfectly and my hero doesn't gain exp when he kills zerglings... Would this be a problem on my end or would it be a problem with the tutorial?
I say you have done something to the Veterancy bahviour.
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
Quote from franklinart:
is it would you be able to tell me how you can give your hero an ability and give that ability restrictions so if there were two abilities i can choose one and not the other one and so next time my hero lvls up he cant get that other ability
----
Yeah, prancer, I'm looking for something like this. Basically, you choose which skills you want at the beginning and then when you level up you level up the skills you chose earlier, not sure how that would work.
@kanacali: Go
That is my "custom hero" system; if you are looking for something similar.
Currently, I am taking the easy path with this.
What you do is add all of the abilities to a hero, and on map ininitilization, disable all of the abilities for the heroes. Saving them into variables and running a loop makes this pretty easy. Then, when a player does something "clicks a button the represents it, types a line of text, buys an item,ect" you show/allow that ability for that player. You then need to save the ability picked by that hero into a variable, say, "skill 1" "skill 2" "skill 3" ect. you can use a catalog field value to set the button tooltop and name to match the ability you picked, inside of the hero - learn behavior. Then, when a hero learns "ability 1" from his learn menu, set it to increase the level of ability(skill 1) for your hero.
The hero - learn behavior caps out at 20; strange, since the ability cap is 32. If you have less than 20 abilities to learn; then it is really no problem, and you can use the normal learn behavior. More than that, and you have to trigger it as I said above.
The biggest drawbacks with this is that you cannot have more than 32 abilities on a unit. Once you reach the cap, you will need to start making dummy abilities, and using conditions/requirements/behaviors to tell which ability to use. The second biggest thing is that you cannot change button icons during a game; so the best ways to work around the system are made much more difficult, and less attractive.
Skype: [email protected] Current Project: Custom Hero Arena! US: battlenet:://starcraft/map/1/263274 EU: battlenet:://starcraft/map/2/186418
Sweet tutorial! Too bad you have to go through all this stuff pretty much every time you make a hero. It's a pain to have to make one Veterancy ability for each new hero I make, plus having to make one VeterancyLevel for each level that I want my hero to have. I really wish there was a way to just specify my hero's max level and additional experience per level and have that Veterancy ability created for me...
Oh wait! There is a way, using this program. It allows you to make Templates for XML data. I already made a Template for a hero, which you can see in action in the first video on that page.
@Prancer: Go
Still having issues of the ability being "auto-researched," that is, it spends my skill point automatically on my custom ability and then puts it for use on the main command card. I tried changing the names of the ability itself, the "learn" type ability and each of the ability's effects to random nonsense, but it didn't seem to help...
<Click Here> To See My Epic Single Player Campaign (LifeForceCampaign.com)