diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 4ab73c11..4aa8e63c 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1214,6 +1214,7 @@ void Room::UpdateGasInactivePvp() } battle_start_frameno_ = GetFrameNo(); CombineTeam(); + FillTeam(); ClearPostBattleAutoFreeList(); OnBattleStart(); ShuaPlane(); @@ -1639,7 +1640,6 @@ void Room::CombineTeam() } } } while (++try_count < 20); - FillTeam(); } void Room::FillTeam() @@ -1659,7 +1659,10 @@ void Room::FillTeam() for (int i = pair.second->GetTeam()->GetMemberNum(); i < MAX_TEAM_NUM; ++i) { if (!free_team_list.empty()) { Team* b_team = free_team_list.at(free_team_list.size() - 1); + pair.second->GetTeam()->CombineTeam(b_team); free_team_list.erase(free_team_list.begin() + free_team_list.size() - 1); + team_hash_.erase(b_team->GetTeamId()); + delete b_team; } } }