From c97f7ab12cdf6d2f4f2ae1fa86e959c18d07ee1c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 18 Sep 2021 08:48:44 +0000 Subject: [PATCH] 1 --- server/gameserver/room.cc | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 0b608b0..e3ca1f5 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -889,16 +889,14 @@ Human* Room::GetWatchWarTarget(Human* hum) target = players[rand() % players.size()]; } else if (!humans.empty()) { target = humans[rand() % humans.size()]; -#ifdef DEBUG +#ifdef DEBUG1 { - target = humans[0]; - for (auto h : humans) { - if (target != h) { - if (target->GetPos().Distance(hum->GetPos()) > h->GetPos().Distance(hum->GetPos())) { - target = h; - } - } - } + std::sort(humans.begin(), humans.end(), + [hum] (Human* a, Human *b) -> bool + { + return (hum->GetPos()-a->GetPos()).Norm() < (hum->GetPos()-b->GetPos()).Norm(); + }); + target = humans[rand() % std::min(humans.size(), (size_t)3)]; } #endif }