From e05b178aed22388a527a01d950da0dbec87ac341 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 26 Dec 2022 10:05:12 +0800 Subject: [PATCH] 1 --- server/gameserver/battledatacontext.cc | 4 ++-- server/gameserver/mt/FormulaPvp.cc | 10 ++++++++++ server/gameserver/mt/FormulaPvp.h | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/server/gameserver/battledatacontext.cc b/server/gameserver/battledatacontext.cc index ef2b2cad..70c4674f 100644 --- a/server/gameserver/battledatacontext.cc +++ b/server/gameserver/battledatacontext.cc @@ -420,7 +420,7 @@ void BattleDataContext::CalcBattleStat(struct PlayerStats* stats) auto CalcHeroPvpCeg = [] (long long ceg_uplimit, struct PlayerStats* stats) -> long long { - const mt::FormulaPvp* meta = mt::FormulaPvp::GetById(stats->ranked_topx); + const mt::FormulaPvp* meta = mt::FormulaPvp::GetByTopx(stats->ranked_topx); if (!meta) { return 0; } @@ -440,7 +440,7 @@ void BattleDataContext::CalcBattleStat(struct PlayerStats* stats) auto CalcWeaponPvpCeg = [] (long long ceg_uplimit, struct PlayerStats* stats) -> long long { - const mt::FormulaPvp* meta = mt::FormulaPvp::GetById(stats->ranked_topx); + const mt::FormulaPvp* meta = mt::FormulaPvp::GetByTopx(stats->ranked_topx); if (!meta) { return 0; } diff --git a/server/gameserver/mt/FormulaPvp.cc b/server/gameserver/mt/FormulaPvp.cc index 25ef2af1..c04c0d0e 100644 --- a/server/gameserver/mt/FormulaPvp.cc +++ b/server/gameserver/mt/FormulaPvp.cc @@ -7,4 +7,14 @@ IMPL_TABLE(mt::FormulaPvp) namespace mt { + const mt::FormulaPvp* FormulaPvp::GetByTopx(float topx) + { + for (auto& itr : raw_list) { + if (topx <= itr->top()) { + return itr; + } + } + return nullptr; + } + } diff --git a/server/gameserver/mt/FormulaPvp.h b/server/gameserver/mt/FormulaPvp.h index 7dad36b3..7bae9740 100644 --- a/server/gameserver/mt/FormulaPvp.h +++ b/server/gameserver/mt/FormulaPvp.h @@ -11,6 +11,7 @@ namespace mt ) public: + static const mt::FormulaPvp* GetByTopx(float topx); }; }