Ability Level Requirement?

X-maul

AKA: Demtrod
Reaction score
201
I want to make my ability learnable like this:
Level 1 available at lvl 1
Level 2 available at lvl 3
Level 3 available at lvl 5
Level 4 available at lvl 7

I know I can do this with a requirement that multiplies the level of the current ability, and such.
The problem is that I want to make the requirement show "Learnable at level 5" or "Learnable at level 7" if that's the case.

how do I do that?
 

MissKerrigan

Active Member
Reaction score
23
it's impossible to learn level 2 at level 3, because you must first learn level 2 or am I crazy here?
 

Dave312

Censored for your safe viewing
Reaction score
269
X-Maul is referring to Ability Level 2 at Hero Level 3.

I tried to get this to work a long time ago with no success. At the time, the requirement tooltips did not allow functions/references in them. However they may have fixed that since so you will just have to give it a try.
 

X-maul

AKA: Demtrod
Reaction score
201
Do you know how I would make this reference look? As I cant seem to be able to create references to anything but data fields. (Not in requirements, but in button text for instance)
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
References are actually supported in requirement tooltips. There is no UI for it but you can open a button tooltip and use the interface there to create a reference and then copy it into the requirement tooltip.

As for how to reference to the actual level, I had a similar problem when I tried to reference the current upgrade level. What I did was to have a dummy behavior and reference the dummy behavior's duration. Each time I got an upgrade, it increased its dummy behaviors duration by 1. That way I could keep track of the level.

So to solve your problem, I'd create a dummy behavior with duration 1 (To repeat, this behavior will never be given to anyone. It just has to exist in the data editor). Open a button tooltip and create a reference to the dummy behavior's duration and copy it into the requirement.

Finally, you'll have to modify the behavior duration. Since you want it to go from 1 to 3 to 5 to 7, you'll need to add 2 to the duration every time you learn the ability. Since I've done practically nothing with levelable abilities, I don't know if you can modify a behavior's duration when you upgrade the ability.

If you can't, you could do it two ways. Have a trigger that triggers when you learn the ability and then you can either set the duration with catalog actions or you can create an upgrade that adds to the duration with 4 as max level or something. Then add the upgrade to the player when he learns the ability.

I only tried doing the requirement reference. The rest are good guesses based on past experience.
 

X-maul

AKA: Demtrod
Reaction score
201
Thought of sometihng like this, as I am already having a trigger running everytime I level my abilities (I do not have more than 1 set of effects for each ability - I upgrade the effects with an upgrade, as only on e unit can use it at a time).

I'll try doing this, thank you for the idea :)

EDIT: It works as a charm, thanks for the suggestion Siretu :)
For anyone else seing this later on; I made a damage effect (one for each different requirement), and set the initial value to 1, then I made this trigger:
Code:
LevelUp - Ability
    Events
        Unit - Any Unit learning progress is Completed
    Local Variables
        ENTRY = None <Game Link - Effect>
    Conditions
    Actions
        General - Switch (Actions) depending on (Triggering progress ability)
            Cases
                General - If (Karass - Spirit Bolt - Ability 1)
                    Actions
                        Tech Tree - Set Spirit Bolt upgrade level to (Current level for ability Karass - Spirit Bolt - Ability 1 on (Triggering unit)) for player (Owner of (Triggering unit))
                        Variable - Set ENTRY = Spirit Bolt Requirement
                        Catalog - Set value of Effects ENTRY Amount for player (Owner of (Triggering unit)) to (String(((Value of Effects ENTRY Amount for player (Owner of (Triggering unit)) as an integer) + 2)))
            Default
Then I simply went to a random button and made a reference to the value of the damage effect, and copyed that to the requirement.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top