diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index 22f75eec..db190734 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -1160,6 +1160,14 @@ int BattleDataContext::GetHeroLevel() return std::max(hero_lv_, 1); } +int BattleDataContext::GetHeroId() +{ + if (hero_ability_) { + return hero_ability_->hero_meta->id(); + } + A8_ABORT(); +} + bool BattleDataContext::IsMainSkill(Skill* skill) { if (skill->meta->_base_skill_meta) { diff --git a/server/gameserver/netdata.h b/server/gameserver/netdata.h index a503042b..8ecf0a10 100644 --- a/server/gameserver/netdata.h +++ b/server/gameserver/netdata.h @@ -81,6 +81,7 @@ struct BattleDataContext int GetSkinId(); int GetLevel(); + int GetHeroId(); int GetHeroLevel(); bool IsMainSkill(Skill* skill); int GetCurrentGetStar(); diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 48d65cd8..4be0e1ee 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2428,6 +2428,7 @@ int Room::InitWithMobaBattle(long ip_saddr, int socket_handle, std::shared_ptrGetAvatarUrl()); join_msg.set_head_frame(m->GetHeadFrame()); join_msg.set_sex(m->GetSex()); + join_msg.set_hero_id(m->GetNetData()->GetHeroId()); #endif PlayerMgr::Instance()-> CreatePlayerByCMJoin(hum, diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 147a48c1..45b08de3 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -124,7 +124,6 @@ void Room::Init() f8::BtMgr::Instance()->BtLoad(room_agent_, "npc/room"); f8::BtMgr::Instance()->BtSetCurrent(room_agent_, "npc/room"); - CreateSpawnPoints(); CreateWorldObjects(); ShuaAndroid(); incubator_ = std::make_shared(); @@ -2262,24 +2261,6 @@ std::shared_ptr Room::GetBornPoint(int point_uniid) return itr != born_point_hash_.end() ? itr->second : nullptr; } -void Room::CreateSpawnPoints() -{ - #if 0 - if (born_point_hash_.empty()) { - for (size_t i = 0; i < 10; ++i) { - int uniid = AllocUniid(); - std::shared_ptr born_point = std::make_shared(); - born_point_hash_[uniid] = born_point; - if (IsPveRoom()) { - std::shared_ptr wo_meta = std::make_shared(); - wo_meta->pos = pve_instance->_spawn_point; - born_point->wo_meta = wo_meta; - } - } - } - #endif -} - void Room::IncBornPointHumanNum(std::shared_ptr point, Human* hum) { switch (hum->GetEntitySubType()) { diff --git a/server/gameserver/room.h b/server/gameserver/room.h index 04553ff8..365e6253 100644 --- a/server/gameserver/room.h +++ b/server/gameserver/room.h @@ -308,7 +308,6 @@ private: void RandRemoveAndroid(); std::shared_ptr AllocBornPoint(Human* hum); std::shared_ptr GetBornPoint(int point_uniid); - void CreateSpawnPoints(); void CreateWorldObjects(); void IncBornPointHumanNum(std::shared_ptr point, Human* hum); void DecBornPointHumanNum(std::shared_ptr point, Human* hum);