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;
|
int pvp_team_kills = 0;
|
||||||
|
|
||||||
auto members_pb = a8::MutableXObject::CreateArray();
|
auto members_pb = a8::MutableXObject::CreateArray();
|
||||||
|
std::vector<Human*> sorted_members;
|
||||||
TraverseMembers
|
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;
|
pvp_team_kills += hum->stats->kills;
|
||||||
|
|
||||||
auto member_pb = a8::MutableXObject::CreateObject();
|
auto member_pb = a8::MutableXObject::CreateObject();
|
||||||
@ -329,7 +350,7 @@ void Team::GenBattleReportData(a8::MutableXObject* params)
|
|||||||
member_pb->SetVal("heros", heros);
|
member_pb->SetVal("heros", heros);
|
||||||
}
|
}
|
||||||
if (room->IsPveRoom()) {
|
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_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_star", room->pve_mode_meta->CalcStar(hum->stats->pve_rank_score));
|
||||||
member_pb->SetVal("pve_damage", hum->stats->damage_amount_out);
|
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);
|
member_pb->SetVal("pvp_personal_rank", hum->stats->rank);
|
||||||
}
|
}
|
||||||
members_pb->Push(*member_pb);
|
members_pb->Push(*member_pb);
|
||||||
return true;
|
};
|
||||||
});
|
|
||||||
|
|
||||||
params->SetVal("pvp_team_kills", pvp_team_kills);
|
params->SetVal("pvp_team_kills", pvp_team_kills);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user