Index: src/game/Unit.cpp =================================================================== --- src/game/Unit.cpp (revision 5960) +++ src/game/Unit.cpp (working copy) @@ -5709,11 +5709,11 @@ //Pyroclasm if(auraSpellInfo->SpellFamilyFlags == 0x0000000000000000 && auraSpellInfo->SpellIconID==1137) { - if(!pVictim || !pVictim->isAlive()) + if(!pVictim || !pVictim->isAlive() || pVictim == this) return; float chance = 0; - switch (triggeredByAura->GetSpellProto()->Id) + switch (auraSpellInfo->Id) { case 18096: chance = 13.0f; @@ -5722,6 +5722,15 @@ chance = 26.0f; break; } + switch (procSpell->SpellIconID) + { + case 547: + chance /= 4; + break; + case 937: + chance /= 15; + break; + } if (roll_chance_f(chance)) CastSpell(pVictim, 18093, true, castItem, triggeredByAura); return;