From 3c1887aab96b11d4ae8aefb5389db0f73a469d1f Mon Sep 17 00:00:00 2001 From: _manuel_ Date: Thu, 15 Jul 2010 19:31:40 -0300 Subject: [PATCH] Fixed problems with Sacred Cleansing, by QAston. Fixes issue 546. --HG-- branch : trunk --- src/server/game/Entities/Unit/Unit.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index b3cfa7f287..6f68b50e87 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -2892,11 +2892,12 @@ SpellMissInfo Unit::MagicSpellHitResult(Unit *pVictim, SpellEntry const *spell) return SPELL_MISS_MISS; // Chance resist mechanic (select max value from every mechanic spell effect) - int32 resist_chance = pVictim->GetMechanicResistChance(spell); + int32 resist_chance = pVictim->GetMechanicResistChance(spell)*100; tmp += resist_chance; // Chance resist debuff - tmp -= pVictim->GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_DEBUFF_RESISTANCE, int32(spell->Dispel)); + tmp += pVictim->GetMaxPositiveAuraModifierByMiscValue(SPELL_AURA_MOD_DEBUFF_RESISTANCE, int32(spell->Dispel)) * 100; + tmp += pVictim->GetMaxNegativeAuraModifierByMiscValue(SPELL_AURA_MOD_DEBUFF_RESISTANCE, int32(spell->Dispel)) * 100; // Roll chance if (rand < tmp)