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