From c6127ec0ae6c9c9745fcd4491191e76a8e31d205 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Wed, 2 Aug 2023 18:47:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=98=BE=E7=A4=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/userdata/summon/summon_data.lua | 29 ++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/lua/app/userdata/summon/summon_data.lua b/lua/app/userdata/summon/summon_data.lua index ec8a02ef..8fbb5091 100644 --- a/lua/app/userdata/summon/summon_data.lua +++ b/lua/app/userdata/summon/summon_data.lua @@ -74,7 +74,34 @@ function SummonData:getSummonRewardByLv(summonType, level) if level == 1 then return cfgInfo.box_lv_base else - return cfgInfo["box_lv_" .. tostring(level)] + if not self.cacheSummonRewardByLv then + self.cacheSummonRewardByLv = {} + end + self.cacheSummonRewardByLv[level] = {} + local rewards = cfgInfo["box_lv_" .. tostring(level)] + for _, reward in ipairs(rewards) do + local find = false + for index, rewardBase in ipairs(cfgInfo.box_lv_base) do + if reward.type == rewardBase.type and reward.id == rewardBase.id and reward.num > rewardBase.num then + local num = reward.num - rewardBase.num + table.insert(self.cacheSummonRewardByLv[level], { + id = reward.id, + type = reward.type, + num = num + }) + find = true + break + end + end + if not find then + table.insert(self.cacheSummonRewardByLv[level], { + id = reward.id, + type = reward.type, + num = reward.num + }) + end + end + return self.cacheSummonRewardByLv[level] end end