diff options
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 0f43e94efbb..55ccaf40468 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -10958,9 +10958,17 @@ bool Unit::isSpellCrit(Unit* victim, SpellEntry const* spellProto, SpellSchoolMa float crit_chance = 0.0f; switch(spellProto->DmgClass) { - case SPELL_DAMAGE_CLASS_NONE: // Exception for Earth Shield and Lifebloom Final Bloom - if (spellProto->Id != 379 && spellProto->Id != 33778) // We need more spells to find a general way (if there is any) - return false; + case SPELL_DAMAGE_CLASS_NONE: + // We need more spells to find a general way (if there is any) + switch (spellProto->Id) + { + case 379: // Earth Shield + case 33778: // Lifebloom Final Bloom + case 64844: // Divine Hymn + break; + default: + return false; + } case SPELL_DAMAGE_CLASS_MAGIC: { if (schoolMask & SPELL_SCHOOL_MASK_NORMAL) |