From 4ab47f9a01646182aec9839bbe88543290dde40d Mon Sep 17 00:00:00 2001 From: jiaoyangna <3046463818@qq.com> Date: Fri, 31 Jul 2020 18:25:19 +0800 Subject: [PATCH] resolve hero commit --- .../~Lua/Modules/Hero/HeroManager.lua | 47 +++++++++++++------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua index 11777bce3f..ed98bcaae0 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua @@ -2172,17 +2172,22 @@ function this.GetHeroReturnItems(selectHeroData, type) --val=itemConfig.ResolveReward+heroLevelConfig.SumConsume else val=HeroRankupConfig.SumConsume+heroLevelConfig.SumConsume --1裸角色卡(没有突破过的角色卡)熔炼后返还的材料=当前等级返还升级材料+item表返还材料 --2有过突破的卡 =当前等级返还升级材料+突破表返还材料+升星返还材料 + local curHeroData = heroDatas[i] + if not curHeroData then + return + end + local ShowItemlist = {} local pId - if v.breakId == 0 then + if curHeroData.breakId == 0 then pId=0 else - pId= heroRankUpConfig[v.breakId].Phase[2] + pId= heroRankUpConfig[curHeroData.breakId].Phase[2] end - if pId == 0 and v.upStarId == 0 then - local rewardGroupId = tonumber(itemConfig[v.id].ResolveReward) + if pId == 0 and curHeroData.upStarId == 0 then + local rewardGroupId = tonumber(itemConfig[curHeroData.id].ResolveReward) if rewardGroupId and rewardGroup[rewardGroupId] then local showItem = rewardGroup[rewardGroupId].ShowItem if showItem and LengthOfTable(showItem) > 0 then @@ -2200,11 +2205,11 @@ function this.GetHeroReturnItems(selectHeroData, type) table.insert(ShowItemlist, {sumConsume[i][1], sumConsume[i][2] * specificValue}) end else - LogRed("pId:"..pId.." v.breakId:"..v.breakId.." v.id:"..v.id) + LogRed("pId:"..pId.." curHeroData.breakId:"..curHeroData.breakId.." curHeroData.id:"..curHeroData.id) end end - if v.star > 0 then - local heroRankUpConfig = ConfigManager.GetConfigDataByDoubleKey(ConfigName.HeroSacrifice,"Type",1,"Key",v.star) + if curHeroData.star > 1 then + local heroRankUpConfig = ConfigManager.GetConfigDataByDoubleKey(ConfigName.HeroSacrifice,"Type",1,"Key",curHeroData.star) if heroRankUpConfig then local sumConsume = heroRankUpConfig.Value for i = 1, #sumConsume do @@ -2212,20 +2217,34 @@ function this.GetHeroReturnItems(selectHeroData, type) end end else - LogRed("v.star :"..v.star) + LogRed("curHeroData.star :"..curHeroData.star) end end - local rewardShowStr2 = {} - rewardShowStr2 = ConfigManager.GetConfigData(ConfigName.HeroLevelConfig, v.lv).SumConsume - if rewardShowStr2 then - for i = 1, #rewardShowStr2 do - if rewardShowStr2[i] and rewardShowStr2[i][1] then - table.insert(ShowItemlist, {rewardShowStr2[i][1], rewardShowStr2[i][2] * specificValue}) + local temp = {} + if curHeroData.talismanList > 1 then + local temp1 =tonumber(ConfigManager.GetConfigData(ConfigName.HeroConfig, curHeroData.id).EquipTalismana[2]) + LogRed(temp1) + for i = 1, curHeroData.talismanList - 1 do + temp = ConfigManager.GetConfigDataByDoubleKey(ConfigName.EquipTalismana,"TalismanaId",temp1,"Level",i).RankupBasicMaterial + for i = 1,#temp do + table.insert(ShowItemlist, {temp[i][1], temp[i][2] * specificValue}) + end + end + end + if curHeroData.lv > 1 then + local rewardShowStr2 = {} + rewardShowStr2 = ConfigManager.GetConfigData(ConfigName.HeroLevelConfig, curHeroData.lv).SumConsume + if rewardShowStr2 then + for i = 1, #rewardShowStr2 do + if rewardShowStr2[i] and rewardShowStr2[i][1] then + table.insert(ShowItemlist, {rewardShowStr2[i][1], rewardShowStr2[i][2] * specificValue}) + end end end end this.GetHeroReturnItems2(ShowItemlist, allRewardData) end + local dropList = {} for k, v in pairs(allRewardData) do v.num = math.floor(v.num)