From ee6df70741c787e807c0291291beb2f47d643f0c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 23 Aug 2022 15:02:12 +0800 Subject: [PATCH] 1 --- server/gameserver/hero.cc | 2 +- server/gameserver/incubator.cc | 2 +- server/gameserver/room.cc | 9 +++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/server/gameserver/hero.cc b/server/gameserver/hero.cc index 0ab68284..a558c4d4 100644 --- a/server/gameserver/hero.cc +++ b/server/gameserver/hero.cc @@ -288,7 +288,7 @@ void Hero::BeKill(int killer_id, const std::string& killer_name, int weapon_id) &xtimer_attacher.timer_list_); if (room->IsPveRoom()) { --room->pve_data.mon_num; - --room->pve_data.killed_num; + ++room->pve_data.killed_num; room->NotifyUiUpdate(); } GetTrigger()->Die(); diff --git a/server/gameserver/incubator.cc b/server/gameserver/incubator.cc index a11b34ed..48c98dd6 100644 --- a/server/gameserver/incubator.cc +++ b/server/gameserver/incubator.cc @@ -256,7 +256,7 @@ void Incubator::SpawnWaveMon(int wave) abort(); } if (room->pve_data.refreshed_mon > 0 && - room->pve_data.mon_num <= 0) { + room->pve_data.mon_num > 0) { timeout_ = true; return; } diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 1b3b7905..b8367aa2 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1187,8 +1187,13 @@ void Room::UpdateGas() if (gas_data_.gas_mode != GasInactive) { if (IsPveRoom()) { if (!IsGameOver() && - pve_data.refreshed_mon > 0 && - pve_data.killed_num >= pve_data.refreshed_mon) { + ( + incubator_->IsTimeOut() || + ( + pve_data.refreshed_mon > 0 && + pve_data.killed_num >= pve_data.refreshed_mon) + ) + ) { game_over_ = true; game_over_frameno_ = GetFrameNo(); OnGameOver();