diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 6f0c4873f33..6a4e5a9dbca 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -13033,7 +13033,12 @@ float Unit::MeleeSpellMissChance(Unit const* victim, WeaponAttackType attType, i if (victim->GetTypeId() == TYPEID_PLAYER) missChance += diff > 0 ? diff * 0.04f : diff * 0.02f; else + { missChance += diff > 10 ? 1 + (diff - 10) * 0.4f : diff * 0.1f; + float levelFactor = victim->getLevelForTarget(this); + if (levelFactor < 10.f) + missChance *= (levelFactor / 10.f); + } // Spellmod from SPELLMOD_RESIST_MISS_CHANCE float resistMissChance = 100.0f; |