1
This commit is contained in:
parent
fb3ae85d1a
commit
b104312a63
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user