Hero 5 Limit Ability Cap

MerrillPhish

Active Member
Reaction score
10
I want to have a hero ability system were a hero has 8 spells to choose from but only gets to use 4.
My plan was to give a hero 8 abilities then when they learn a spell I remove a spell with triggers.
I just found out you can only give heroes 5 abilities and it doesn't look pretty...

Is there any way to up the hero ability cap to 8?
I looked in gameplay constants and didn't see anything.

I could use a spellbook or upgrade system that uses gold for skill up points but that just seem ridiculous.

Any Ideas?
 

MP®

Member
Reaction score
11
Not possible with normal hero system. You indeed have to make a spellbook system that replaces the normal system.

You don't need gold for skill points, just calculate the hero level and the amound of already learnt spells and levels.
 

MerrillPhish

Active Member
Reaction score
10
Spell books are a pain....
here is the system I have in mind.

Heroes start off with spellbook ability
Spellbook is filled with 8 dummy abilities
when dummy ability is used triggers are set off
Trigger One - makes an ability unavailable using tech tree researches and dependability if needed
Trigger Two - gives the ability or upgrades ability on unit then removes spell book

Every time hero levels he is given the spell book ability

I see this working in my head but I also see the Hero skills panel interfering?
It looks like I can just remove hero skill points using triggers to solve this problem.
Is this the right way to do it?
 

MP®

Member
Reaction score
11
I would make it like this:

Heroes start with the spellbook ability and the spellbook with 8 dummy abilities. (so far the same)
Give the spellbook ability a requirement: Some dummy unit with the name "Skill Point" or something like that.

Now every time the hero levels-up, you give the player 1 'Skill Point'-unit and add this to a unit group variable with array [Player Number].
And every time the hero 'learns' a spell (uses a dummy ability in the spellbook), you remove 1 Skill Point-unit. When a player has 0 Skill Point units, the Spellbook icon will be visible, but not clickable (and darkened, like it's disabled). When you hover the mouse over it, you will see a text "Requirements: Skill Point". This looks a lot more professional.

Of course, when a hero 'learns' a spell, you have to trigger it, that the hero receives the real ability, or levels up when he already has the ability.
And count the number of abilities of the hero, whenever a hero reaches 6 abilities (this is the max number of icon's you can place on the hero's command interface, but if you rather have a max of 5, you can do that too of course) you will have to disable the dummy units in the spellbook which the hero doesn't have, so the hero will only be able to level-up his abilities.
 

MerrillPhish

Active Member
Reaction score
10
Awesome this will work.
I just have to add tech tree requirements in there for when you train one ability the other ability will disable.

Thanks So Much!
 

MP®

Member
Reaction score
11
You can also instead of disabling a single dummy spell in the spellbook, disable it with the requirements indeed, you have to work with units though, because you can't downgrade a tech.
 

Ayanami

칼리
Reaction score
288
From what I read, you want to only allow 4 abilities out of 8 for a hero, right? Why not make a skill selection when you choose that certain hero, where all 8 skills will be displayed. From there, allow the player to choose 4. You'd still need a custom Skill System (using Spellbook) to level the skills though.
 

MerrillPhish

Active Member
Reaction score
10
I got it to work!

But now I need to modify the tech tree system so that you can't max out the ability by level 3.
I bet I could pull it off with variables and arrays somehow.

This is such a pain. I have to keep tell myself my map is going to be awesome.
It takes like 50 lines of code for one spell thankfully it is alot of copy and paste after the first one.
Holy Hell
 

MerrillPhish

Active Member
Reaction score
10
From what I read, you want to only allow 4 abilities out of 8 for a hero, right? Why not make a skill selection when you choose that certain hero, where all 8 skills will be displayed. From there, allow the player to choose 4. You'd still need a custom Skill System (using Spellbook) to level the skills though.

I had this same thought haha
 

MP®

Member
Reaction score
11
Lol I think you're making it yourself harder than neccesary..

Maybe you can post your triggers here, so we can give you some advice how to make it easier?
 

MerrillPhish

Active Member
Reaction score
10
Code:
Hero Uses Dummy Spell
    Events
        Unit - A unit Begins casting an ability
    Conditions
        (Unit-type of (Triggering unit)) Equal to Demon Hunter
        (Ability being cast) Equal to Burning Blades (DH Dummy)
    Actions
        Game - Display to (All players) the text: Burning Blades
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Level of Burning Blades (DH 3) for (Triggering unit)) Equal to 0
            Then - Actions
                Game - Display to (All players) the text: Added
                Set Temp_Unit_Group = (Units owned by (Owner of (Triggering unit)) of type DH Vampric Aura)
                Unit Group - Pick every unit in Temp_Unit_Group and do (Unit - Remove (Picked unit) from the game)
                Custom script:   call DestroyGroup(udg_Temp_Unit_Group)
                Unit - Add Burning Blades (DH 3) to (Triggering unit)
            Else - Actions
                Game - Display to (All players) the text: Increased
                Unit - Increase level of Burning Blades (DH 3) for (Triggering unit)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Level of Burning Blades (DH 3) for (Triggering unit)) Equal to 3
                    Then - Actions
                        Game - Display to (All players) the text: Maxed Out
                        Set Temp_Unit_Group = (Units owned by (Owner of (Triggering unit)) of type DH Burning Blades)
                        Unit Group - Pick every unit in Temp_Unit_Group and do (Unit - Remove (Picked unit) from the game)
                        Custom script:   call DestroyGroup(udg_Temp_Unit_Group)
                    Else - Actions
                        Do nothing
        Unit - Remove Spell Book (DH) from (Triggering unit)
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
Try using the Edit button on consecutive posts when the last post was also yours. You can also use [noparse]
Trigger:
tags instead of
Code:
[/noparse] tags to make your triggers look like they do in the Trigger Editor.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top