diff --git a/server/gameserver/mt/Param.cc b/server/gameserver/mt/Param.cc index 327a4707..4bffb43b 100644 --- a/server/gameserver/mt/Param.cc +++ b/server/gameserver/mt/Param.cc @@ -285,4 +285,9 @@ namespace mt return 0; } + std::tuple* Param::GetRankModeConf(int elo) + { + return nullptr; + } + } diff --git a/server/gameserver/mt/Param.h b/server/gameserver/mt/Param.h index 7acf2282..9043611b 100644 --- a/server/gameserver/mt/Param.h +++ b/server/gameserver/mt/Param.h @@ -125,6 +125,7 @@ namespace mt int revive_count = 1; int pvp_revive_time = 10; + std::vector> rank_mode_confs; }; static void StaticPostInit(); static const S& s() { return s_; }; @@ -133,6 +134,7 @@ namespace mt static double GetFloatParam(const std::string& param_name, double def_val = 0.0f); static std::string GetStringParam(const std::string& param_name, const char* def_val = ""); static int GetStarNum(int rank); + static std::tuple* GetRankModeConf(int elo); private: static S s_; diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 98a77e59..677c1869 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -38,13 +38,17 @@ const int HUM_NUM_DOWN_LIMIT = 2500; static RoomType_e GetHumanRoomType(const std::shared_ptr netdata) { - if (netdata->GetBattleTimes() < mt::Param::s().newbie_room_battle_times) { - return RoomType_OldBrid1; + if (netdata->join_msg->room_mode() == kPvpRankMode) { + auto rank_mode_conf = mt::Param::GetRankModeConf(netdata->GetElo()); + } else { + if (netdata->GetBattleTimes() < mt::Param::s().newbie_room_battle_times) { + return RoomType_OldBrid1; + } + if (netdata->GetRank() < mt::Param::s().mid_room_max_rank) { + return RoomType_OldBrid2; + } + return RoomType_OldBrid3; } - if (netdata->GetRank() < mt::Param::s().mid_room_max_rank) { - return RoomType_OldBrid2; - } - return RoomType_OldBrid3; } void RoomMgr::Init()