diff --git a/zone/spells.cpp b/zone/spells.cpp index fbefdad0e..4b1326bab 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -4234,7 +4234,7 @@ bool Mob::SpellOnTarget(uint16 spell_id, Mob *spelltar, int reflect_effectivenes spelltar->CastToClient()->cheat_manager.SetExemptStatus(KnockBack, true); } } - else if (RuleB(Spells, NPCSpellPush) && !spelltar->IsRooted() && spelltar->ForcedMovement == 0) { + else if (RuleB(Spells, NPCSpellPush) && !permarooted && !IsPseudoRooted() && spelltar->ForcedMovement == 0) { spelltar->m_Delta.x += action->force * g_Math.FastSin(action->hit_heading); spelltar->m_Delta.y += action->force * g_Math.FastCos(action->hit_heading); spelltar->m_Delta.z += action->hit_pitch;