Navigation:Home arrow Strategy arrow Crystalion's Mana Shield Discoveries Wednesday, 07 January 2009
Logo pic
Nethack? What's Nethack?

 

 
News
Submit News
Community
Strategy
News
Articles
Calculators
Community
Discoveries
Information
One on One
Strategy
Submit News
News
Community
D1 FAQ
Information
Jarulf's Guide
Mods
One on One
Scene
Strategy
Submit News
Home
About Us
Chat
Contact Us
Donate
FAQ
Forum
History
Legal Info
Link to Us
Search
Site News
 
 


 
 
Crystalion's Mana Shield Discoveries PDF Print E-mail
Written by Crystalion   
Wednesday, 13 May 1998

Bolty's Note: For about a year and a half, all players of Diablo automatically assumed that maxing your spell level of Mana Shield would result in the highest amount of damage reduction.  Crystalion, however, questioned all conventional beliefs, and while researching the Mana Shield no-stun bug, discovered a major flaw in the damage code for the maligned spell.

I've tested it now in Diablo v1.04 [using doggies, in fact]. Mana Shield with current life less than your character's level does indeed avoid stun [and knock back]. Please don't confuse repeated-blocking-"stun" with true stun [the kind that occurs if you take damage >= your character level].

That's info piece #1 [a confirmation of a previous amazing result]

So that would be surprise #2...

Well, the commonly held formula for MS "reduction" of damage is wrong. IMO the coders meant to follow the formula people have cited [example of a wrong formula: 3% reduction of damage per
level of MS up to a max. of 18%]. But what they actually did [in a simplified nutshell] was:

[please remember that all damage is actually (already) done to life, and that mana shield simply "undoes" damage to life, and spends some mana]

MS level 0: no reduction
MS level 8 and above: same reduction as level 7
MS level 1 to 7:
damageCost = damageReceived - (damageReceived / MSlevel)
if damageCost > current mana then
current life += current mana; current mana = 0
else
current life = old life [same as += damageReceived btw];
current mana -= damageCost
end if

Note: so you can see above that if you don't have enough mana to pay entirely for the damageCost then you won't get any MS bonus "damage reduction" effect at all.

What this means is that level 1 mana shield costs 2 mana for every 3 life points rescued, and is the best level to have MS. This is about a 33% savings, if you prefer percentages.

Level 7 and up MS costs 20 mana for every 21 life rescued. This is circa 5% savings, if you like to think of it that way.

But wait, there's more! Here's surprise #3...

Just like HF berserk and reflect [as I've previously noted], Diablo MS *does not check* to see if you already have a mana shield up. You can throw up as many as you like.

"Big deal" you say. "What a stupid waste of mana" someone else says. And I agree. Particularly since more than one mana shield doesn't do any good at all.

However, it can do something very very baaaaad. Each MS is an ongoing effect [ala internal spell effects and arrows] that does not end until your death or departure from the level. The so-called "sprite limit" is really a reference to the fact that only up to 124 effects can be active per level at a time. Each MS eats one of those slots.

124 Mana Shields will prevent all subsequent arrows and spell effects of any kind from occuring.

I'm inclined to think this is far more effective and insidious than the "no spells via many many firewalls" trick, which is well known.

It's kinda like a "mute" button.

[Yes, I'm being cute. No, I am indeed aware that this is another horrible bug--so what else is new?]

Bolty's Note: the two bugs mentioned here (damage reduction and 124 Mana Shield) were fixed in Diablo version 1.07, thanks to his discovery.  Mana Shield now cannot be cast more than once, and all levels of Mana Shield reduce damage by 33%.  The no-stun bug remains in 1.08.

-- Crys