diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 9ef7048..6efeab0 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1365,11 +1365,16 @@ void Human::ProcBuffEffect(Buff* buff) a8::SetBitFlag(status, HS_Assaulting); Entity* entity = room->GetEntityByUniId(skill_target_id); if (entity) { - move_dir = entity->pos - pos; - move_dir.Normalize(); - skill_target_pos = entity->pos; - skill_dir = skill_target_pos - pos; - skill_dir.Normalize(); + if (entity->pos.Distance(pos) <= 0.000001f) { + pos = entity->pos; + skill_target_pos = entity->pos; + } else { + move_dir = entity->pos - pos; + move_dir.Normalize(); + skill_target_pos = entity->pos; + skill_dir = skill_target_pos - pos; + skill_dir.Normalize(); + } } } break;