diff --git a/server/gameserver/buff.cc b/server/gameserver/buff.cc index 57311dd5..aed0a71a 100644 --- a/server/gameserver/buff.cc +++ b/server/gameserver/buff.cc @@ -367,7 +367,9 @@ void Buff::RecoverHoldWeapons() void Buff::ProcSprint() { if (caster_.Get()->IsPlayer()) { - owner->IncDisableMoveDirTimes(); + if (meta->int_param5) { + owner->IncDisableMoveDirTimes(); + } { int old_times = owner->GetDisableMoveDirTimes(); owner->SetDisableMoveDirTimes(0); diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index e9f75783..c8cdd9c1 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -686,7 +686,9 @@ void Creature::OnBuffRemove(Buff& buff) switch (buff.meta->i->buff_effect()) { case kBET_Sprint: { - DecDisableMoveDirTimes(); + if (buff.meta->int_param5) { + DecDisableMoveDirTimes(); + } } break; case kBET_HoldShield: