diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index f6a1b1ea..e4df7067 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -1068,6 +1068,13 @@ void Human::FillSMGameOver(cs::SMGameOver& msg) p->set_pve_wave(room->pve_data.GetPassedWave()); p->set_pve_max_wave(room->pve_data.max_wave); p->set_pve_instance_id(room->pve_instance->gemini_id()); + } else if (room->IsMobaModeRoom()) { + p->set_moba_my_team_kills(GetTeam()->GetKillCount()); + if (room->GetMobaTeamA() == GetTeam()) { + p->set_moba_enemy_team_kills(room->GetMobaTeamB()->GetKillCount()); + } else { + p->set_moba_enemy_team_kills(room->GetMobaTeamA()->GetKillCount()); + } } else { p->set_pvp_settlement_type(stats->pvp_settlement_type); p->set_pvp_settlement_color(stats->settlement_color); @@ -1115,6 +1122,13 @@ void Human::FillSMGameOver(cs::SMGameOver& msg) p->set_pve_wave(room->pve_data.GetPassedWave()); p->set_pve_max_wave(room->pve_data.max_wave); p->set_pve_instance_id(room->pve_instance->gemini_id()); + } else if (room->IsMobaModeRoom()) { + p->set_moba_my_team_kills(GetTeam()->GetKillCount()); + if (room->GetMobaTeamA() == GetTeam()) { + p->set_moba_enemy_team_kills(room->GetMobaTeamB()->GetKillCount()); + } else { + p->set_moba_enemy_team_kills(room->GetMobaTeamA()->GetKillCount()); + } } else { p->set_pvp_settlement_type(stats->pvp_settlement_type); p->set_pvp_settlement_color(stats->settlement_color); diff --git a/server/gameserver/team.cc b/server/gameserver/team.cc index 851b4b28..a851dcbc 100644 --- a/server/gameserver/team.cc +++ b/server/gameserver/team.cc @@ -467,7 +467,14 @@ void Team::GenBattleReportData(Human* player, a8::MutableXObject* params) members_pb->Push(*member_pb); }; params->SetVal("members", *members_pb); - + if (room->IsMobaModeRoom()) { + params->SetVal("moba_my_team_kills", GetKillCount()); + if (room->GetMobaTeamA() == this) { + params->SetVal("moba_enemy_team_kills", room->GetMobaTeamB()->GetKillCount()); + } else { + params->SetVal("moba_enemy_team_kills", room->GetMobaTeamA()->GetKillCount()); + } + } params->SetVal("pvp_team_kills", pvp_team_kills); } diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 4fa2500e..507a9c2a 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -1321,6 +1321,9 @@ message MFSettlementNew optional int32 pve_max_wave = 203; //pve总波次 optional int32 pve_instance_id = 304; //pve副本id + optional int32 moba_my_team_kills = 501; //本队伍击杀数 + optional int32 moba_enemy_team_kills = 502; //敌对击杀数 + repeated MFSettlementMember members = 401; //队伍成员信息统计 }