Wednesday, December 21, 2011

Guide To Life Stealer, Naix



Table of contents

I. Introduction
II. Stats' analysis
III. Skills
IV. Skill Build
V. Starting Items
VI. Core Build
VII. Situational Items
VIII. Luxury Items
IX. Rejected Items
X. Best Allies/Worst Enemies
XI. Game Walkthrough
XII. Replays
XIII. Special Thanks


I. Introduction


Quote:
There's absolutely no reason for us to assume that the Germans opponents are mounting a major offensive.

The weather is awful. Their supplies are low. The German opponents' Army hasn't mounted a winter attack since Frederick vigoss the Great.

Therefore, I believe that's exactly what they're going to do.
As predicted by a brilliant general who was advised by a very good G-2 (intelligence officer), the enemy smashed through our lines, spearheaded by heavy tanks, creating a "bulge". Fog is everywhere, the situation is catastrophic and the enemy keeps advancing.

But plans were already laid for moving your Tank Destroyer (TD) battalion from one battlefield to another very quickly, and as planned, you've got to stop these tanks at all costs and drive them back to where they've launched their attack, Germany the enemy fountain !

Being a TD needs to ask oneself the following questions in order to ensure victory :

1) Do I know my TD's abilities and stats ?
2) What's my role in the combined arms team ?
3) Is deploying the TD a good choice depending on my Army Group's deployed units and the enemy's units ?
4) Am I reasonably good at dealing killing blows (last hitting) ?
5) Do I know there's no "I" in TEAM and that combined arms is the only way to win ?
6) Do I have that "Yankee ingenuity" in order to adapt to every situation I might encounter on the battlefield ?
7) Every TD crew has some basic mathematical knowledge, so do I know what are a logarithm, an exponential and a derivative ?
8) Do I realize that the officer who wrote this Field Manual (the guide writer) has more than enough experience to know that conventional weapons (Kelen's Dagger/Stygian Desolator) are most of the time inferior to newly developed weapons and tactics ?

If you answered no to a question, especially questions 7) and 8), stop reading, don't vote at all and return playing your subpub DotA servers. Otherwise, continue.

Every unit on the battlefield has its pros and cons, and the TD is no exception :


PROS :

- The skill that allows you to fight heavy tanks and survive to tell about it
- The skill that grants you magic immunity and attack speed
- The skill that slows the enemy and heals anyone who attacks the enemy
- The skill that hides you in creeps, allows you to kill them, regenerate HP and nuke in a 700 AOE
- The skill that... Very decent Agility and Intelligence growth
- Superb casting animation
- Good starting Strength (Only Doom and Treant Protector have a better starting Strength in DotA...)
- Rather easy last hits
- Above average movespeed ; you're a TD after all !
- Destroying enemy tanks is a huge ego and morale booster !

CONS :

- In order to improve armor penetration, fights enemy tanks at effective range for its attacks, i.e. is melee
- Rather low Strength gain for a Strength hero
- No true escape mechanism
- No stun
- Low starting armor



II. Stats' Analysis

Here are the TD's raw stats :

* Strength: 25 + 2.4
* Agility: 18 + 1.9
* Intelligence: 15 + 1.75

* Attack Animation: 0.39 / 0.44
* Damage: 57 - 67
* Casting Animation: 0.01 / 0.01
* Armor: 1.52
* Base Attack Time: 1.7
* Movespeed: 315
* Missile Speed: Instant
* Attack Range: 128(melee)
* Sight Range: 1800 / 800

These stats are pretty decent for a Strength hero, except for the Strength growth, which is a bit under average (for a Strength hero), which means there may be a small lack of Strength late game, though you've got multiple skills to make up for it.

The Attack Animation is rather good, though you can cancel the Backswing Animation. Though there is some variance, Damage is good, and because you're melee, every time (okay, 90% of the time...) you hit a creep for a last hit/deny, you should be successful. Casting Animation is one of the shortest in DotA. Armor is low for a melee hero, so don't take too many hits early game. Base Attack Time is average, while Movespeed is above average.



III. Skills



Quote:
Rage



N'aix goes into a maddened rage, becoming immune to magic spells and gaining increased attack speed.

Level 1 - 30% increased attack speed and magic immunity, 2.5s duration.
Level 2 - 45% increased attack speed and magic immunity, 3.25s duration.
Level 3 - 60% increased attack speed and magic immunity, 4s duration.
Level 4 - 80% increased attack speed and magic immunity, 4.75s duration.

Level 1: 75 mana, 15 sec cooldown.
Level 2: 75 mana, 15 sec cooldown.
Level 3: 75 mana, 15 sec cooldown.
Level 4: 75 mana, 15 sec cooldown.
Your free Black King Bar, furnished with a temporary Hyper-Hyperstone ! Because you have an ultra-low casting animation, you can press on Rage's hotkey at the last moment in order to avoid that projectile spell.

This skill, combined with Feast and the right items, allows you to deal effectively with heavy tanks, carries and support heroes, as I'll elaborate later.


Quote:
Feast



Regenerates a portion of an enemy's current HP and deals the same portion per attack.

Level 1 - 4%.
Level 2 - 5%.
Level 3 - 6%.
Level 4 - 7%.

Notes

• Damage type: physical
• Does not work on Roshan.
• Works against magic immune units.
• The heal is independent of the damage.
The skill that makes Lifestealer a...lifestealer. Read carefully the notes ; every time you attack a target (except Roshan), 2 things happen.

The first is an additional bonus damage that is added through a trigger to your attack, which means it can't be used for lifesteal (Helm of the Dominator, Vladimir's Offering, etc.), nor cleaved, nor augmented by Command Aura, nor boosted by Quelling Blade for last hitting. Neither is Feast affected by a Critical Strike. Of course, that damage will be reduced by armor. Also note that it's proportional to the enemy's current HP, which means that on average, it can lead to devastating DPS, especially with very high attack speed. For those who had that idea, sorry, Feast doesn't pass to illusions. The added damage is also a slight help for last hitting.

The second is whatever kind of target you're attacking, whether heavily or lightly armored, you'll be healed for a percentage of their current HP ; it doesn't matter if you're attacking a hero that has -20 of armor or +50, you'll be healed for exactly the same value. Consequently, there is only one way to maximize that healing effect ; reach the +400 IAS !

Another advantage of Feast is that it works when you attack illusions.



Quote:
Open Wounds



N'aix rends the enemy, slowing his movespeed and allowing his allies to feast on his life force, regenerating a portion of the damage dealt. The victim slowly recovers movement speed over 8 seconds.

Level 1 - Slows enemy ; marks target for Open Wounds effect of 15% heal-on-attack.
Level 2 - Slows enemy ; marks target for Open Wounds effect of 20% heal-on-attack.
Level 3 - Slows enemy ; marks target for Open Wounds effect of 25% heal-on-attack.
Level 4 - Slows enemy ; marks target for Open Wounds effect of 30% heal-on-attack.

Level 1: 110 mana, 24 sec cooldown.
Level 2: 110 mana, 20 sec cooldown.
Level 3: 110 mana, 16 sec cooldown.
Level 4: 110 mana, 12 sec cooldown.

Notes

• Open Wounds slows by 80% / 70% / 60% / 50% / 30% / 10% / 10% / 10%, the slow decreasing one step per second.
• All damage dealt will steal life, including damage from spells.
Another trademark skill, it slows any enemy significantly and heals every allied hero, including you, that is dealing damage at the enemy, even non-physical damage. Note that the main use is the slow, the healing being a nice bonus.

Another advantage of Open Wounds is that it works when you attack illusions.


Quote:
Infest



The Lifestealer tears its way into the unfortunate body of a target unit, laying dormant and undetectable inside its living frame until he is ready to come to form. When he comes out of the unit, he deals damage to all nearby enemy units. If the infested unit is an enemy, the Lifestealer will devour it first, gaining the health the unit currently has.

Level 1 - 150 damage
Level 2 - 275 damage
Level 3 - 400 damage

Level 1: 50 mana, 100 sec cooldown.
Level 2: 50 mana, 100 sec cooldown.
Level 3: 50 mana, 100 sec cooldown.

Allowed Targets :

Level 1: Enemy non-hero units, allied units
Level 2: Enemy non-hero units, allied units
Level 3: Enemy non-hero units, allied units

Casting Range : 150

AOE : 700
A semi-escape mechanism, as you need to be very near of a creep in order to use it. If you're using it to replenish your HP, target an enemy creep that has a very high CURRENT HP and consume it fast.

This skill can also be used to surprise the enemy by infesting one of your creeps (or allied hero...), and when that creep gets near him, pop out of the creep and eat that enemy !

If you use it in order to survive, try to cast it on an enemy creep that has more than half HP ; while in that creep, all the enemy can do is watch you traveling in the creep till it dies, whether by your team's damage or by your sudden need to consume it !

Because of 6.72's constant 100 second cooldown, this skill isn't that great for jungling, and should be used only when really necessary.

Since 6.72, this skill also deals a not-so-negligible AOE nuke ; in the case the enemy is out of your melee range, but low on HP and there's a friendly unit/enemy creep near you, just Infest and nuke the area...




IV. Skill Build

As the battlefield is fluid, skill builds too are fluid and should be adapted according to what you're facing and with whom you're laning, or if you're jungling.

The laning build :

1. Rage/Open Wounds/Feast
2. Feast/Rage/Open Wounds
3. Feast/Rage
4. Open Wounds/Rage
5. Feast/Rage
6. Infest
7. Feast/Rage
8. Rage/Feast
9. Rage/Feast
10. Rage/Feast
11. Infest
12. Open Wounds
13. Open Wounds
14. Open Wounds
15. Stats
16. Infest
17-25. Stats

This skill build is pretty straight-forward ; at level 1, you essentially have to choose whether you need that magic immunity to evade that First Blood attempt, or whether you need that slow so YOU can make that First Blood. If none of these are desired, Feast is the remaining logical choice. At level 4, you have at least 1 level of Rage and Open Wounds, so you have enough flexibility for a kill/saving your ass. Then, the first skill to be maxed is either Feast or Rage. Maxed Feast gives you that little extra HP regen if you occasionally hit a full HP creep/hero, and gives you the possibility to go jungling a bit if necessary, while a maxed Rage is in case the lane where you are is full of stunners/disablers or you're very aggressive and have some help to pwn your laning enemies. Finally, Open Wounds is maxed for the lower cooldown and for the greater healing that can make you outlast some carries.

However, that skill build is completely inadapted for jungling, so here's one for jungling :

Jungling build :

1. Feast
2. Rage
3. Feast
4. Open Wounds
5. Feast
6. Infest
7. Feast
8. Rage
9. Rage
10. Rage
11. Infest
12. Open Wounds
13. Open Wounds
14. Open Wounds
15. Stats
16. Infest
17-25. Stats



V. Starting Items



Any combination of these items is good for early game.

My personal favorite starting items are the following :



The reasons why these items are my favorite is because you're pretty tanky early game against any type of damage, the damage is quite good for last hitting and you've got plenty of HP regen with 1 Tango kit and 1 Salve.

But when jungling, you need one of the 2 following combos :



or



As you can see, there's either 2 Stout Shields or a Stout Shield and a Ring of Protection. The reason is without at least 2 of these protective items, the neutrals are gonna hurt you more than you can heal with Feast, resulting in the embarrassing situation often seen by my mates :

Quote:
Kenshiro has been killed by Neutral Creeps.
Another reason for this happening was that I use choke point jungling. So have 2 Stout Shields or a Stout Shield and a Ring of Protection, and you'll have eliminated a cause for receiving the Rise of the Noobs award !


Because your Army Group has support units (heroes), a supply truck (courier) should be available so you have at least the following inventory :



The STR Power Treads are the obvious boots of choice because it gives survivability, and the IAS has a wonderful synergy with Feast. As a side note, abuse from stats manipulation with Power Treads ; if you need to regenerate some HP/mana, put it in Agility to get more from your Tangoes/Salves/Magic Wand. Magic Wand is a great item for the burst HP regen. TP scroll is mandatory for surviving/ganking/farming in a free lane.



VI. Core Build

This is the Core Build you should have :



Plus one of the following :



BCT and AIT are finished, Soldier, you and your TD crew can now hunt enemy tanks (carries and support heroes are also possible targets). Armlet of Mordiggian is here to make you tankier and significantly boosts your DPS. Hyperstone is for the wonderful synergy with Feast (DPS and self-healing) and because it upgrades into Mjollnir or Assault Cuirass, 2 great items on the TD. Note that if you plan on getting Mjollnir AND Assault Cuirass, you can get the 2 Hyperstones before upgrading them, as it's a very cost-effective solution as shown later.

Urn of Shadows, Medallion of Courage and Ring of Basilius all serve one purpose ; to help you keep enough mana for a kill. Depending on your playstyle and the current in-game situation, choose which item fits best your needs.

WTF WHERE IS THAT STYGIAN DESOLATOR ? NOT IN THE CORE. Indeed, as I'll prove a bit later, Stygian Desolator is bested by at least 2 other items (hint : They're based on an Hyperstone...).

WTF WHERE IS THAT KELEN'S DAGGER ? NOT IN THE CORE. Indeed, as I'll prove a bit later, the real question is whether you get a Kelen's Dagger OR an Hyperstone, and what counts isn't getting instantly or not at the enemy, it's in a given time and depending on the reaction possibilities (stun, blink, running away, etc.) of the enemy, what kills him the fastest. Also remember question 5), and you'll see that you don't necessarily need Kelen's Dagger for maximum efficiency.



VII. Situational Items





If you're a jungling god that manages to get that item extremely fast (a commonly accepted value is before the 8-10th minute mark) AND you think that you can delay a bit your core items, you can take that item, as N'aix is one of the few heroes that can fully benefit from the Transmute and the +30 IAS because of jungling and Feast respectively.





OMG, Kelen's Dagger in Situational Items, this guide is n00b, 1/10. As explained above, Kelen's Dagger allows you to cut a few to several seconds depending on how the targeted enemy reacts to seeing you (stun, slow, running away, or on the contrary, running TOWARDS you) when you attack them. These seconds can be lost considering the alternative, cost and inventory slot wise, of getting an early Hyperstone, depending on how beefy the enemy is, your attack speed, your damage, armor reduction, etc.

Defensively, it offers little to no benefits IF you and your team are coordinated a little bit, and supposing the enemy team is coordinated too. With Observer Wards (and maybe Sentry Wards), a good percentage of the incoming ganks are gonna be detected, so you don't need Kelen's Dagger to survive ; a simple TP scroll will do the job, especially coupled with Rage.

If for some reasons the gank went unnoticed, the probability that you could use Kelen's Dagger to get out of harm's way is also pretty small, as a well done gank will come from multiple directions at the same time, offering little to zero time of reaction, rendering Kelen's Dagger nearly useless. In that case, all you can do is maybe hit the enemy when you're not stunned, and Rage plus Hyperstone plus Feast makes you live for quite a long time, while giving you a very high chance to kill the hero you've got in your sights.

However, later in the game, Kelen's Dagger gets more interesting ; the reason is, depending on what kind of heroes you're facing, getting additional IAS or damage won't cut as much the time between first look-first kill as closing the distance instantly with Kelen's Dagger. Of course, place your team's interests FIRST, and if your team's interests are requiring you to kill as quickly as possible someone through your damage only, i.e. they want to focus someone else and don't need any kind of additional team-oriented item you could buy and wield for them, Kelen's Dagger is the answer.





If your team needs an additional slow, feel free to get the cheap yet useful Orb of Venom. It also makes juking attempts by enemy Kelen's Dagger users near impossible because of the 4-second Poison Attack.





Although it rarely happens, you sometimes need more than 4.75s of magic immunity, and that's the answer. Note that the red warning is an old issue that isn't relevant anymore.





Linken's Sphere is for even more specific cases ; it's useful when some particular heroes have spells that can get through your magic immunity, like Doom or Fiend's Grip, which are stopped by Linken's Sphere. Surprisingly, it's a very effective counter to Naga Siren's Ensnare, as the spell is blocked but Linken's Sphere isn't placed on cooldown !






Very useful if there's an annoying blinker or a very dangerous spellcaster that can disable a whole team ; remember question 5), you don't want to be the last surviving guy in your team !





It may be an option, because you benefit fully from everything it gives ; the Agility and raw IAS are better used than on any other Strength hero, because of Feast. With the Core items, you should have a quite high attack speed in order to proc the Greater Maim. Note however that this item is truly useful only if your team lacks in stuns/slows, and that it's inferior DPS wise than other options.





If for whatever reason you need to make an even tankier Lifestealer than he already is, Satanic is the best choice because of his rather high DPS, although sadly Feast's damage can't be used for lifesteal.




Heart of Tarrasque is very situational ; in fact, I consider it almost rejected. The main reason you'd get that item is for increased beefiness ; the question then is against what kind of damage. Against physical damage, Assault Cuirass and Butterfly, even Satanic make a better job besides being better for the DPS. Against magical damage, it might be an option if your team (and probably you too) fail so much that you always get focused by nukers in teamfights so quickly that you don't even have the time to activate Rage and/or Armlet. And even in that case, Satanic serves you probably better in most cases as the HP difference with Heart of Tarrasque is more than compensated with a few seconds of Unholy Rage.




Eye of Skadi is nearly as situational as Heart of Tarrasque, for the same reasons about tankiness. At least, it's superior because +25 AGI and +25 STR is better for the DPS most of the time than +40 STR, you've got a very good slow, and it's easier to farm as the costliest component is more than a grand cheaper.





VIII. Luxury Items

Besides your standard M82 APC-T (Armor Piercing Capped-Tracer) projectiles, Ordnance Department can supply you additional materiel :




Improved training allows your crew to fire shells much faster at the enemy, with 25% of the shells being M71 HE for AOE effects. Additional MG mounts (Static Charge) allows you to defend yourself on some attacks.

Definitely the best item for the TD in most cases and on par with the following item in the other cases. If you plan to get Mjollnir, you can skip the Hyperstone to get Maelstrom first for pushing purposes, faster jungling or simply faster farming. If you see an enemy farming a Radiance, get Mjollnir so he can taste Static Charge !





Widespread distribution of T30E16 HVAP-T (Hypervelocity Armor Piercing-Tracer) through your TD platoon improves armor penetration. At the same time, your dedicated training with your TD platoon boosts its firing rate. And your security-concerned attitude about your whole TD platoon makes you order all the crews to add appliqué armor for enhanced protection.





Your TD crew has the chance of getting a few T33 AP-T shots, the best you can get for piercing armor.

Although Stygian Desolator makes every hit hurt a lot, it's not as good as the 2 previous items for 4 reasons ; the self-healing isn't as good because there's no IAS, and the time needed to kill someone isn't as good because of the very nature of N'aix, whose Feast is the equivalent of such great damage, though variable, that it emphasizes on IAS and not that much on damage. The -armor debuff is only useful to your team at the conditions that you hit one enemy with it, AND your team wants to hit that enemy, 2 conditions that are absolutely not needed with Assault Cuirass/Medallion of Courage. Finally, it's an orb effect and buff placer, meaning you can't use Orb of Venom. The only advantage Stygian gives is a faster tower-razing, as it now reduces the buildings' armor.





M71 HE on every shot for greater AOE effect.

This item should be considered if Mjollnir alone doesn't do the job of clearing tight enemy groups. Don't forget that the cleave doesn't care about the armor value.





Enhanced training and brand new sights provides you a higher probability to achieve mobility and firepower kills, which can lead to catastrophic kills.

This item is the best option for dealing with carries, as they most of the time have a Black King Bar, being therefore near-invulnerable to spells, and rely on lifesteal and their DPS to keep them alive. Frequent bashes thanks to Rage and the core items lead to a drastic reduction in their DPS, and therefore their survivability. It also raises your team's survivability significantly as a side effect.





Improved camouflage give the enemy a hard time estimating your position, making them miss some of their shots.

This is the item you should get if you don't go for an Assault Cuirass, as it's the best item for survival against physical damage, as proved below :



If you compare what Assault Cuirass and what Butterfly gives you for the survivability side, you have to compare the effect of +15 armor versus +30% Evasion.

The damage coefficient in the positive armor value region is :

C(A) = 1/(1 + 0.06*A), where C(A) is the damage coefficient, A the armor.

One wants to know at which value of armor the +30% Evasion effect is equal to +15 of armor, so one gets the following equation :

C(A+15) = 0.7*C(A)

With a few manipulations, it's easy to find the armor value :

1/(1+0.06*(A+15)) = 0.7/(1+0.06*A)

=> 1+0.06*A = 1.33 + 0.042*A
=> 0.018*A = 0.33
=> A = 18.33

It seems to be quite a big value for N'aix. Indeed, a naked level 25 N'aix has only 10.7 of armor.

But the problem above favors Assault Cuirass by neglecting one important fact ; to be more accurate, one has to take into account that Butterfly also adds armor through the +30 Agility, so one has to start with the following equation :

1/(1+0.06*(A+15)) = 0.7/(1+0.06*(A+0.14*30))
=> A = 4.33

This calculation shows that when the Tank Destroyer reaches 4.33 of armor, getting an Assault Cuirass grants as much survivability as getting Butterfly. Beyond that value, Butterfly is simply better, and you go beyond that value because you do get Armlet. The only case I can think of where getting Assault Cuirass is BETTER than getting Butterfly for the survivability is when there's massive armor reduction coupled with a carry with Monkey King Bar with True Strike activated, such as when an enemy Slithereen has cast Amplify Damage on you and then Phantom Assassin attacks you with a Monkey King Bar in her inventory.



For the DPS side, Butterfly can be superior to Assault Cuirass depending on how much damage you deal and the enemy's armor. Check Malle's wonderful armor reduction/damage amplification, found in EcceLex's Slardar guide if you want to calculate a bit. Of course, if someone else on your team is already wearing an Assault Cuirass, Butterfly is superior to Assault Cuirass for the DPS.

Note that if no one gets Assault Cuirass, it's better that you get it for the sake of the team.

Another note about Butterfly ; the Talisman of Evasion only costs 1800 gold and already grants you an impressive +25% Evasion. It is not always necessary to complete Butterfly immediately, as it "only" grants you an additional +30 damage, +30 Agility, +30 Attack Speed and +5% Evasion. The 4200 gold you've saved can be reinvested somewhere else (Battlefury costs only 4350 gold, Stygian 4400 gold, Maelstrom 2700 gold, etc.)





If the enemy uses camouflage to evade your incoming shots, a new set of higher-power binoculars and your excellent gunner's eyes will prove them that every of your shots hits the mark !





A fresh new gun barrel makes your shots more accurate, giving you a high probability to hit a critically weak spot on the enemy tank.

This item should be considered only very late in the game, as raw damage (The Critical Strike can be considered as additional raw damage.) gets effective only after you have a pretty high IAS on N'aix.





In order to win the war once and for all, you've been supplied secret experimental ammo, that's highly effective against all kinds of targets. Its power is so great that if it were to fall into hostile hands, reverse engineering would allow them to use it against you !

That's the kind of "5-6th inventory slot" item you can consider, because once you've got a very high IAS, +250 damage will make more bang for the buck than more IAS.




"In 48 hours !" Amazing speed gets you on the battlefield quicker than ever recorded in History !


BUT I WANT TO UNDERSTAND WHY THE ENGINEERS (AND A LATER-FAMOUSLY-KNOWN THEORETICAL PHYSICIST) AT ABERDEEN RECOMMEND ME TO USE THEIR NEWLY TESTED ORDNANCE AND NOT BATTLE-PROVEN EQUIPMENT (I.E. STYGIAN) ALL THE TIME ! YOU GOT THAT G.I. BILL SO GO TO THE UNIVERSITY AT THE END OF THE WAR ! READ THE FOLLOWING BOX !



What's interesting with the Lifestealer is that as soon as he gets an Armlet, he gets tanky enough to withstand a couple of stuns/nukes and then regenerate his HP extremely quickly because of Rage, Feast and Open Wounds, so all one has to do is to simply optimize his DPS. Higher DPS also means less time alive for the enemy, so at the end you and your team also take less damage.

The first thing to know is the damage coefficient, i.e. what percentage of your physical damage gets through the enemy armor, that I call C(A), in function of the enemy's armor A. That function is as follows :

C(A) = 2 - (0.94)^(-A) for A < 0
C(A) = 1/(1 + 0.06*A) for A >=0

This gives you the following C(A) chart and C(A) graph :





This image has been resized. Click this bar to view the full image. The original image is sized 753x574.




Note that contrarily to EcceLex's Slardar guide, the C(A) graph doesn't go in the extremely negative values ; that's because negative armor has a cap of -20.

When one knows C(A), one generally starts to calculate the DPS, so one knows what is the rate at which the enemy loses his HP, -dHP/dt, or let's call it EDPS (Effective DPS), which is simply :

EDPS = C(A)*DPS

The problem with the Lifestealer is that his DPS varies with the time, or more precisely, with the targeted hero's HP ; one could actually calculate what's the average DPS, but that's not as meaningful as the time needed to kill someone, tf, and because tf is necessary anyway if one wants to compute the average DPS.

Before any uninformed stupid criticizes the following equations/graphs, here are the assumptions made in order to solve the problem :

1) All the computations are made assuming that you make CONTINUOUS attacks (infinitely fast attacks with infinitely small damage per attack), and not DISCRETE attacks (Attacks that you can actually count using natural numbers or your fingers...), meaning that tf isn't exactly what you'll encounter on the battlefield. For example, if you actually need 5 attacks to kill someone, the tf value shown in the graph can be the time needed to land 4.5 attacks, so it's a bit misleading.

The point is that whenever you see someone talk about DPS, they make that assumption as they multiply the attack speed by the average damage per attack in order to get the DPS, but nevertheless, it's a commonly accepted metric in order to judge the firepower in-game.

Another reason is that using continuous attacks, or DPS with other heroes, instead of discrete attacks provides you a pretty accurate value of the AVERAGE tf value for small variations of the parameters that affect the problem (A small variation in HP, regen, armor, damage made by your mates, or even your damage's variance, etc.). In another field, such as physics, one can for example have an electron cloud (You could replace the electrons by marbles, it works as well...), where each each electron i has a known position (xi,yi,zi). If you want to calculate the electron density (How many electrons are there for a given volume ?), you'd just count the total number of electrons in the volume and divide it by the volume. The problem is that density, if you move across space, doesn't stay constant at an average value if you keep using smaller and smaller volumes, and in the extreme case the size of the volume you use for computing the density is of the order of the electron's volume itself, depending on the position, that density can vary from zero to 1 over the volume occupied by the electron. In order to calculate a density that is more averaged, one simply uses a bigger volume by using a sphere centered at a given position (x,y,z), with a radius way bigger than the electron's radius. That idea of averaging around a position is the same as averaging with the tf values ; the difference is that the "position" isn't spatial coordinates, but all the variables that may affect the problem.

The final reason is it's also much simpler to code the problem with continuous attacks...

2) The enemy's armor stays constant during the time you attack them.

3) Except for one graph, all the graphs neglect what's probably closest to taking into account the "first strike" effect. Everyone knows that the time between each attack is BAT/(1+(IAS/100)), but it's clear that if you add a few tenths of second (for the frontswing attack animation) to that value, you can deal 2 blows in that time frame.

The reason is that I was unaware of that effect until recently, but nevertheless, that effect is mostly visible the more damage/armor reduction you have, but even in that case, the effect isn't as big as one could think of.

Even if you really think it's that important, unless you start stacking Divine Rapiers and you've got a huge armor reduction, like being able to keep the enemy's armor below zero all the time, you won't be able to kill someone in one blow, and for equal DPS (Or in N'aix's case, equal tf) between 2 item builds that provide different damage and IAS, the higher IAS, and therefore lower damage, item build makes you waste less DPS on average, as the maximum possible damage wasted on the killing blow is lower.

Another plus of getting the item build providing the most IAS (between 2 item builds giving the same tf) is that you've got a much faster healing through Feast.

4) Enemy HP regen and lifesteal are set to zero, though they can be easily accounted for by modifying the "a" term in the equations. Burst HP regen or HP regen that varies with time/remaining health are a bit trickier to account for, but it's not that important nor frequent.

5) Damage block is set at zero, though the average effect is easy to compute by modifying the "a" term (Proof is left at the student reader's discretion !).

6) Evasion is neglected ; its effect is simply multiplying tf by a certain value if the attack speed remains constant (Proof is left at the student reader's discretion !).

7) Every graph starts with Lifestealer activating Rage level 4 (and Armlet if it's in the inventory), and not using Rage after the initial 4.75s. When tf is greater than 15 seconds (Rage's cooldown), it's true you can activate Rage a second time, but anyway what are the probabilities you'll face someone surviving for 15 seconds of continuous (with the meaning that there's no pause here, not the discussion as in point 1) attacks AND you being still alive ? I bet it's as close as you being able to blink WHILE Fireblast's projectile flies and dodge it, i.e. extremely close to zero...

The other reason is that if one wants to use Rage every 15s in the graphs, it makes the code a bit more complicated...

8) N'aix has Feast level 4.

9) When talking about Mjollnir, Chain's Lightning effect is considered to be the same as removing 30 HP per attack to the targeted enemy, i.e. it has a normal 25% magical resistance and no magic immunity.

The point here is that it's true there probably will be an enemy using a Black King Bar/Hood of Defiance/Pipe/etc., but the fact is nobody can stay forever magic immune (except some neutral creeps...), nor does everyone have an additional spell resistance. Additionally, if you gank/start a teamfight well, a BKB wielder won't necessarily have the time to activate it. If one completely neglects the Chain Lightning effect, it makes Mjollnir a bit less attractive, but don't forget that something equivalent on average to +30 pure damage is something that gets (relatively) way more effective than for example +30 physical damage the more armor the enemy has.

So for all the Mjollnir haters that say Mjollnir is just a +24 damage with +70 IAS that's completely useless because of BKB, start actually using it and stop theorycrafting ; Mjollnir's not good on every hero, but neither is every item.

It should be also remarked that Static Charge isn't accounted for.

10) Unless told otherwise, each graph represents a level 16 Lifestealer with Strength Power Treads, Magic Wand, Armlet of Mordiggian, Urn of Shadows, and of course the item we're considering. In some cases (the double Hyperstone option for example), unless you want to play without TP scrolls, you'll lack an inventory slot ; it's left to you to decide what item you'd want to sell, but for the argument's sake, and because a few stats points less won't affect dramatically the results, all the forementioned items are kept in the inventory.

11) The targeted hero stays still.


Note that these computations were made for the 6.71b ; in 6.72b, the only thing that changed a bit is Mjollnir's buff with +80 IAS now, so it's even better than shown in the following graphs.


So, let's start with the following equations :

This image has been resized. Click this bar to view the full image. The original image is sized 601x648.


The first equation tells you that the rate at which the enemy loses HP depends on its current HP (because of Feast), which itself depends on time. That's the differential equation (An equation that has at least one derivative somewhere.) that is the core to understanding the problem.

Doesn't that equation remind you something ? Radioactive decay, such as with the well-known carbon 14 ? A falling ball subject to gravity and a drag force proportional to its speed ? Predator-prey equations (Okay, it's a bit simpler here...) ?

These problems you've probably YOU MUST HAVE encountered in math/physics/biology courses in high school/early university are exactly of the same type as the equation here, so if you know them, you've got the gut feeling that the HP(t) function is an exponential decay and you can stop reading, and jump to the equation showing that tf is a logarithm of HPmax, the targeted hero's initial HP. Otherwise, the intermediary steps show what is known as variation of parameters, a method developed by Lagrange for solving that kind of differential equation.

The 5th line show you the expression of HP(t), i.e. the current remaining HP at time t. By setting HP(tf) = 0, i.e. the time needed to kill someone, it becomes easy to determine the value of tf.

The 7th and 8th lines show you what "a" and "b" are ; a is the EDPS you would have if you didn't skill Feast, and b is Feast's effect. MDMG is the effective average magical damage per attack ; it's the 30 HP loss per attack with Mjollnir I talked about earlier. The last line is in the case you have zero magical damage, i.e. you have no Maelstrom/Mjollnir, that simplifies the tf expression ; that expression shows that armor and attack speed have a role in the 1/b multiplier, while damage has a minor role, because it's in the logarithm. That means that +damage items are way less effective, compared to other heroes, than +IAS items.

Note that the tf equation doesn't show the variation of the attack speed with the end of Rage after 4.75s (If the enemy can survive that long of course...), but as the codes will show, it's easy to calculate ; you just have to use the same expression for tf, but instead of using HPmax, you compute what is the current HP at 4.75s, and of course you have to add 4.75s to the final result.

However, some people may say that assumption 1) is quite a bold one, and myself I questioned how accurate this hypothesis was. Furthermore, no paper would be worthy for publication in Nature or Science without an appendix (It's an appendix, so it's absolutely not necessary to read...), so here's one :



Here, we'll treat the problem exactly, i.e. we're counting each DISCRETE attack, and there's no CONTINUOUS attack. Also keep in mind what are the variables introduced earlier, as they'll reappear here.

So here are the equations :

This image has been resized. Click this bar to view the full image. The original image is sized 632x607.


Z is simply the normal HP loss made by one attack, B the contribution of Feast on each attack, and C a convenient variable substitution. n is naturally (pun intented !) the number of the attack ; when n is an integer, that's when an attack happens.

Therefore, it's easy to compute the HP left after the (n+1)th attack in function of the HP after the nth attack, as shown at the 5th line.

Note that, with Stephen's help, we easily showed that if Z = 0, you get HP(n) = HPmax*(1-B)^n = HPmax*exp(ln(1-B)*n), which is exactly an exponential decay !

OMG, a sequence, I suck at it !

That's why you grab your phone and dial the 1-800-MAHER (phone rate of over 9000 gold/min !), who was probably the best in analysis in our class and still remembers how to solve sequences. He then turns on his "muscles of intuition", and a few minutes later, tells me the expression of HP in function of n, as shown at the beginning of the 6th line. You can verify for yourself that for n = 0, i.e. there's no attack, you obviously find HPmax, and for (n+1) attacks, you satisfy the recurrence relation at the 5th line.

A few manipulations later, you get the result at the end of the 7th line. Since B is a very small value, let's use Taylor's theorem, and let's limit ourselves to the 1st order of B. A few more manipulations, and one can show that by approximating the logarithm in the case of discrete attacks, one finds exactly the same expression of HP(t) as in the continuous case, as proven in the last line.

If you still want to treat the case exactly, the tf_discrete expression is given in the following picture (Note however that the Rage's end isn't accounted for.) :



As you can see, there's a ceiling (abreviated ceil in the picture) function in the expression of tf_discrete ; the reason is your number of attacks is discrete, and you want to be sure that after your last attack, the enemy's HP is equal or lower than zero ! For comparison, the tf expression, obtained with the previously computed continuous approximation, is given here as a comparison. As B varies with armor, it's possible to compute the ratio tf_discrete/tf_continuous in function of the armor A ; in the following chart and graph, the difference between the discrete and continuous case is assumed to be maximized, i.e. your last attack brings the enemy's HP exactly to zero and no DPS is wasted, therefore the expression of tf_discrete's lower bound is used (3rd line) :








[sarcasm] OMG, the difference is gigantic, it's more than... 6% lower than the value I calculated when A = -20 ! [/sarcasm]

