From 2a04599ed8f471e584b3e3f72b210a67a4f1ab1c Mon Sep 17 00:00:00 2001 From: ariel- Date: Fri, 14 Apr 2017 23:09:54 -0300 Subject: Core/Unit: implement miss chance reduction for low level mobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Source: http://wow.gamepedia.com/index.php?title=Miss&oldid=1980141 > Level is not a factor except when attacking a mob level 9 or lower. Miss chance against a low-level mob is a percentage of normal equal to the mob’s level divided by 10. --- src/server/game/Entities/Unit/Unit.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') 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; -- cgit v1.2.3