From 243daed3a093da53b9f3b8a5837dffd87de04d4b Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 16 May 2011 13:22:13 +0200 Subject: Core/Spells: Use spellLevel for miss chance calculations if caster is a trigger NPC and its level is lower than spell --- src/server/game/Entities/Unit/Unit.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 5bc39f39514..fc0696db0a1 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -2473,7 +2473,10 @@ SpellMissInfo Unit::MagicSpellHitResult(Unit *pVictim, SpellEntry const *spell) SpellSchoolMask schoolMask = GetSpellSchoolMask(spell); // PvP - PvE spell misschances per leveldif > 2 int32 lchance = pVictim->GetTypeId() == TYPEID_PLAYER ? 7 : 11; - int32 leveldif = int32(pVictim->getLevelForTarget(this)) - int32(getLevelForTarget(pVictim)); + int32 thisLevel = getLevelForTarget(pVictim); + if (GetTypeId() == TYPEID_UNIT && ToCreature()->isTrigger()) + thisLevel = std::max(thisLevel, spell->spellLevel); + int32 leveldif = int32(pVictim->getLevelForTarget(this)) - thisLevel; // Base hit chance from attacker and victim levels int32 modHitChance; -- cgit v1.2.3