Good news, you'll kill a bit faster than what I computed in the continuous approximation. By inspecting the graph, one could say that the relative difference between an item granting armor reduction, such as Stygian, and another one, is maximized in the region A = 0 (I could derivate tf_dis/tf_cont by A twice in order to find exactly the inflexion point, but I'm getting lazy. xD). So one could guess how shorter it is to kill, by computing for example the ratio of tf_dis/tf_cont for A = 3 by tf_dis/tf_cont for A = -3, which is 0.988.

What does it mean ? In the hypothetical case item X (which reduces the enemy's armor by 6) and item Y gave exactly the same results in the continuous approximation, when attacking a hero with A=3, in reality, item X will grant a slightly shorter tf, because of the discrete nature of the attacks, with up to 1.2% of time saved by using item X instead of Y. And that's about the maximum savings possible !

Since one already knows that armor reducing items tend to work a bit better when the enemy has a low armor, it won't change significantly that fact.

Q.E.D. (Quantum ElectroDynamics of course ! xD)



We can then start discussing the different items N'aix can get :

Desolator vs Mjollnir



First, the code (I use MATLAB 7.5.0, but you can try to adapt that code to other maths programs.) :



Code:
%lvl16, PT, Magic Wand, Armlet, Urn

array_tf_DESO = zeros(501,501);
array_tf_MJOL = zeros(501,501);


for (k = 1:1:501)
    
    HP = (k-1)*10;
    
    for (l = 1:1:501)
        
        A = (l-1)*0.1;
        X = A-6;
        
        if (X < 0.0)
            
            C_X = 2 - (0.94)^(-X);
            
        else
            
            C_X = 1/(1+0.06*X);
            
        end
        
        C_A = 1/(1+0.06*A);
        
        A_DESO = C_X*(2.81/1.7)*242;
        B_DESO = C_X*(2.81/1.7)*0.07;
        A_DESO_bis = C_X*(2.01/1.7)*242;
        B_DESO_bis = C_X*(2.01/1.7)*0.07;
        
        tf_DESO = (1/B_DESO)*(log(1 + ((B_DESO/A_DESO)*HP)));
        
            if (tf_DESO > 4.75)
                
                HP_bis = (1/B_DESO)*((-A_DESO*(exp(B_DESO*4.75)))...
                + (B_DESO*HP) + A_DESO)*(exp(-B_DESO*4.75));
            
            
                tf_DESO = 4.75...
                + (1/B_DESO_bis)*(log(1 + ((B_DESO_bis/A_DESO_bis)*HP_bis)));
               
            end
        
        array_tf_DESO(k,l) = tf_DESO; 
        
        
        A_MJOL = C_A*(3.51/1.7)*206 + (3.51/1.7)*30;
        B_MJOL = C_A*(3.51/1.7)*0.07;
        A_MJOL_bis = C_A*(2.71/1.7)*206 + (2.71/1.7)*30;
        B_MJOL_bis = C_A*(2.71/1.7)*0.07;
        
        tf_MJOL = (1/B_MJOL)*(log(1 + ((B_MJOL/A_MJOL)*HP)));
        
        if (tf_MJOL > 4.75)
                
                HP_bis = (1/B_MJOL)*((-A_MJOL*(exp(B_MJOL*4.75)))...
                + (B_MJOL*HP) + A_MJOL)*(exp(-B_MJOL*4.75));
            
            
                tf_MJOL = 4.75...
                + (1/B_MJOL_bis)*(log(1 + ((B_MJOL_bis/A_MJOL_bis)*HP_bis)));
               
        end
        
        
        array_tf_MJOL(k,l) = tf_MJOL;
        
    end
     
end  

[x,y]=meshgrid(0:1:500,0:1:500);
surf(10*x,0.1*y,array_tf_DESO')
shading interp

hold on

surf(10*x,0.1*y,array_tf_MJOL')




Code:
%lvl16, PT, Magic Wand, Armlet, Urn

array_tf_DESO = zeros(501,501);
array_tf_MJOL = zeros(501,501);


for (k = 1:1:501)
    
    HP0 = (k-1)*10;
    
    for (l = 1:1:501)
        
        A = (l-1)*0.1;
        X = A-6;
        
        if (X < 0.0)
            
            C_X = 2 - (0.94)^(-X);
            
        else
            
            C_X = 1/(1+0.06*X);
            
        end
        
        C_A = 1/(1+0.06*A);
        
        A_DESO = C_X*(2.81/1.7)*242;
        B_DESO = C_X*(2.81/1.7)*0.07;
        A_DESO_bis = C_X*(2.01/1.7)*242;
        B_DESO_bis = C_X*(2.01/1.7)*0.07;
        
        HP = HP0 - C_X*(242 + 0.07*HP0);
        
        tf_DESO = (1/B_DESO)*(log(1 + ((B_DESO/A_DESO)*HP)));
        
            if (tf_DESO > 4.75)
                
                HP_bis = (1/B_DESO)*((-A_DESO*(exp(B_DESO*4.75)))...
                + (B_DESO*HP) + A_DESO)*(exp(-B_DESO*4.75));
            
            
                tf_DESO = 4.75...
                + (1/B_DESO_bis)*(log(1 + ((B_DESO_bis/A_DESO_bis)*HP_bis)));
               
            end
        
        array_tf_DESO(k,l) = tf_DESO; 
        
        
        A_MJOL = C_A*(3.51/1.7)*206 + (3.51/1.7)*30;
        B_MJOL = C_A*(3.51/1.7)*0.07;
        A_MJOL_bis = C_A*(2.71/1.7)*206 + (2.71/1.7)*30;
        B_MJOL_bis = C_A*(2.71/1.7)*0.07;
        
        HP = HP0 - C_A*(242 + 0.07*HP0);
        
        tf_MJOL = (1/B_MJOL)*(log(1 + ((B_MJOL/A_MJOL)*HP)));
        
        if (tf_MJOL > 4.75)
                
                HP_bis = (1/B_MJOL)*((-A_MJOL*(exp(B_MJOL*4.75)))...
                + (B_MJOL*HP) + A_MJOL)*(exp(-B_MJOL*4.75));
            
            
                tf_MJOL = 4.75...
                + (1/B_MJOL_bis)*(log(1 + ((B_MJOL_bis/A_MJOL_bis)*HP_bis)));
               
        end
        
        
        array_tf_MJOL(k,l) = tf_MJOL;
        
    end
     
end  

[x,y]=meshgrid(0:1:500,0:1:500);
surf(10*x,0.1*y,array_tf_DESO')
shading interp

hold on

surf(10*x,0.1*y,array_tf_MJOL')


For those who have a very keen eye and who've seen my previous versions of the graphs, the surf function calls the array_tf_DESO' or array_tf_MJOL'. Before, I used array_tf_DESO, and for some weird reason with surf, when that function called the values that were stored in a matrix, it TRANSPOSED (exchanging lines and columns) the matrix, leading to incorrect graphs ; it could be seen as the values for tf were positive for HPmax = 0, which is obviously not the case in reality. This problem has therefore been corrected, as the ' retransposes the matrix.

And now, the graphs :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




The first two graphs show the tf values for Desolator and Mjollnir in function of the target's initial HP, HPmax, and armor A. Note that because shading interp isn't used for Mjollnir, it's the black surface that represents Mjollnir, because the tight black mesh connecting each point of the graph is still there, and of course, the colored graph represents Stygian. Note that "colder" colors mean smaller values, and "hotter" means bigger, as shown on the colorbar to the right. From these graphs, one can see that in the region where Mjollnir is inferior to Desolator, it isn't by much, while the difference gets very significant in the region where Mjollnir is superior.

The third graph is easier to read as it's a top view ; therefore, the surface you see is the surface with the bigger tf values, i.e. the surface of the item performing the worst. In this case, Stygian performs less well than Mjollnir for any hero that has approximatively more than 10 of armor (There shouldn't be heroes with less than 500 HP at that point of the game...).

But wait, there's the "first strike" effect that I was discussing before. In the 4th graph, tf is the time needed to kill someone assuming that the enemy hero has already taken a first hit, dealt by you, at t=0. As one can see, Stygian does get better compared to Mjollnir, but in realistic values of the enemy's HP, that raises the armor limit by about a couple points at most, so it's nothing game-changing as we know the differences in the low HP, low armor values aren't big. Note that the first strike effect isn't a completely accurate representation of the truth either, as it neglects the frontswing attack point, which gets shorter the more IAS you have. Therefore, the truth is somewhere between the third and the fourth graph.

Consequently, for the rest of the discussions, the "first strike" effect is completely neglected.

As we now know that Mjollnir is the best item, in the case considered, the fifth graph adds the lines showing at which values of HP and armor corresponds which tf value (All the following graphs comparing Mjollnir vs Desolator that have those black lines are made for Mjollnir.). The commands that are used after using the code are :

Code:
rangeZ = 4.75:1:9.75
contour3(10*x,0.1*y,array_tf_MJOL',rangeZ,'k')
Note that I chose on purpose the 4.75 and 9.75 seconds values, as the first shows the end of Rage, and the last is the end of your BKB if you activate it at the end of Rage. So, alone with Mjollnir, BKB, at level 16, etc., you can already deal with some pretty solid tanks, like a 3500 HP with about 15 of armor, while being magic immune the whole time. Of course, a lot of focus firing can still kill you before you kill that tank, but that's pretty unprobable as you've got that superb Feast, coupled with Open Wounds, for some imba pseudo lifesteal.

"But wait, you've got teammates that deal some physical damage. Does that change the graphs ?"

It changes of course the graphs, because armor reduction helps your team. The relevant question here is "how much ?".

So all we have to do is to consider how much DPS is added by your mates. I'll use the 500 DPS and 1000 DPS values, that are realistic values ; a level 16 Drow with my Core Build (and Frost Arrows level 4 and Silence level 3) deals 520 DPS.).

The modifications in the code are where the "a" variables are declared, and have to be replaced by the following :

Code:
A_DESO = (C_X*(2.81/1.7)*242 + 500);
        A_DESO_bis = (C_X*(2.01/1.7)*242 + 500);
        A_MJOL = (C_A*(3.51/1.7)*206 + 500) + (3.51/1.7)*30;
        A_MJOL_bis = (C_A*(2.71/1.7)*206 + 500) + (2.71/1.7)*30;
So here are the graphs :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




Except for the "first strike" effect, these graphs are in the same order as in the previous group. Mjollnir is still superior to Stygian, but this time it's in the 20-ish armor values. Also note how your friend's DPS helps you kill pretty much any tank in less than 9.75s.



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.







Here, Mjollnir only gets superior to Stygian over the 30-ish armor. However, don't forget that Static Charge isn't accounted for, so it will tip the graphs a bit in favor of Mjollnir. In the same way, additional magic resistance/immunity makes the contrary. The differences remain small though, and because of that huge added DPS by your team, BKB is probably not needed, as the 4.75s line represents some pretty solid tanks already.

Therefore, what can we conclude about Stygian versus Mjollnir ? Unless the enemy has some pretty high magic resistance or a lot of BKBs, and unless your team can focus fire with huge DPS the hero you're attacking (They can focus fire someone else if you've got some AOE disable for example.), Mjollnir comes on top most of the time in terms of having the lowest tf values. Its Chain Lightning and Static Charge will also most of the time tip the odds in Mjollnir's favor.

The only case you should get Stygian is if your team deals a lot, but really a lot of physical damage, AND if no one else can wield it efficiently AND if someone else in your team already has Assault Cuirass.




Assault Cuirass vs Mjollnir



First, the code :


Code:
%lvl16, PT, Magic Wand, Armlet, Urn

array_tf_AC = zeros(501,501);
array_tf_MJOL = zeros(501,501);


for (k = 1:1:501)
    
    HP = (k-1)*10;
    
    for (l = 1:1:501)
        
        A = (l-1)*0.1;
        X = A-5;
        
        if (X < 0.0)
            
            C_X = 2 - (0.94)^(-X);
            
        else
            
            C_X = 1/(1+0.06*X);
            
        end
        
        C_A = 1/(1+0.06*A);
        
        A_AC = C_X*(3.36/1.7)*182;
        B_AC = C_X*(3.36/1.7)*0.07;
        A_AC_bis = C_X*((2.56/1.7)*182;
        B_AC_bis = C_X*(2.56/1.7)*0.07;
        
        tf_AC = (1/B_AC)*(log(1 + ((B_AC/A_AC)*HP)));
        
            if (tf_AC > 4.75)
                
                HP_bis = (1/B_AC)*((-A_AC*(exp(B_AC*4.75)))...
                + (B_AC*HP) + A_AC)*(exp(-B_AC*4.75));
            
            
                tf_AC = 4.75...
                + (1/B_AC_bis)*(log(1 + ((B_AC_bis/A_AC_bis)*HP_bis)));
               
            end
        
        array_tf_AC(k,l) = tf_AC; 
        
        
        A_MJOL = C_A*(3.51/1.7)*206 + (3.51/1.7)*30;
        B_MJOL = C_A*(3.51/1.7)*0.07;
        A_MJOL_bis = C_A*(2.71/1.7)*206 + (2.71/1.7)*30;
        B_MJOL_bis = C_A*(2.71/1.7)*0.07;
        
        tf_MJOL = (1/B_MJOL)*(log(1 + ((B_MJOL/A_MJOL)*HP)));
        
        if (tf_MJOL > 4.75)
                
                HP_bis = (1/B_MJOL)*((-A_MJOL*(exp(B_MJOL*4.75)))...
                + (B_MJOL*HP) + A_MJOL)*(exp(-B_MJOL*4.75));
            
            
                tf_MJOL = 4.75...
                + (1/B_MJOL_bis)*(log(1 + ((B_MJOL_bis/A_MJOL_bis)*HP_bis)));
               
        end
        
        array_tf_MJOL(k,l) = tf_MJOL;
        
    end
     
end  

[x,y]=meshgrid(0:1:500,0:1:500);
surf(10*x,0.1*y,array_tf_AC')
shading interp

hold on

surf(10*x,0.1*y,array_tf_MJOL')


Same thing as before, here are the graphs showing the tf values when you're fighting alone, with Mjollnir being the black surface :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




As we can see, Mjollnir is superior most of the time to Assault Cuirass. Note that the first 2 graphs has a long black band in the low armor values, but that band is cut between 250 and 1200 HP approximatively in the third graph. The third graph shows the correct values, as I checked the values stored in the matrixes in this region.

But Assault Cuirass is definitely good when it comes to teamplay, especially with a physical damage based team, so we'll compare again with an additional 500 and 1000 DPS made by your team. But don't forget the Attack Speed Aura that grants +20 IAS to every allied unit in the area. How does it translate in terms of DPS ?

In the extreme case where a hero has 0 IAS, that +20 IAS represents of course a 20% increase in DPS. But the heroes that deal the most DPS have a very high IAS, probably above +100 IAS ; with a +100 IAS, the aura increases the DPS by 10%. Therefore, I decided to use a 10% DPS bonus for Assault Cuirass, though I suspect it's a bit overestimated ; the heroes that have a low IAS don't have a 20% DPS increase with the aura as you must count their natural AGI growth and maybe their items granting them IAS, and they don't weigh that much in the team's DPS as they generally are spellcasters that have low DPS and must spend time casting...spells. And carries generally get way above +100 IAS ; for example, an AGI carry with 20 + 3.0 for the Agility stats gets at level 25, with the bonus stats, a natural Agility of 20 + 24*3.0 + 20 = 112. And these heroes wield items that grant additional IAS too...

But for the sake of simplicity, we'll stick with a 10 percent DPS increase, so the following lines in the code get replaced by these :

Code:
A_AC = (C_X*(3.36/1.7)*182 + 550);
        A_AC_bis = (C_X*(2.56/1.7)*182 + 550);
        A_MJOL = (C_A*(3.51/1.7)*206 + 500) + (3.51/1.7)*30;
        A_MJOL_bis = (C_A*(2.71/1.7)*206 + 500) + (2.71/1.7)*30;

So you get these graphs :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




The differences are small, but it seems that Assault Cuirass gets the upper hand on Mjollnir. Again, these results can change a bit depending on whether you count Chain Lightning and/or Static Charge.



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




Differences are again very small, but Assault Cuirass seems to be the favorite choice, as Mjollnir gets better only in the 37+ armor range.

Therefore, what can we conclude ?

First, as the graphs of Mjollnir and Assault Cuirass are pretty close to each other, and knowing that Mjollnir is most of the time better than Stygian Desolator, Assault Cuirass is therefore a better choice than Stygian.

For the choice between Mjollnir and Assault Cuirass, the following questions need to be asked :

1) Does your team deal a lot of DPS ?
2) Does your team need some armor, and there's no better hero to wield Assault Cuirass than you ?
3) Do you crave armor ?
4) Does the enemy team have a lot of magic resistance/spell immunity ?

If you answered yes at one or more of these questions, then feel free to get Assault Cuirass.



2 Hyperstones vs Mjollnir



But brilliant minds have already realized that N'aix loves IAS, and since Mjollnir and Assault Cuirass work so well, why not get BOTH ? I certainly wouldn't say no, and since it's an option, what about getting 2 Hyperstones instead of upgrading 1 Hyperstone just after the Core ?

First, the code :


Code:
%lvl16, PT, Magic Wand, Armlet, Urn

array_tf_2H = zeros(501,501);
array_tf_MJOL = zeros(501,501);


for (k = 1:1:501)
    
    HP = (k-1)*10;
    
    for (l = 1:1:501)
        
        A = (l-1)*0.1;
        X = A-5;
        
        if (X < 0.0)
            
            C_X = 2 - (0.94)^(-X);
            
        else
            
            C_X = 1/(1+0.06*X);
            
        end
        
        C_A = 1/(1+0.06*A);
        
        A_2H = C_A*(3.91/1.7)*182;
        B_2H = C_A*(3.91/1.7)*0.07;
        A_2H_bis = C_A*(3.11/1.7)*182;
        B_2H_bis = C_A*(3.11/1.7)*0.07;
        
        tf_2H = (1/B_2H)*(log(1 + ((B_2H/A_2H)*HP)));
        
        if (tf_2H > 4.75)
                
                HP_bis = (1/B_2H)*((-A_2H*(exp(B_2H*4.75)))...
                + (B_2H*HP) + A_2H)*(exp(-B_2H*4.75));
            
            
                tf_2H = 4.75...
                + (1/B_2H_bis)*(log(1 + ((B_2H_bis/A_2H_bis)*HP_bis)));
               
        end
        
        
        array_tf_2H(k,l) = tf_2H; 
        
        
        A_MJOL = C_A*(3.51/1.7)*206 + (3.51/1.7)*30;
        B_MJOL = C_A*(3.51/1.7)*0.07;
        A_MJOL_bis = C_A*(2.71/1.7)*206 + (2.71/1.7)*30;
        B_MJOL_bis = C_A*(2.71/1.7)*0.07;
        
        tf_MJOL = (1/B_MJOL)*(log(1 + ((B_MJOL/A_MJOL)*HP)));
        
        if (tf_MJOL > 4.75)
                
                HP_bis = (1/B_MJOL)*((-A_MJOL*(exp(B_MJOL*4.75)))...
                + (B_MJOL*HP) + A_MJOL)*(exp(-B_MJOL*4.75));
            
            
                tf_MJOL = 4.75...
                + (1/B_MJOL_bis)*(log(1 + ((B_MJOL_bis/A_MJOL_bis)*HP_bis)));
               
        end
        
        array_tf_MJOL(k,l) = tf_MJOL;
        
    end
     
end  

[x,y]=meshgrid(0:1:500,0:1:500);
surf(10*x,0.1*y,array_tf_2H')
shading interp

hold on

surf(10*x,0.1*y,array_tf_MJOL')


Then the graphs, with the "black" Mjollnir :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.


This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




As we can see, Mjollnir is better than 2 Hyperstones, but don't forget that 2 Hyperstones cost only 4200 gold ! Very keen eyes will notice that it takes about 32 seconds to kill a tank with 5000 HP and 50 of armor, which is better than the 37 seconds or so for Stygian in the same situation.

Therefore, one can conclude that Mjollnir is in every case better than 2 Hyperstones, as there isn't an armor reduction to benefit the team, but it's a tricky question to know which option to choose ; getting 2 Hyperstones costs less, but on the other hand, Mjollnir is farmed quite fast if you get the Maelstrom first, so feel free to try both options.



Kelen's Dagger vs Hyperstone


As I said earlier, Kelen's Dagger isn't in the core items, as at that point of the game, you essentially have to choose between getting Kelen's Dagger and an Hyperstone. The reason is the time that elapsed between seeing the enemy hero and killing it isn't necessarily shorter.

In this scenario, N'aix is level 14, with STR Power Treads, Armlet of Mordiggian, Magic Wand and Urn of Shadows ; the difference of time between the moment you start attacking when using Kelen's Dagger and the moment you would start attacking if you didn't have it is considered to be 3 seconds. The reason is those 3 seconds is more or less the time it takes to close the distance advantage that Kelen's Dagger can give you ; with PT, N'aix has a movespeed of 375, so it gives a distance of 3*375 = 1125, which is about the practical maximum range at which you can blink. This is valid if the enemy stands still for those 3 seconds. In reality, it can either close in, or flee, but for the argument's sake, I chose that it's still.

So here's the code :


Code:
%lvl14, PT, Armlet, Magic Wand, Urn

array_tf_KEL = zeros(501,501);
array_tf_HYP = zeros(501,501);


for (k = 1:1:501)
    
    HP = (k-1)*10;
    
    for (l = 1:1:501)
        
        A = (l-1)*0.1;
        C_A = 1/(1+0.06*A);
        
        A_KEL = C_A*(2.75/1.7)*175;
        B_KEL = C_A*(2.75/1.7)*0.07;
        A_KEL_bis = C_A*(1.95/1.7)*175;
        B_KEL_bis = C_A*(1.95/1.7)*0.07;
        
        tf_KEL = (1/B_KEL)*(log(1 + ((B_KEL/A_KEL)*HP)));
        
            if (tf_KEL > 4.75)
                
                HP_bis = (1/B_KEL)*((-A_KEL*(exp(B_KEL*4.75)))...
                + (B_KEL*HP) + A_KEL)*(exp(-B_KEL*4.75));
            
            
                tf_KEL = 4.75...
                + (1/B_KEL_bis)*(log(1 + ((B_KEL_bis/A_KEL_bis)*HP_bis)));
               
            end
        
        array_tf_KEL(k,l) = tf_KEL; 
        
        
        A_HYP = C_A*(3.30/1.7)*175;
        B_HYP = C_A*(3.30/1.7)*0.07;
        A_HYP_bis = C_A*(2.50/1.7)*175;
        B_HYP_bis = C_A*(2.50/1.7)*0.07;
        
        tf_HYP = (1/B_HYP)*(log(1 + ((B_HYP/A_HYP)*HP)));
        
        if (tf_HYP > 4.75)
                
                HP_bis = (1/B_HYP)*((-A_HYP*(exp(B_HYP*4.75)))...
                + (B_HYP*HP) + A_HYP)*(exp(-B_HYP*4.75));
            
            
                tf_HYP = 4.75...
                + (1/B_HYP_bis)*(log(1 + ((B_HYP_bis/A_HYP_bis)*HP_bis)));
               
        end
        
        tf_HYP = tf_HYP + 3;
        
        array_tf_HYP(k,l) = tf_HYP;
        
    end
     
end  

[x,y]=meshgrid(0:1:500,0:1:500);
surf(10*x,0.1*y,array_tf_KEL')
shading interp

hold on

surf(10*x,0.1*y,array_tf_HYP')


And here are the graphs, with the Hyperstone surface in black :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




As you can see, the more tanky the enemy is, the better Hyperstone gets over Kelen's Dagger. Since we know that tf is proportional to the logarithm of HPmax (For normal heroes, tf is obviously proportional to HPmax...), in a team fight, your role is to take out tanks as you are the most optimized tool for the job ; therefore, Kelen's Dagger isn't needed, at least in the presented case. Kelen's Dagger offers an improvement over other DPS items, in some cases that depend of the following factors :

1) The enemy's mobility (blink, movespeed).
2) If one of your support hero can slow/stun the hero you're attacking.
3) The enemy's HP and armor.
4) The place on the map ; sometimes, you can get very near to an enemy hero completely unseen at certain places. The time of the day also plays a role, as the night's reduced sight is an advantage for ganking if wards are placed correctly.
5) Some friendly spells that help you get near the enemy without him being able to react.
6) Your damage and IAS ; if you already have Power Treads, Armlet, Divine Rapier, Mjollnir and Assault Cuirass for example, another DPS item probably won't help you as much as Kelen's Dagger.

If you're facing an equilibrated team, there probably will be a tank, or at least someone quite resilient, so it's your job to take it down, maybe with your team's focused fire/spells ; otherwise, your team will probably work best by distributing some of its firepower/spells on the fragile support heroes, as they can take care of them quite efficiently.

If for some weird reason the enemy team decided to be a 5-paper-armored-hero-team, of course you should take Kelen's Dagger !




Feast and the Lifestealer


Now, let's talk a bit more about Feast ; Feast is a free damage skill, so for a given budget, you can invest more in IAS than you would with a normal hero. The question is : how much ?

As shown before, tf depends on the variables "a" and "b", which depend on damage and IAS for the first, and IAS for the second. In the following graphs is studied a case where a 3000 HP, 20 armor hero is attacked by a foolish N'aix without Feast, showing what are the tf values in function of the damage you deal on each attack and the IAS (The IAS indicated on the y-axis is without Rage, but Rage is still taken into account for the first 4.75s.). Armor plays a very little role in determining what's better between DMG and IAS for reducing tf ; it only plays a slight role in the "HP_bis" variable, which is the current HP at t=4.75s. Otherwise, it plays a role in the "b" variable, but its role is limited to being a multiplier to tf ; it doesn't really tell you what's better between DMG and IAS.

First, the code :


Code:
array_tf = zeros(351,351);

HP = 3000;
A = 20;

for (k = 1:1:351)
    
    for (l = 1:1:351)
        
        C_A = 1/(1+0.06*A);
        
        AS = (1/1.7)*(1 + ((l+49+80)/100));
        AS_bis = (1/1.7)*(1 + ((l+49)/100));
        
        if (AS > (5/1.7))
            
            AS = 5/1.7;
            
        end    
        
        
        if (AS_bis > (5/1.7))
            
            AS_bis = 5/1.7;
            
        end    
        
        A_DPS = C_A*AS*(49+k);
        A_DPS_bis = C_A*AS_bis*(49+k);
        
        tf_DPS = HP/A_DPS;
        
        if (tf_DPS > 4.75)
            
            HP_bis = HP - 4.75*A_DPS;
            
            tf_DPS = 4.75 + HP_bis/A_DPS_bis;
            
        end
        
        array_tf_DPS(k,l) = tf_DPS; 
        
        
    end
     
end  

[x,y]=meshgrid(0:1:350,0:1:350);
surf(x+50,y+50,array_tf_DPS')


And then, the graphs :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




Note that the graphs start at 50 DMG and 50 IAS ; it's hard, if not impossible to be under those values. For example, the average starting damage of N'aix is already at 62.

As you can see, these graphs heavily favor adding damage over adding IAS ; indeed, the point (DMG = 50, IAS = 300) has about the same effectiveness as the point (DMG = 130, IAS = 50). Also note the timescale on the right, as these are pretty big values.

Let's now compare if you add the effect of Feast, using the same 3000 HP, 20 armor hero. Here's the code :


Code:
array_tf = zeros(351,351);

HP = 5000;
A = 20;

for (k = 1:1:351)
    
    for (l = 1:1:351)
        
        C_A = 1/(1+0.06*A);
        
        AS = (1/1.7)*(1 + ((l+49+80)/100));
        AS_bis = (1/1.7)*(1 + ((l+49)/100));
        
        if (AS > (5/1.7))
            
            AS = 5/1.7;
            
        end    
        
        
        if (AS_bis > (5/1.7))
            
            AS_bis = 5/1.7;
            
        end    
       
        A_DPS = C_A*AS*(49+k);
        A_DPS_bis = C_A*AS_bis*(49+k);
        B_DPS = C_A*AS*0.07;
        B_DPS_bis = C_A*AS_bis*0.07;
        
        tf_DPS = (1/B_DPS)*(log(1 + ((B_DPS/A_DPS)*HP)));
        
            if (tf_DPS > 4.75)
                
                HP_bis = (1/B_DPS)*((-A_DPS*(exp(B_DPS*4.75)))...
                + (B_DPS*HP) + A_DPS)*(exp(-B_DPS*4.75));
            
            
                tf_DPS = 4.75...
                + (1/B_DPS_bis)*(log(1 + ((B_DPS_bis/A_DPS_bis)*HP_bis)));
               
            end
        
        array_tf_DPS(k,l) = tf_DPS; 
        
        
    end
     
end  

[x,y]=meshgrid(0:1:350,0:1:350);
surf(x+50,y+50,array_tf_DPS')
shading interp


And here are the graphs :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




These graphs still favor a bit DMG over IAS, but the difference isn't as big as before ; for example, the point (DMG = 50, IAS = 270) gives the same result as (DMG = 200, IAS = 50). Also note how the timescale shrank very significantly. To show this better, the 2 following graphs show the tf surfaces with and without Feast from different angles, the surface without Feast being black :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




This comparison shows that Feast helps a lot when you deal little damage on each attack ; therefore it's better to get a lot of IAS. This comparison also explains what we've seen in all the previous graphs, i.e. a huge love for IAS and very little for DMG.

But one thing has to be considered ; the preference for DMG or IAS on N'aix depends of the enemy's HP, as shown in the following graphs, which deal with heroes with 1000 HP, 2000 HP, 3000 HP, 4000 HP, 5000 HP, and always 20 of armor :



This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.


This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.

This image has been resized. Click this bar to view the full image. The original image is sized 1281x900.




As you can see, the more HP the enemy has, the more IAS you should have in your DMG/IAS mix in order to get the most optimal results. For those who didn't see it, the black lines are like the countour lines representing the altitude on a topographic map ; on these maps, you take the trajectory that is perpendicular to these lines in order to have the steepest ascent/descent. You have to do the same here ; if the perpendicular (at your current values of DMG and IAS) to the black line is close to 45° (measured from the horizontal axis), it means you should get 1 point of additional damage for 1 point of IAS. Under 45°, you should get more DMG than IAS, and vice versa for an angle bigger than 45°. Also note that getting over 320 IAS is nearly useless ; it's because you reach the maximum allowed IAS with Rage, 400 IAS.

So try to imagine how much DMG and IAS you have at a certain point of the game, and considering how much HP your primary target has, try to adapt your items to that situation ; contrarily to most heroes, N'aix is heavily IAS oriented, so try to find the right balance between DMG and IAS, as it's different from other carries.






IX. Rejected Items

HQ cares for its Soldiers and forbids the following things, as they are counterproductive/dangerous :



Though the increased attack speed and the movespeed bonus are highly appreciated, the increased received damage is absolutely not welcomed. Even with 4.75s of Rage, you're still susceptible to enemy fire, and it's not guaranteed you'll kill everyone during your magic invulnerability, so stuns/nukes after Rage will simply kill you. The other problem is because you're going to use Armlet of Mordiggian, the degen coupled with Berserk already hurts a lot.




Rage ? Armlet juke ? These 2 rhetorical questions tell you why you don't need these items...





Sacrificing your DPS is definitely not a good idea, even more if your team's picks are physical damage oriented (It should be the case if N'aix is chosen...).





Instaheal with Open Wounds ? OMFG imba ! If you thought a little bit about how much damage you deal with Feast each second, there's no need for Dagon, unless you're a member of LGD.sGty and you're on a rampaging pubstomp with your team !

I probably forgot some other items that merit to belong to the "Hall of Shame" for Lifestealer, but you get the idea ; most non-DPS items are rejected.





X. Best Allies/Worst Enemies


Best Allies

Here is a complete list of heroes that get better when the TD is on their team :

All of them.


More specifically, these kinds of heroes fit well with you :

Chain Stunners/Disablers



Note that Demon Witch and Shadow Shaman have 2 disables by themselves, and Tinker is here because of the Rearm-Guinsoo trick ; his burst damage is also very good.


Initiators



Self-explanatory.


DPS amplifiers



Your DPS gets, well, AMPLIFIED.


Carries



Which carry doesn't appreciate your Open Wounds ?


And now, what I consider as the ultimate friends :




Avalanche for the stun and burst damage + one of you will get Assault Cuirass which greatly benefits both + that superb Toss so you don't need Kelen's Dagger at all = WIN-WIN SOLUTION !




A stun + 2 heroes that synergize with each other so they are nearly unkillable ? Sounds pretty good for me.




Initiator ? Check.
IAS through Inner Beast ? Check.
Greater Hawk and Quillbeast to Infest and use some ninja techniques ? Check.




Paralyzing Cask for the stun, that's nice. Even better is Maledict ; because you remove the most HP in the first hits, it's pretty easy to remove enough HP in the first 4 seconds before the first "tick" and let the enemy die slowly later. And Death Ward, coupled with Mjollnir, that's simply massive deadly AOE damage !




A few of your hits + Reaper's Scythe = DEAD ENEMY !




2 skills for slowing can be handy, but what's most interesting is that when your DPS drops because the enemy's HP drops, Viper's DPS grows !




A superb initiator that regroups all your enemies so you can whack them with Mjollnir, and simply wipe them out when coupled with Empower !




This hero is so awesome that everyone ought to make a BEARD cult ! Imagine Kelen's Dagger + Berserker's Call + Static Charge + a few hits + Culling Beard = AT LEAST ONE ENEMY DEAD !


Worst Enemies

Do spellcasters pose a problem to you ? No, you've got Rage.

Do carries pose a problem ? Not really, provided you use a Cranium Basher on them.

Illusions ? It depends ; if they are numerous, you may lose a lot of time finding the real hero, and you may die. However, you know that Mjollnir is more than a valid option, and Feast works on the illusions.

Well, the heroes that may pose you a problem are the following :

ZSMJ's best farming hero



The low HP plus Mana Shield combo means you'll take quite a long time to kill her. The other problem is that even if you target the original hero, her illusions can decimate your team if you didn't take care of them.


Numerous illusion heroes




Permabashers



If they hit you first and you don't have a Cranium Basher, you're pretty much screwed !


Heroes who renders your Rage totally useless (i.e. their ultimates don't care about magic immunity)




Ghost/Ethereal form



If the enemy uses that kind of item on himself, that means you can't attack him. It is however not a complete problem ; if a support hero uses it, it means he's more vulnerable to spells, and your team ought to have some. If you're such a threat that a heavy tank or carry has to use Ghost Scepter/Ethereal, then they pretty much fail at doing there job and you've won.


OMG-IMBA-WTF-UBERIMBA-SET.LIFESTEAL(0)-HERO



Probably one of your worst nightmares, for a single reason ; Ice Blast can get through your Rage and, more or less, disables all possibilities to be healed, as your HP can't go higher than the previously stored HP value, that is refreshed every 0.1s. You can get more details here.


Omnigay



Repel makes you can't use Open Wounds on someone, or worse, remove it if you've already cast it. The Degen Aura slows both your movespeed and your attackspeed. Guardian Angel renders your attacks completely useless !

No comments:

Post a Comment