diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 2a513c6..2f6b7fb 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -923,12 +923,21 @@ Human* Room::GetWatchWarTarget(Human* hum) return member; } } + std::vector players; std::vector humans; for (auto& pair : human_hash_) { if (pair.first != hum->GetUniId() && !pair.second->dead) { - humans.push_back(pair.second); + if (pair.second->IsPlayer()) { + players.push_back(pair.second); + } else { + humans.push_back(pair.second); + } } } + if (!players.empty()) { + Human* target = players[rand() % players.size()]; + return target; + } if (!humans.empty()) { Human* target = humans[rand() % humans.size()]; return target;