diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 937bb66a..6d56a615 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1479,7 +1479,31 @@ void Room::UpdateGasInactiveNewBie() void Room::UpdateGasInactiveMoba() { - + if (GetFrameNo() - gas_data_.gas_start_frameno >= + GetGasInactiveTime() * SERVER_FRAME_RATE) { + { + const mt::SafeArea* first_safearea = mt::SafeArea::GetByType + (map_meta_->RandSafeArea()); + gas_data_.SetGasMode(GasWaiting); + gas_data_.gas_start_frameno = GetFrameNo(); + battle_start_frameno_ = GetFrameNo(); + gas_data_.old_area_meta = first_safearea; + gas_data_.new_area_meta = first_safearea; + gas_data_.gas_start_frameno = GetFrameNo(); + gas_data_.pos_new = glm::vec2(gas_data_.new_area_meta->x1(), + gas_data_.new_area_meta->y1()); + gas_data_.pos_old = gas_data_.pos_new; + gas_data_.pos_old_bk = gas_data_.pos_old; + gas_data_.rad_old = gas_data_.old_area_meta->rad(); + gas_data_.rad_new = gas_data_.new_area_meta->rad(); + gas_data_.gas_progress = 0; + } + NotifyUiUpdate(); + ClearPostBattleAutoFreeList(); + OnBattleStart(); + NotifyGameStart(); + InitAndroidAI(); + } } void Room::UpdateGasWaiting()