diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 02cb191..7ffdbf5 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -671,6 +671,12 @@ void Creature::ProcBuffEffect(Creature* caster, Buff* buff) if (caster == this) { abort(); } + #if 1 + skill_dir_.Normalize(); + target_pos = GetPos() + skill_dir_ * skill_distance_; + move_dir = target_pos - GetPos(); + move_dir.Normalize(); + #else float target_distance = caster->GetPos().Distance(GetPos()); if (target_distance <= 0.000001f) { SetPos(caster->GetPos()); @@ -685,6 +691,7 @@ void Creature::ProcBuffEffect(Creature* caster, Buff* buff) target_pos = GetPos() + move_dir * (target_distance - buff->meta->param3); } } + #endif } break; case kBET_JumpTo: