- Joined
- Apr 4, 2010
- Messages
- 286
Engineering Upgrade
Engineering Upgrade is a versatile ability that allows the player to improve or customize the output of their other spells. The base version comes from the Goblin Tinker hero and improves each of his other hero abilities, essentially allowing the player to level up those abilities in two directions rather than just one.
![]()
Engineering Upgrade (Passive)
Improves other Tinker abilities with each level learned:
Cluster Rockets - Larger Area.
Pocket Factory - Builds Clockwerk Goblins more quickly.
Robo-Goblin - Increases armor and Strength; enhances Demolish.
In this tutorial, I’ll walk through how to use Engineering Upgrade for custom abilities, using a simple example and then a more complex example.
Simple Example
To start, let’s use Engineering Upgrade to just modify one skill. We’ll base our placeholder skill on Storm Bolt.
The way that Engineering Upgrade works is that there are actually 4 versions of each of the affected abilities: A base version, and then three “upgraded” versions that correspond with the current learned level of Engineering Upgrade.
So, we need to create 4 versions of Storm Bolt (and of course, we’ll need our version of Engineering Upgrade):
We’ll set up the Storm Bolt abilities first. What we’re going to do is have Storm Bolt’s damage go up as the player levels up Storm Bolt, and the stun duration go up as the player levels up Engineering Upgrade.
Storm Bolt’s base values already scale up with level, so we don’t have to do any work there. For the stun duration, we’ll leave everything alone on Storm Bolt Copy (Base), and make everything a little bit better on Storm Bolt Copy (Alt Lvl 1), Storm Bolt Copy (Alt Lvl 2), and Storm Bolt Copy (Alt Lvl 3):
Storm Bolt Copy (Base)
Level 1 - Data - Damage: 100
Level 2 - Data - Damage: 225
Level 3 - Data - Damage: 350
Level 1 - Stats - Duration - Hero: 3.0
Level 2 - Stats - Duration - Hero: 3.0
Level 3 - Stats - Duration - Hero: 3.0
Level 1 - Stats - Duration - Normal: 5.0
Level 2 - Stats - Duration - Normal: 5.0
Level 3 - Stats - Duration - Normal: 5.0
Storm Bolt Copy (Alt Lvl 1)
Level 1 - Data - Damage: 100
Level 2 - Data - Damage: 225
Level 3 - Data - Damage: 350
Level 1 - Stats - Duration - Hero: 4.0
Level 2 - Stats - Duration - Hero: 4.0
Level 3 - Stats - Duration - Hero: 4.0
Level 1 - Stats - Duration - Normal: 7.0
Level 2 - Stats - Duration - Normal: 7.0
Level 3 - Stats - Duration - Normal: 7.0
Storm Bolt Copy (Alt Lvl 2)
Level 1 - Data - Damage: 100
Level 2 - Data - Damage: 225
Level 3 - Data - Damage: 350
Level 1 - Stats - Duration - Hero: 5.0
Level 2 - Stats - Duration - Hero: 5.0
Level 3 - Stats - Duration - Hero: 5.0
Level 1 - Stats - Duration - Normal: 9.0
Level 2 - Stats - Duration - Normal: 9.0
Level 3 - Stats - Duration - Normal: 9.0
Storm Bolt Copy (Alt Lvl 3)
Level 1 - Data - Damage: 100
Level 2 - Data - Damage: 225
Level 3 - Data - Damage: 350
Level 1 - Stats - Duration - Hero: 6.0
Level 2 - Stats - Duration - Hero: 6.0
Level 3 - Stats - Duration - Hero: 6.0
Level 1 - Stats - Duration - Normal: 12.0
Level 2 - Stats - Duration - Normal: 12.0
Level 3 - Stats - Duration - Normal: 12.0
Now it’s time to tell Engineering Upgrade how to use all these different abilities.
First of all, let’s get rid of the bonus damage and movement speed buffs since they aren’t necessary for the replacement effects to work. Simply set these values to zero.
Next, for each of these fields, you want to list two skills. The first skill listed is the one being replaced, while the second skill listed is the replacement. As you can see, Engineering Upgrade Level 1 replaces our base skill with the Alt Level 1 version, Level 2 replaces the Alt Level 1 version with the Alt Level 2 version, etc.
You can think of these replacements as being applied sequentially: first the Level 1 replacement, then the Level 2 replacement, and so on for as many levels as the player has learned. This means the first skill listed on each line (the one being replaced) should be same as the second skill from the previous line, not just the base skill over and over (which wouldn’t do anything).
WRONG
Level 1: Storm Bolt Copy (Base), Storm Bolt Copy (Alt Lvl 1)
Level 2: Storm Bolt Copy (Base), Storm Bolt Copy (Alt Lvl 2)
Level 3: Storm Bolt Copy (Base), Storm Bolt Copy (Alt Lvl 3)
RIGHT
Level 1: Storm Bolt Copy (Base), Storm Bolt Copy (Alt Lvl 1)
Level 2: Storm Bolt Copy (Alt Lvl 1), Storm Bolt Copy (Alt Lvl 2)
Level 3: Storm Bolt Copy (Alt Lvl 2), Storm Bolt Copy (Alt Lvl 3)
You can also repeat this process if you want to do the same thing for more skills. (One instance of Engineering Upgrade can “upgrade” up to four separate abilities at once.) Otherwise, if you're not going to use them, I recommend deleting all of the values for these fields since they won’t do anything.
And that’s functionally it. You’ll want to make sure you update all the text and tooltip fields for each version of your abilities to accurately describe what they’ll do - only the tooltip for the currently active version of the skill is ever shown in-game.
Complex Example
This example is a lot more complicated than the one above, and is recommended for people who already have a solid grasp of the Object Editor (including the basics of how to use both Engineering Upgrade and Spellbook). If you have questions about particular parts of this feel free to ask in the comments, but I’m not going to go through every step of this system. I put this here as an example of one of the more ambitious ways you can use Engineering Upgrade.
On my map, I have a hero who can actively swap between different “aspects”, with each aspect modifying the outputs of the hero’s skills (think similar to Warrior stances or Death Knight presences in WoW). I use Engineering Upgrade for this, combined with a Spellbook ability which contains the options for choosing an aspect.
My full system involves at least 16 separate abilities:
- 4x Spellbook ability (Base version plus three Alt versions)
- 4x Replaced spell 1 (Base version plus three Alt versions)
- 4x Replaced spell 2 (Base version plus three Alt versions)
- 3x Choice buttons inside Spellbook (one for each choice)
- Engineering Upgrade ability
In addition to the above, which can all be handled in the Object Editor, I use a handful of triggers to detect when the player makes a choice and switch to the appropriate versions of all of their abilities. We do this by setting the current level of Engineering Upgrade for the player (remember that our version of Engineering Upgrade is a unit ability, not a hero ability).
-
Storm Aspect on
-
Events
-
Unit - A unit Finishes casting an ability
-
-
Conditions
-
(Ability being cast) Equal to Choose Storm Aspect
-
-
Actions
-
Unit - Set level of Elemental Aspect (Engineering Upgrade) to 2
-
Game - Force (Owner of (Casting unit)) to press Escape/Cancel
-
-
-
Earth Aspect on
-
Events
-
Unit - A unit Finishes casting an ability
-
-
Conditions
-
(Ability being cast) Equal to Choose Earth Aspect
-
-
Actions
-
Unit - Set level of Elemental Aspect (Engineering Upgrade) to 3
-
Game - Force (Owner of (Casting unit)) to press Escape/Cancel
-
-
-
Fire Aspect on
-
Events
-
Unit - A unit Finishes casting an ability
-
-
Conditions
-
(Ability being cast) Equal to Choose Fire Aspect
-
-
Actions
-
Unit - Set level of Elemental Aspect (Engineering Upgrade) to 4
-
Game - Force (Owner of (Casting unit)) to press Escape/Cancel
-
-
Here’s how it looks in action:
(Credit goes to @Stefan.K for the sweet Draka model! Also, thanks to @assasin_lord, @Sin'dorei300, @~Nightmare, @PeeKay, @Darkfang and @Mc ! whose resources also appear in the video.)
If you want to take a look at what these two examples (or something close to them) look like in practice, check out the test map attached below.
Notes and Best Practices
Here are some additional points about how best to use (and not use) Engineering Upgrade. These are just based on my own experience of using Engineering Upgrade and some of the issues I’ve run into.
(This section subject to future edits/additions)
- Engineering Upgrade only allows you to replace Hero abilities, not unit (or item) abilities. However if you need to replace non-Hero abilities there are probably easier ways to do it anyway using triggers. (The Engineering Upgrade itself can be a unit or Hero ability, either works fine.)
- Engineering Upgrade cannot be added to non-Hero units (whether EU is a hero ability or not). Doing so will cause the map to crash. (@leandrotp has developed a workaround which you can read about here.)
- Whenever you’re replacing abilities using Engineering Upgrade, ALWAYS use the same base ability for all versions of the skill being replaced. If you don’t, you can end up with weird combinations of effects resulting from the replaced ability not being uninstalled properly. (This is how I accidently ended up with a 2 million damage Storm Bolt in my map.)
- Similarly, don’t use Engineering Upgrade to replace itself. (This should be common sense.)
- Weird things can happen when you're triggering the Engineering Upgrade level to change from a spell being cast inside a spellbook (like in my system above). Specifically, when shifting down from a higher EU level to a lower EU level, the EU tooltip can break - moving position, defaulting to a placeholder image, and losing its text. I have no idea why this happens, but you can avoid it if the spellbook is itself one of the abilities Engineering Upgrade is replacing. (The spellbook versions don't actually have to be any different from each other, there just have to be different versions "behind the scenes". Weird!)
- The Engineering Upgrade buff model of the spikes sticking out of the hero's mount are notoriously hard to remove or change. (You can see them sticking out of Thrall's wolf in the test map, attached below.) I've yet to find a good workaround for this, other than just using a hero that doesn't have a mount.
- I've run into trouble when using Engineering Upgrade on a hero I want to save/restore using the game cache. When restoring the saved hero, they won't have any abilities. I was able to work around this by setting Engineering Upgrade's level to 1 (or 0) so that it's not replacing any abilities, right before saving the hero. (You can use an integer in game cache to save the level Engineering Upgrade should be, and then set it to that again after restoring the hero in the next map.)
Attachments
Last edited: