From f95f45b1a4ef47183ebb8560dfc08a31ac10a6e8 Mon Sep 17 00:00:00 2001 From: azw Date: Wed, 22 Mar 2023 08:05:18 +0000 Subject: [PATCH] 1 --- server/gameserver/team.cc | 63 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/server/gameserver/team.cc b/server/gameserver/team.cc index d3bd0744..d2787e16 100644 --- a/server/gameserver/team.cc +++ b/server/gameserver/team.cc @@ -8,8 +8,10 @@ #include "app.h" #include "bornpoint.h" #include "battledatacontext.h" +#include "stats.h" #include "mt/Map.h" +#include "mt/Hero.h" #include "mt/PveGemini.h" void Team::TraverseMembers(std::function func) @@ -245,8 +247,67 @@ void Team::GenBattleReportData(a8::MutableXObject* params) auto members_pb = a8::MutableXObject::CreateArray(); TraverseMembers ( - [members_pb] (Human* hum) + [this, members_pb, &pvp_team_kills] (Human* hum) mutable { + pvp_team_kills += hum->stats->kills; + + auto member_pb = a8::MutableXObject::CreateObject(); + member_pb->SetVal("account_id", hum->account_id); + member_pb->SetVal("name", hum->name); + member_pb->SetVal("head", a8::XValue(hum->avatar_url)); + member_pb->SetVal("head_frame", hum->head_frame); + member_pb->SetVal("sex", hum->sex); + member_pb->SetVal("dead", hum->dead); + member_pb->SetVal("is_mvp", 0); + + member_pb->SetVal("hero_id", hum->meta->id()); + member_pb->SetVal("hero_uniid", hum->hero_uniid); + //member_pb->SetVal("hero_quality", hum->hero_uniid); + //member_pb->SetVal("game_time", hum->hero_uniid); + member_pb->SetVal("alive_time", hum->stats->alive_time); + member_pb->SetVal("rank", hum->stats->rank); + member_pb->SetVal("kills", hum->stats->kills); + member_pb->SetVal("damage_out", hum->stats->damage_amount_out); + //member_pb->SetVal("weapon_uuid1", hum->stats->damage_amount_out); + //member_pb->SetVal("weapon_uuid2", hum->stats->damage_amount_out); + //member_pb->SetVal("rescue_teammate_times", hum->stats->damage_amount_out); + //member_pb->SetVal("diving_times", hum->stats->damage_amount_out); + //member_pb->SetVal("damage_in", hum->stats->damage_amount_out); + //member_pb->SetVal("recover_hp", hum->stats->damage_amount_out); + //member_pb->SetVal("open_airdrop_times", hum->stats->damage_amount_out); + //member_pb->SetVal("use_medicine_times", hum->stats->damage_amount_out); + //member_pb->SetVal("destory_car_times", hum->stats->damage_amount_out); + //member_pb->SetVal("use_camouflage_times", hum->stats->damage_amount_out); + //member_pb->SetVal("use_skill_times", hum->stats->damage_amount_out); + //member_pb->SetVal("ride_car_move_distance", hum->stats->damage_amount_out); + //member_pb->SetVal("ride_car_kills", hum->stats->damage_amount_out); + //member_pb->SetVal("max_hero_skill_lv", hum->stats->damage_amount_out); + //member_pb->SetVal("max_hero_skill_lv", hum->stats->damage_amount_out); + //member_pb->SetVal("weapons_type", hum->stats->damage_amount_out); + //member_pb->SetVal("weapons_slot", hum->stats->damage_amount_out); + //member_pb->SetVal("heros", hum->stats->damage_amount_out); + + if (room->IsPveRoom()) { + //member_pb->SetVal("pve_order", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_score", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_star", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_damage", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_revive", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_survia_time", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_wave", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_max_wave", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_boss_killed", hum->stats->damage_amount_out); + //member_pb->SetVal("pve_rank_score", hum->stats->damage_amount_out); + } else { + //member_pb->SetVal("pvp_kill", hum->stats->damage_amount_out); + //member_pb->SetVal("pvp_damage", hum->stats->damage_amount_out); + //member_pb->SetVal("pvp_assist", hum->stats->damage_amount_out); + //member_pb->SetVal("pvp_survia_time", hum->stats->damage_amount_out); + //member_pb->SetVal("pvp_recover", hum->stats->damage_amount_out); + //member_pb->SetVal("pvp_rescue", hum->stats->damage_amount_out); + //member_pb->SetVal("pvp_personal_rank", hum->stats->damage_amount_out); + } + members_pb->Push(*member_pb); return true; });