From a883854ab1af906201128dd8e05b4b52ae993c25 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Apr 2024 20:33:20 +0800 Subject: [PATCH] 1 --- server/gameserver/room.cc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 33abca6b..a4b44afe 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -3164,6 +3164,30 @@ void Room::OnBattleStart() std::shuffle(born_point_list.begin(), born_point_list.end(), std::default_random_engine(a8::XGetTickCount())); + size_t cur_point_idx = 0; + TraverseTeams + ( + [this, &born_point_list, &cur_point_idx] (Team* ele_team) mutable -> bool + { + if (cur_point_idx >= born_point_list.size()) { + cur_point_idx = 0; + } + auto point = born_point_list.at(cur_point_idx++); + ele_team->TraverseMembers + ( + [point] (Human* hum) -> bool + { + if (hum->IsPlayer()) { + point->player_num++; + } else { + point->android_num++; + } + hum->SetBornPoint(point); + hum->SetPos(hum->GetBornPoint()->RandPoint(hum->room)); + return true; + }); + return true; + }); } battle_starting_ = false; SendSMTeamFull(nullptr);