From 4e8134e6fa40f50366102553c7b7399357473f25 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 24 Sep 2022 09:56:28 +0800 Subject: [PATCH 1/2] pve add inactive timer --- server/gameserver/incubator.cc | 2 +- server/gameserver/room.cc | 60 ++++++++++++++++------------------ 2 files changed, 29 insertions(+), 33 deletions(-) diff --git a/server/gameserver/incubator.cc b/server/gameserver/incubator.cc index 1a483c1e..7bc4b4aa 100644 --- a/server/gameserver/incubator.cc +++ b/server/gameserver/incubator.cc @@ -23,7 +23,7 @@ void Incubator::Init() if (room->IsPveRoom()) { room->pve_data.max_wave = room->pve_mode_meta->mode_time.size(); int wave = 0; - int total_time = 0; + int total_time = room->GetGasInactiveTime() * 1000; SpawnWaveMon(0); for (int time : room->pve_mode_meta->mode_time) { total_time += time; diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 1abef425..15c3ff7f 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1257,7 +1257,8 @@ void Room::UpdateGasInactive() void Room::UpdateGasInactivePvp() { - if (GetFrameNo() - gas_data_.gas_start_frameno >= GetGasInactiveTime() * SERVER_FRAME_RATE) { + if (GetFrameNo() - gas_data_.gas_start_frameno >= + GetGasInactiveTime() * SERVER_FRAME_RATE) { long long begin_tick = a8::XGetTickCount(); gas_data_.gas_mode = GasJump; gas_data_.gas_start_frameno = GetFrameNo(); @@ -1317,26 +1318,29 @@ void Room::UpdateGasInactivePvp() void Room::UpdateGasInactivePve() { - { - auto first_safearea = pve_mode_meta->area[0]; - gas_data_.gas_mode = GasWaiting; - gas_data_.gas_start_frameno = GetFrameNo(); - battle_start_frameno_ = GetFrameNo(); - gas_data_.old_area_meta = first_safearea; - gas_data_.new_area_meta = pve_mode_meta->area[0]; - gas_data_.gas_start_frameno = GetFrameNo(); - gas_data_.pos_new = a8::Vec2(gas_data_.new_area_meta->i->x1(), gas_data_.new_area_meta->i->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->i->rad(); - gas_data_.rad_new = gas_data_.new_area_meta->i->rad(); - gas_data_.gas_progress = 0; + if (GetFrameNo() - gas_data_.gas_start_frameno >= + GetGasInactiveTime() * SERVER_FRAME_RATE) { + { + auto first_safearea = pve_mode_meta->area[0]; + gas_data_.gas_mode = GasWaiting; + gas_data_.gas_start_frameno = GetFrameNo(); + battle_start_frameno_ = GetFrameNo(); + gas_data_.old_area_meta = first_safearea; + gas_data_.new_area_meta = pve_mode_meta->area[0]; + gas_data_.gas_start_frameno = GetFrameNo(); + gas_data_.pos_new = a8::Vec2(gas_data_.new_area_meta->i->x1(), gas_data_.new_area_meta->i->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->i->rad(); + gas_data_.rad_new = gas_data_.new_area_meta->i->rad(); + gas_data_.gas_progress = 0; + } + NotifyUiUpdate(); + ClearPostBattleAutoFreeList(); + OnBattleStart(); + NotifyGameStart(); + InitAndroidAI(); } - NotifyUiUpdate(); - ClearPostBattleAutoFreeList(); - OnBattleStart(); - NotifyGameStart(); - InitAndroidAI(); } void Room::UpdateGasWaiting() @@ -2436,18 +2440,10 @@ long long Room::GetGasInactiveTime() return App::Instance()->debug_params.find(1) != App::Instance()->debug_params.end() ? App::Instance()->debug_params[1] : 10; #endif - { - if (room_type_ == RT_NewBrid) { - if (creator_game_times_ <= 0) { - return MetaMgr::Instance()->newbie_gas_inactive_time; - } else { - return MetaMgr::Instance()->common_gas_inactive_time; - } - } else if (room_type_ == RT_MidBrid) { - return MetaMgr::Instance()->midbrid_gas_inactive_time; - } else { - return MetaMgr::Instance()->gas_inactive_time; - } + if (IsPveRoom()) { + return 10; + } else { + return MetaMgr::Instance()->gas_inactive_time; } } From 37209b4ca31e99b5a0e752f7912e24157a47e5e4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 28 Sep 2022 16:42:55 +0800 Subject: [PATCH 2/2] 1 --- server/gameserver/skill.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index a038218c..be5c4cec 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -79,8 +79,8 @@ void Skill::FillMFSkill(cs::MFSkill* skill_pb) minor_type_, minor_left_time, minor_cd_time_ -#endif }); +#endif } }