This commit is contained in:
aozhiwei 2023-09-23 20:41:23 +08:00
parent 5732cb535a
commit def30f9ece
2 changed files with 15 additions and 7 deletions

View File

@ -3544,34 +3544,41 @@ int Room::GetMaxTeamNum()
void Room::FillCustomBattleHuman() void Room::FillCustomBattleHuman()
{ {
Player* target = nullptr;
for (auto& pair : accountid_hash_) {
target = pair.second;
break;
}
if (!target) {
abort();
}
custom_battle_->TraverseMemberList custom_battle_->TraverseMemberList
( (
[this] (CustomMember* member) -> bool [this] (CustomMember* member) -> bool
{ {
if (!member->IsJoined()) { if (!member->IsJoined()) {
auto p = custom_battle_; auto p = custom_battle_;
cs::CMJoin msg;
CustomTeam *team = member->GetTeam(); CustomTeam *team = member->GetTeam();
int socket_handle = 0; int socket_handle = 0;
int ip_saddr = 0; int ip_saddr = 0;
Player* hum = NewPlayer(); Player* hum = NewPlayer();
hum->proto_version = msg.proto_version(); hum->proto_version = member->GetNetData()->join_msg->proto_version();
#if 0 #if 0
hum->hero_uniid = a8::XValue(msg.hero_uniid()); hum->hero_uniid = a8::XValue(msg.hero_uniid());
#endif #endif
hum->battle_uuid = member->GetNetData()->battle_uuid; hum->battle_uuid = member->GetNetData()->battle_uuid;
hum->is_valid_battle = member->GetNetData()->is_valid_battle; hum->is_valid_battle = member->GetNetData()->is_valid_battle;
hum->payload = member->GetNetData()->payload; hum->payload = member->GetNetData()->payload;
msg.set_session_id(member->GetSessionId()); member->GetNetData()->join_msg->set_session_id(member->GetSessionId());
msg.set_team_uuid(team->GetTeamUuid()); member->GetNetData()->join_msg->set_team_uuid(team->GetTeamUuid());
PlayerMgr::Instance()-> PlayerMgr::Instance()->
CreatePlayerByCMJoin(hum, CreatePlayerByCMJoin(hum,
ip_saddr, ip_saddr,
socket_handle, socket_handle,
msg *member->GetNetData()->join_msg
); );
hum->meta = mt::Hero::GetById(msg.hero_id()); hum->meta = mt::Hero::GetById(member->GetNetData()->join_msg->hero_id());
if (!hum->meta) { if (!hum->meta) {
hum->meta = mt::Param::s().human_meta; hum->meta = mt::Param::s().human_meta;
} }
@ -3590,7 +3597,7 @@ void Room::FillCustomBattleHuman()
hum->SetHP(hum->GetBattleContext()->GetMaxHP()); hum->SetHP(hum->GetBattleContext()->GetMaxHP());
hum->SetMaxHP(hum->GetHP()); hum->SetMaxHP(hum->GetHP());
member->Join(hum); member->Join(hum);
PlayerMgr::Instance()->IncAccountNum(msg.account_id()); PlayerMgr::Instance()->IncAccountNum(hum->account_id);
} }
return true; return true;
}); });

View File

@ -953,6 +953,7 @@ void RoomMgr::_CMJoinCustomBattle(f8::MsgHdr& hdr, const cs::CMJoin& msg)
msg.mapid(), msg.mapid(),
p); p);
} }
member->GetNetData()->join_msg = join_msg;
Player* hum = p->GetRoom()->NewPlayer(); Player* hum = p->GetRoom()->NewPlayer();
hum->proto_version = msg.proto_version(); hum->proto_version = msg.proto_version();
#if 0 #if 0