1
This commit is contained in:
parent
b9492c8260
commit
55722adecd
@ -251,10 +251,31 @@ void Team::GenBattleReportData(a8::MutableXObject* params)
|
||||
int pvp_team_kills = 0;
|
||||
|
||||
auto members_pb = a8::MutableXObject::CreateArray();
|
||||
std::vector<Human*> sorted_members;
|
||||
TraverseMembers
|
||||
(
|
||||
[this, members_pb, &pvp_team_kills] (Human* hum) mutable
|
||||
[&sorted_members] (Human* hum) mutable
|
||||
{
|
||||
sorted_members.push_back(hum);
|
||||
return true;
|
||||
}
|
||||
);
|
||||
if (room->IsPveRoom()) {
|
||||
std::sort(sorted_members.begin(), sorted_members.end(),
|
||||
[] (Human* a, Human* b) -> bool
|
||||
{
|
||||
if (a->stats->pve_rank_score > b->stats->pve_rank_score) {
|
||||
return true;
|
||||
}
|
||||
if (a->stats->pve_rank_score < b->stats->pve_rank_score) {
|
||||
return false;
|
||||
}
|
||||
return a->GetUniId() < b->GetUniId();
|
||||
});
|
||||
}
|
||||
int i = 0;
|
||||
for (Human* hum : sorted_members) {
|
||||
++i;
|
||||
pvp_team_kills += hum->stats->kills;
|
||||
|
||||
auto member_pb = a8::MutableXObject::CreateObject();
|
||||
@ -329,7 +350,7 @@ void Team::GenBattleReportData(a8::MutableXObject* params)
|
||||
member_pb->SetVal("heros", heros);
|
||||
}
|
||||
if (room->IsPveRoom()) {
|
||||
member_pb->SetVal("pve_order", 0);
|
||||
member_pb->SetVal("pve_order", i);
|
||||
member_pb->SetVal("pve_score", hum->stats->pve_rank_score);
|
||||
member_pb->SetVal("pve_star", room->pve_mode_meta->CalcStar(hum->stats->pve_rank_score));
|
||||
member_pb->SetVal("pve_damage", hum->stats->damage_amount_out);
|
||||
@ -349,8 +370,7 @@ void Team::GenBattleReportData(a8::MutableXObject* params)
|
||||
member_pb->SetVal("pvp_personal_rank", hum->stats->rank);
|
||||
}
|
||||
members_pb->Push(*member_pb);
|
||||
return true;
|
||||
});
|
||||
};
|
||||
|
||||
params->SetVal("pvp_team_kills", pvp_team_kills);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user