From b3f59573ee9ab300350368f99c8cf2ad34595b42 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 20 Jul 2023 14:05:56 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/Param.cc | 2 +- server/gameserver/mt/Param.h | 10 +++++++++- server/gameserver/roommgr.cc | 4 ++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/server/gameserver/mt/Param.cc b/server/gameserver/mt/Param.cc index 4bffb43b..97d84a13 100644 --- a/server/gameserver/mt/Param.cc +++ b/server/gameserver/mt/Param.cc @@ -285,7 +285,7 @@ namespace mt return 0; } - std::tuple* Param::GetRankModeConf(int elo) + const RankMatchConf* Param::GetRankModeConf(int elo) { return nullptr; } diff --git a/server/gameserver/mt/Param.h b/server/gameserver/mt/Param.h index 9043611b..63a889f7 100644 --- a/server/gameserver/mt/Param.h +++ b/server/gameserver/mt/Param.h @@ -5,6 +5,14 @@ namespace mt { + struct RankMatchConf + { + RoomType_e room_type = RoomType_Rank1; + int min_elo = 0; + int max_elo = 0; + int hero_min_lv = 0; + int hero_max_lv = 0; + }; DECLARE_NAME_TABLE(Param, mtb::Parameter, "parameter@parameter.json", @@ -134,7 +142,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); + static const RankMatchConf* GetRankModeConf(int elo); private: static S s_; diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 677c1869..0cbfb26a 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -40,6 +40,10 @@ static RoomType_e GetHumanRoomType(const std::shared_ptr netd { if (netdata->join_msg->room_mode() == kPvpRankMode) { auto rank_mode_conf = mt::Param::GetRankModeConf(netdata->GetElo()); + if (!rank_mode_conf) { + abort(); + } + return rank_mode_conf->room_type; } else { if (netdata->GetBattleTimes() < mt::Param::s().newbie_room_battle_times) { return RoomType_OldBrid1;