Hero tavern - Picked hero learn Random abilities

streng

Member
Reaction score
1
Hi Guys. I want to create custom triger for mod in my map. I want, when player pick a hero from tavern, triger remove all hero abilities (chosen in object editor) and automaticaly learn new random abilities. Is it posible ? And how ?
I see very similar system in map "Legion TD MEGA" When player pick a prophet builder, prophet had random tower from other builders. It means every time when you pick prophet, your prophet is different.

Thanx for your answers
 

Solu9

You can change this now in User CP.
Reaction score
216
First of all you want to remove all abilities for the hero you can buy. It saves time when doing the trigger.

For the random abilities. You can do it in several ways. I suggest this method.

Put the abilities you want to be randomly chosen into X (your decision) groups.
Fx. Defensive, Passive, Single Target and Multi Target

Create an ability array variable for each ability group and store each of the abilities you want to be able to be randomly picked in there designated variables.
In this case I'll name them:
Ability_Defensive [X]
Ability_Passive [X]
Ability_Single [X]
Ability_Multi [X]

Then create this trigger:

Events - A unit sells a unit
Conditions -
And-
Unit type of sold unit equal to (Your Hero Unit)
Actions -
Give ability, Ability_Defensive [random number between X* and Y*] to sold unit
Give ability, Ability_Passive [random number between X* and Y*] to sold unit
Give ability, Ability_Single [random number between X* and Y*] to sold unit
Give ability, Ability_Multi [random number between X* and Y*] to sold unit
 

streng

Member
Reaction score
1
Ok thanks I try it.
But I have two question. First in your methods , are abilities still upgradable ? I think when hero randomly learn for example "devotion aura lvl1" can this ability upgrade after next level to "devotion aura lvl2" ?
Second question is: Is any way to remove all abilities via triger. I think somethink like as "remove all abilities from sold unit". I ask you because, I have 30 diferent heroes on my map and is it much work to create everyone duplicate whitout abilities.
Thanks
 

Solu9

You can change this now in User CP.
Reaction score
216
Question 1:
You mean if you can still level up in the different abilities. The answer is yes. As long as you add a hero ability with levels it will work like any other hero ability.

Question 2:
Trust me when I say that deleting all abilities on a hero and copy/paste the empty field unto 30 other heroes is way faster than adding into the trigger that you want to remove all abilities the hero initial have.
Reason: If all 30 heroes has different abilities you have to add a remove ability line in the trigger for every ability they have.

Let's say you have 30 heroes with 4 abilities each.
That means you have to add 120 lines for removing every possible ability.

Conclusion: Just delete the abilities on one of the heroes, then copy the field and paste in into the same field on all of the other heroes.
 

streng

Member
Reaction score
1
Ok I have some problem with this triger. I create ability array "Ultima[X]" and set 10 different skills into this array. I create 1 Hero whitout abilities and put him into tavern and write this:
Chaos dificulty
Events
Unit - A unit Sells a unit
Conditions
((Sold unit) is A Hero) Equal to True
Actions
Unit - Add Ultima_Array[(Random integer number between 1 and 10)] to (Sold unit)

But this not work. When I chose hero, triger chose skill "melody Aura" every time. No random :(
 

Imp Midna

Active Member
Reaction score
52
File - Preferences - Test Map - Use Fixed Random Seed. For testing purposes, this option will make the game when its test using "Test Map" in the world editor always use the SAME random numbers. Assuming the first number to come for you is the one from Melody Aura. Make sure you unchecked it.
 

Solu9

You can change this now in User CP.
Reaction score
216
^what Imp Midna said.
For the record weather or not the "Use Fixed Random Seed" is checked the map WILL be random when you play it from Warcraft 3.
 

streng

Member
Reaction score
1
Thanks :) Now working. But I have anoter question. Is any way to triger add random level of ability? I think triger selecet one of ultima skill For example "melody aura" and after select random level of this Aura. Is it posible ?
 

Solu9

You can change this now in User CP.
Reaction score
216
Hmm hmmm hmmmmmm....

Since you can't (to my knowledge) track what spell the hero just learned (correct me if I am wrong) you CAN add random skill points to the hero. I know that is not exactly what you want but its the best solution I can come up with.

If you decide to go with my approach here is how you do it.

Add to the trigger:

Chaos dificulty
Events
Unit - A unit Sells a unit
Conditions
((Sold unit) is A Hero) Equal to True
Actions
Unit - Add Ultima_Array[(Random integer number between 1 and 10)] to (Sold unit)
Modify unspent skill points of "Hero": Add X points.

Where X is no more than the max level of the ability learned.

Hope you can use that.
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
Absolutely.
Trigger:
  • Melody Aura
    • Events
      • A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Melody Aura
    • Actions
      • Unit - Set level of Melody Aura for (Triggering unit) to (Random integer between 1 and 5)
 

Solu9

You can change this now in User CP.
Reaction score
216
Absolutely.
Trigger:
  • Melody Aura
    • Events
    • A unit Learns a skill
    • Conditions
    • (Learned Hero Skill) Equal to Melody Aura
    • Actions
    • Unit - Set level of Melody Aura for (Triggering unit) to (Random integer between 1 and 5)

Ah yes of course! I was tunnelvisioning around keeping it in the one trigger.
With KaerfNomekop's solution you either have to make a trigger for each spell or throw in an "Or" condition in his trigger and add all of your abilities.
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
I was looking for an alternative, general solution. But there are so few functions that use (Learned Hero Skill).
 

Solu9

You can change this now in User CP.
Reaction score
216
^agreed. I think what you posted is the best solution available.
 
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