From 2101c6819624f452c8a20cfee0547d28803f275d Mon Sep 17 00:00:00 2001 From: azw Date: Wed, 22 Mar 2023 07:13:43 +0000 Subject: [PATCH] 1 --- server/gameserver/team.cc | 23 +++++++++++++++++++++++ server/gameserver/team.h | 6 ++++++ 2 files changed, 29 insertions(+) diff --git a/server/gameserver/team.cc b/server/gameserver/team.cc index 1cbe68ee..97180b95 100644 --- a/server/gameserver/team.cc +++ b/server/gameserver/team.cc @@ -1,5 +1,6 @@ #include "precompile.h" +#include #include "team.h" #include "human.h" @@ -8,6 +9,9 @@ #include "bornpoint.h" #include "battledatacontext.h" +#include "mt/Map.h" +#include "mt/PveGemini.h" + void Team::TraverseMembers(std::function func) { for (Human* member : members_) { @@ -187,3 +191,22 @@ void Team::SendTeamBattleReport(Human* sender) return true; }); } + +void Team::GenBattleReportData(a8::MutableXObject* params) +{ + params->SetVal("version", 2023030201); + params->SetVal("room_uuid", a8::XValue(room->GetRoomUuid())); + params->SetVal("room_mode", room->IsPveRoom() ? 0 : 1); + params->SetVal("team_id", GetTeamId()); + params->SetVal("map_id", room->GetMapMeta()->map_id()); + params->SetVal("victory", room->IsPveRoom() ? 0 : team_rank == 1); + + if (room->IsPveRoom()) { + params->SetVal("pve_settelement_type", 1); + params->SetVal("pve_instance_id", room->pve_instance->gemini_id()); + params->SetVal("pve_wave", room->pve_data.GetPassedWave()); + params->SetVal("pve_max_wave", room->pve_data.max_wave); + } else { + } + +} diff --git a/server/gameserver/team.h b/server/gameserver/team.h index 9133fb72..a3f0946f 100644 --- a/server/gameserver/team.h +++ b/server/gameserver/team.h @@ -5,6 +5,11 @@ namespace cs class SMGameOver; } +namespace a8 +{ + class MutableXObject; +} + class Room; class Human; class Team @@ -40,6 +45,7 @@ class Team bool HasPlayer(); void FillSMGameOver(cs::SMGameOver& msg); void SendTeamBattleReport(Human* sender); + void GenBattleReportData(a8::MutableXObject* params); private: int team_id_ = 0;