From 9cbec34fe786da45a3a2ef6a983e69ff0a35a252 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 6 Apr 2023 17:15:32 +0800 Subject: [PATCH] 1 --- server/gameserver/human.cc | 9 ++++++++- server/gameserver/pvedata.cc | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 8a29131e..490aa8a1 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3276,11 +3276,18 @@ void Human::CalcStats() } stats->rank = rank; if (room->IsPveRoom()) { - if (stats->pve_kill_boss) { + if (room->pve_data.pve_kill_boss) { stats->victory = true; stats->settlement_color = 1; GetTeam()->settlement_color = 1; GetTeam()->team_rank = 1; + } else { + if (GetTeam()->GetAliveNum() <= 0) { + stats->victory = false; + stats->settlement_color = 0; + GetTeam()->settlement_color = 0; + GetTeam()->team_rank = 1; + } } } else { stats->victory = stats->rank == 1; diff --git a/server/gameserver/pvedata.cc b/server/gameserver/pvedata.cc index 488ea745..c23a1012 100644 --- a/server/gameserver/pvedata.cc +++ b/server/gameserver/pvedata.cc @@ -69,7 +69,9 @@ void PveData::OnBeKill(Hero* hero) ( [] (Human* hum) -> bool { - hum->stats->pve_kill_boss = true; + if (!hum->dead) { + hum->stats->pve_kill_boss = true; + } return true; } );