From de5e50e09f10c1f7b6602db99be61531d112a525 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 6 Jun 2020 19:55:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8C=82bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/android.ai.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index b90a24f..917f31e 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -220,8 +220,14 @@ void AndroidAI::UpdateLastNpc() } else if (hum->room->GetFrameNo() - hum->enable_frameno < SERVER_FRAME_RATE * 1.5) { int speed = std::max(1, (int)hum->GetSpeed()); for (int i = 0; i < speed; ++i) { + a8::Vec2 old_pos = hum->GetPos(); hum->SetPos(hum->GetPos() + hum->move_dir); - hum->room->grid_service->MoveHuman(hum); + if (!hum->room->OverBorder(hum->GetPos(), hum->meta->i->radius())) { + hum->room->grid_service->MoveHuman(hum); + } else { + hum->SetPos(old_pos); + break; + } } } else if (hum->room->GetFrameNo() - hum->enable_frameno < SERVER_FRAME_RATE * 3) { Human* enemy = hum->last_human_target;