This commit is contained in:
aozhiwei 2024-05-30 17:02:50 +08:00
parent fb3ae85d1a
commit b104312a63

View File

@ -2506,6 +2506,96 @@ void GGListener::_SS_WSP_SocketDisconnect(f8::MsgHdr* hdr, const ss::SS_WSP_Sock
void Team::FillMFSettlementNew(cs::MFSettlementNew* p)
{
if (room->IsAlreadyRoomReportBattle()) {
p->set_version(20230321);
p->set_team_id(GetTeamId());
p->set_room_uuid(a8::XValue(room->GetRoomUuid()).GetString());
p->set_room_mode(room->GetReportRoomMode());
p->set_team_mode(1);
p->set_game_over(room->IsGameOver() ? 1 : 0);
//p->set_victory(stats->victory ? 1 : 0);
p->set_watchable(false);
p->set_map_mode_id(room->GetMapModeMeta()->id());
p->set_map_mode(room->GetReportMapMode());
p->set_map_id(room->GetMapMeta()->map_id());
p->set_battle_uuid(GetBattleUuid());
if (room->IsPveRoom()) {
//p->set_pve_settlement_color(stats->settlement_color);
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() == this) {
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);
p->set_pvp_team_rank(team_rank);
p->set_pvp_total_human_num(room->GetHumanNum());
p->set_pvp_alive_human_num(room->AliveCount());
p->set_pvp_total_team_num(room->GetTeamNum());
p->set_pvp_match_mode(room->GetPvpMatchMode());
}
} else {
p->set_version(20230321);
p->set_team_id(GetTeamId());
p->set_room_uuid(a8::XValue(room->GetRoomUuid()).GetString());
p->set_room_mode(room->GetReportRoomMode());
p->set_team_mode(1);
p->set_game_over(room->IsGameOver() ? 1 : 0);
//p->set_victory(stats->victory ? 1 : 0);
{
int alive_team_num = room->GetAliveTeamNum();
#if 0
if (stats->victory) {
p->set_watchable(false);
} else {
if (room->GetAliveTeamNum() > 1) {
p->set_watchable(true);
} else {
if (room->IsPveRoom()) {
p->set_watchable(!room->IsGameOver());
} else {
p->set_watchable(false);
}
}
}
#endif
}
p->set_map_mode_id(room->GetMapModeMeta()->id());
p->set_map_mode(room->GetReportMapMode());
p->set_map_id(room->GetMapMeta()->map_id());
p->set_battle_uuid(GetBattleUuid());
if (room->IsPveRoom()) {
//p->set_pve_settlement_color(stats->settlement_color);
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(GetKillCount());
if (room->GetMobaTeamA() == this) {
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);
p->set_pvp_team_rank(team_rank);
p->set_pvp_total_human_num(room->GetHumanNum());
p->set_pvp_alive_human_num(room->AliveCount());
p->set_pvp_total_team_num(room->GetTeamNum());
p->set_pvp_match_mode(room->GetPvpMatchMode());
}
}
std::vector<Human*> sorted_members;
for (Human* hum : members_) {
sorted_members.push_back(hum);