Jump to content

[7398] Necrosis gives "out of mana" error


sanityimpaired

Recommended Posts

  • 1 month later...
  • 4 months later...

Hi.

MaNGOS/0.14.0 (* * Revision 8416 - *) for Linux_x64 (little-endian)
Using script library: ScriptDev2 (for MaNGOS 8273+) Revision [1369] 2009-08-24 13:52:29 (Unix)
Using World DB: PSDB WotLK (243)
Using creature EventAI: PSDB EventAI & ACID 3.0.0

This spell has some strange bug. Sometimes Necrosis does huge damage.

Here is the screenshot.

I don't use hight server rates.

Screenshot

Link to comment
Share on other sites

You'll notice that the character uses the "not enough mana" sound file, and this is mirrored in the combat log (as stated above). However, it is based on your rune cooldowns. If your blood or unholy runes are on cooldown (and, of course, when both are on cooldown), Necrosis will continue to fail due to not enough mana, despite the DK class not using mana at all and the skill not requiring any runes.

If you run about and don't use your runes, Necrosis will be applied on hits, and it won't use any runes. Mind Shock is similar in that, while it uses runic power, it will complain when Frost runes are on cooldown despite not needing them.

Link to comment
Share on other sites

Weird - DK spells without rune costs still have Rune costs in dbc.

While TakePower() does only check m_spellInfo->powerType, checkpower() doesn't. I think we need an additional if in CheckPower, so it doesn't check runes with no cost/ runic power cost spells.

Link to comment
Share on other sites

There is bug in calculating damage: if some magic damage reductions (like spell 50267) is GREATER than normally damage done by spell, this spell causes a lots of damage. Propably it's declaration problem: if result is smaller than 0 it incerases by 216xxxxxxx(don't remember exacly dmg :P) damage.

Example: Necrosis causes 100 dmg. Spell 50267 reduces by 146. Result should be 0, but is smaller than 0, but UINT is UNSIGNED! See wikipedia.org.

Link to comment
Share on other sites

Well yea the first 6 digits suspiciously look like 2^32 in the screenshot, which would indicate an underflow (largest possible value of an unsigned int32 is 2^32-1 = 4294967295, which is the result of casting -1 to unsigned).

However when looking closer, the combat log only displays 9 digits while 2^32 has 10 decimal digits, but maybe that has to do with further processing of the underflown value...in any case, that's pretty much sure death even to raid bosses when it happens xD

Link to comment
Share on other sites

  • 8 months later...
There is bug in calculating damage: if some magic damage reductions (like spell 50267) is GREATER than normally damage done by spell, this spell causes a lots of damage. Propably it's declaration problem: if result is smaller than 0 it incerases by 216xxxxxxx(don't remember exacly dmg :P) damage.

As i test look like fixed

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use