"Evolving" a Hero

Status
Not open for further replies.
Level 7
Joined
May 30, 2018
Messages
290
Hey guys :)

Is there a way to make a hero evolve into another hero, once he reaches a certain level? ( the evolved hero should have improved stats compared to the old hero and new abilities aswell - so I'd like all the old abilities to be deleted and replaced by new ones he can learn in his "new" form, basically a hard reset of the hero so he starts completely fresh in his new evolved form with new abilities he can learn and better base stats etc.)

I have no clue on how to use triggers, but if it is needed(which I assume) I am open for help and explanations, which can lead me to a solution :)

Thanks in advance guys :)
 
Level 10
Joined
Apr 4, 2010
Messages
286
It depends how complex you want the system to be. The basic function you're asking for is pretty easy, and there's a lot you can always add to it later if you wanted to carry over the hero's items, or skill levels, etc.

Here's how I'd do the basic version.

First: Make the two hero units in the Object Editor. Make them with whatever skills, stats, etc. that you want.

Second: Here's the basic trigger I'd set up.

(Events)
A Hero gains a level
(Conditions)
Unit-type of (Triggering unit) = (Your 1st hero type)
Hero level of (Triggering unit) = 10 (or whatever level you want it to transform at)
(Actions)
Unit - Replace (Triggering unit) with a (Your 2nd hero type)

There are other ways you could do this, playing around with abilities like Chaos, Metamorphosis, or Storm Earth And Fire (to name a few). But the above trigger is probably the simplest way with the least work.
 
Last edited:
Level 12
Joined
Nov 3, 2013
Messages
989
I used to play an old Reign of Chaos Aeon of Strife type map that had this actually, called Aeon of Six Gods.


Some tips you might want: If the heroes will 'Evolve' before they reach the level cap, e.g. lets say they evolve at level 10, but the cap is level 25, then make sure that you check so that their level is level 10 OR HIGHER, a fairly common problem that can happen is that you get two levels at the same time and thus skip the level-up point so you won't evolve.


When using 'Unit - Replace (Unit A) with a (Unit B)' the player will lose selection of the unit if they had it selected, which can be pretty annoying. To fix this, check whether the player has the unit selected, and then add the new unit to the player's selection.
 
Level 7
Joined
May 30, 2018
Messages
290
It depends how complex you want the system to be. The basic function you're asking for is pretty easy, and there's a lot you can always add to it later if you wanted to carry over the hero's items, or skill levels, etc.

Here's how I'd do the basic version.

First: Make the two hero units in the Object Editor. Make them with whatever skills, stats, etc. that you want.

Second: Here's the basic trigger I'd set up.

(Events)
A Hero gains a level
(Conditions)
Unit-type of (Triggering unit) = (Your 1st hero type)
Hero level of (Triggering unit) = 10 (or whatever level you want it to transform at)
(Actions)
Unit - Replace (Triggering unit) with a (Your 2nd hero type)

There are other ways you could do this, playing around with abilities like Chaos, Metamorphosis, or Storm Earth And Fire (to name a few). But the above trigger is probably the simplest way with the least work.


Hey I wanted to try out your method, but I can't find the Event: "A Hero gains a level" - could you help out ? :s Only thing is A Unit gains a level, but how do I set this unit to the hero I want?
 
Last edited:
Level 10
Joined
Apr 4, 2010
Messages
286
"Unit - A unit Gains a level" should be the correct event. I think.

You make it only work with a certain Hero in the trigger conditions:
Unit-type of (Triggering unit) = (Your 1st hero type)

What this means is that each time any hero gains a level in your game, the trigger will check if that unit is the right unit-type. If so, it'll do the Actions listed in the trigger.
 
Level 1
Joined
Jan 12, 2019
Messages
7
Also if you have more than one from the same type of this unit in your map and if you want to evolve only a specific one you have to do something more. Because with these steps, all of the same type of the units will evolve under the same conditions. Maybe you want to evolve only your hero(x) and for some reason other hero(x) will stay the same, who knows?

You may simply create 2 custom units with same definitions and values except their ID names, one of them for evolving and the other one is for normal use. So you can set 2 variables for each one in one trigger for calling both separately lately.
 
Status
Not open for further replies.
Top