diff --git a/server/gameserver/android.ai.cc b/server/gameserver/android.ai.cc index ad4945b..f1f5517 100644 --- a/server/gameserver/android.ai.cc +++ b/server/gameserver/android.ai.cc @@ -262,23 +262,22 @@ void AndroidAI::UpdateNewBieRoomLogic() } }); } else { - std::vector alive_humans; hum->room->TouchHumanList ( a8::XParams(), - [hum, &alive_humans] (Human* huma, a8::XParams& param) + [hum, &target] (Human* huma, a8::XParams& param) { if (!huma->dead && huma->IsAndroid() && hum->team_id != huma->team_id && !a8::HasBitFlag(huma->status, HS_Disable)) { - alive_humans.push_back(huma); + if (hum->GetPos().ManhattanDistance(huma->GetPos()) < + hum->GetPos().ManhattanDistance(target->GetPos())) { + target = huma; + } } return true; }); - if (!alive_humans.empty()) { - target = alive_humans[rand() % alive_humans.size()]; - } } last_target_ = target; }