From 109bcc49f62e76255ccb6d5812c30e32abf6dfa7 Mon Sep 17 00:00:00 2001 From: wangzhenxing Date: Tue, 11 Aug 2020 11:24:22 +0900 Subject: [PATCH] =?UTF-8?q?=E5=BC=A0=E5=BC=BA=E5=AF=B9=E9=AD=82=E5=8D=B0?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B1=9E=E6=80=A7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Modules/Hero/HeroManager.lua | 118 +++++++++--------- 1 file changed, 60 insertions(+), 58 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua index a1789e8906..69e47a1515 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua @@ -1,4 +1,4 @@ -HeroManager = {} +HeroManager = {} local this = HeroManager local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig) local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig) @@ -915,57 +915,59 @@ local function CalculateHeroUpTalismanProAddVal(_heroId, _breakId, _upStarId,tea end --英雄身上魂印属性计算 local function CalculateSoulPrintAddVal(_heroId) - local allSoulPrintAddWarPowerVal = 0 + + -- local allSoulPrintAddWarPowerVal = 0 + -- local curHeroData = HeroManager.GetSingleHeroData(_heroId) + -- if curHeroData then + -- if (table.nums(curHeroData.soulPrintList) >= 1) then + -- for i = 1, #curHeroData.soulPrintList do + -- LogError(_heroId) + -- local cursoulPrintConfig = equipConfig[curHeroData.soulPrintList[i].equipId] + -- if cursoulPrintConfig then + -- allSoulPrintAddWarPowerVal = allSoulPrintAddWarPowerVal + cursoulPrintConfig.Score + -- end + -- end + -- end + -- end + -- return allSoulPrintAddWarPowerVal + local addAllProVal = {} + local singleHeroProVal,lvProVal,allHeroProVal,specialProVal local curHeroData = HeroManager.GetSingleHeroData(_heroId) if curHeroData then - if (table.nums(curHeroData.soulPrintList) >= 1) then - for i = 1, #curHeroData.soulPrintList do - local cursoulPrintConfig = equipConfig[curHeroData.soulPrintList[i].equipId] - if cursoulPrintConfig then - allSoulPrintAddWarPowerVal = allSoulPrintAddWarPowerVal + cursoulPrintConfig.Score - end - end - end + if(table.nums(curHeroData.soulPrintList) >= 1) then + for i = 1, #curHeroData.soulPrintList do + local cursoulPrintConfig = equipConfig[curHeroData.soulPrintList[i].equipId] + if cursoulPrintConfig then + --基础属性计算 + local soulPrintPropertyList = cursoulPrintConfig.Property + if soulPrintPropertyList and #soulPrintPropertyList > 0 then + for i,v in pairs(soulPrintPropertyList) do + if(addAllProVal[v[1]]) then + addAllProVal[v[1]]=v[2]+addAllProVal[v[1]] + else + addAllProVal[v[1]]=v[2] + end + end + end + --被动技能计算 + if cursoulPrintConfig.PassiveSkill then + --单体加成 --单体等级限制加成 --团体加成 --减乘 + singleHeroProVal,lvProVal,allHeroProVal,specialProVal = this.CalculatePassiveSkillsValList(WarPowerType.SoulPrint,cursoulPrintConfig.PassiveSkill) + end + end + end + end end - return allSoulPrintAddWarPowerVal - --local addAllProVal = {} - --local singleHeroProVal,lvProVal,allHeroProVal,specialProVal - --local curHeroData = HeroManager.GetSingleHeroData(_heroId) - --if curHeroData then - -- if(table.nums(curHeroData.soulPrintList) >= 1) then - -- for i = 1, #curHeroData.soulPrintList do - -- local cursoulPrintConfig = equipConfig[curHeroData.soulPrintList[i].equipId] - -- if cursoulPrintConfig then - -- --基础属性计算 - -- local soulPrintPropertyList = cursoulPrintConfig.Property - -- if soulPrintPropertyList and #soulPrintPropertyList > 0 then - -- for i,v in pairs(soulPrintPropertyList) do - -- if(addAllProVal[v[1]]) then - -- addAllProVal[v[1]]=v[2]+addAllProVal[v[1]] - -- else - -- addAllProVal[v[1]]=v[2] - -- end - -- end - -- end - -- --被动技能计算 - -- if cursoulPrintConfig.PassiveSkill then - -- --单体加成 --单体等级限制加成 --团体加成 --减乘 - -- singleHeroProVal,lvProVal,allHeroProVal,specialProVal = this.CalculatePassiveSkillsValList(WarPowerType.SoulPrint,cursoulPrintConfig.PassiveSkill) - -- end - -- end - -- end - -- end - --end - --if singleHeroProVal and LengthOfTable(singleHeroProVal) > 0 then - -- for i,v in pairs(singleHeroProVal) do - -- if addAllProVal[i] then - -- addAllProVal[i] = addAllProVal[i] + v - -- else - -- addAllProVal[i] = v - -- end - -- end - --end - --return addAllProVal,lvProVal,allHeroProVal,specialProVal + if singleHeroProVal and LengthOfTable(singleHeroProVal) > 0 then + for i,v in pairs(singleHeroProVal) do + if addAllProVal[i] then + addAllProVal[i] = addAllProVal[i] + v + else + addAllProVal[i] = v + end + end + end + return addAllProVal,lvProVal,allHeroProVal,specialProVal end --英雄身上宝器属性计算 local function CalculateEquipTreaSureAddVal(_heroId) @@ -1434,10 +1436,10 @@ function this.GetAllHeroTeamAddProVal(teamHeroInfos,curteamHeroDid) CalculateHeroPassiveSkillProAddVal(1, teamHeroInfos[i].heroId,nil,nil, curteamHeroDid and HeroManager.GetSingleHeroData(curteamHeroDid).heroConfig.PropertyName or nil) local falismanSingleHeroProVal, falismanLvProVal, falismanAllHeroProVal, falismanSpecialProVal = CalculateHeroUpTalismanProAddVal(teamHeroInfos[i].heroId,nil,nil, curteamHeroDid and HeroManager.GetSingleHeroData(curteamHeroDid).heroConfig.PropertyName or nil) - --local soulPrinSingleHeroProVal,soulPrinLvProVal,soulPrinAllHeroProVal,soulPrinSpecialProVal = CalculateSoulPrintAddVal(teamHeroInfos[i].heroId) + local soulPrinSingleHeroProVal,soulPrinLvProVal,soulPrinAllHeroProVal,soulPrinSpecialProVal = CalculateSoulPrintAddVal(teamHeroInfos[i].heroId) this.DoubleTableCompound(teamProVal, heroSkillAllHeroProVal) this.DoubleTableCompound(teamProVal, falismanAllHeroProVal) - --this.DoubleTableCompound(teamProVal,soulPrinAllHeroProVal) + this.DoubleTableCompound(teamProVal,soulPrinAllHeroProVal) end end --光环加成 @@ -1556,7 +1558,7 @@ function this.CalculateHeroAllProValList(_type, _heroDid, isWar, _breakId, _upSt -- end --end --魂印的属性加成 - local allSoulPrintAddWarPowerVal = CalculateSoulPrintAddVal(curHeroData.dynamicId) + local singleHeroSoulPrintProVal,lvSoulPrintProVal,allHeroSoulPrintProVal,specialSoulPrintProVal = CalculateSoulPrintAddVal(curHeroData.dynamicId) -- LogError("魂印的单体属性加成 "..allSoulPrintAddWarPowerVal) --宝器加成 宝器本身属性 + 宝器激活的强化共鸣 和 精炼共鸣 local equipTreasureAddPro = CalculateEquipTreaSureAddVal(curHeroData.dynamicId) @@ -1600,19 +1602,19 @@ function this.CalculateHeroAllProValList(_type, _heroDid, isWar, _breakId, _upSt this.DoubleTableCompound(allAddProVal, allPokemonPeiJianAddPro) this.DoubleTableCompound(allAddProVal, guildSkillAllProAdd) this.DoubleTableCompound(allAddProVal, falismanSingleHeroProVal) - --this.DoubleTableCompound(allAddProVal,soulPrinSingleHeroProVal) + this.DoubleTableCompound(allAddProVal,singleHeroSoulPrintProVal) this.DoubleTableCompound(allAddProVal, playerDcorateAdd) this.DoubleTableCompound(allAddProVal, heroSkillSingleHeroProVal) this.DoubleTableCompound(allAddProVal, equipTreasureAddPro) this.DoubleTableCompound(allAddProVal, vipAddPro) --100等级所有属性合并 this.DoubleTableCompound(lvProVal, falismanLvProVal) - --this.DoubleTableCompound(lvProVal,soulPrinLvProVal) + this.DoubleTableCompound(lvProVal,lvSoulPrintProVal) this.DoubleTableCompound(lvProVal, heroSkillLvProVal) --团体所有属性合并 if not _isAllHeroProVal then this.DoubleTableCompound(allHeroProVal, falismanAllHeroProVal) - --this.DoubleTableCompound(allHeroProVal,soulPrinAllHeroProVal) + this.DoubleTableCompound(allHeroProVal,allHeroSoulPrintProVal) this.DoubleTableCompound(allHeroProVal, heroSkillAllHeroProVal) this.DoubleTableCompound(allHeroProVal, teamAddPro) end @@ -1623,7 +1625,7 @@ function this.CalculateHeroAllProValList(_type, _heroDid, isWar, _breakId, _upSt -- end --4公式特殊(减乘)所有属性加成 this.DoubleTableCompound(specialProVal, falismanSpecialProVal) - --this.DoubleTableCompound(specialProVal,soulPrinSpecialProVal) + this.DoubleTableCompound(specialProVal,specialSoulPrintProVal) this.DoubleTableCompound(specialProVal, heroSkillSpecialProVal) --100等级所有属性合并 local forNum = curLvNum - 100 @@ -1739,10 +1741,10 @@ curHeroData.MLSproList={} if _type == 1 then --最后加魂印战力 allAddProVal[HeroProType.WarPower] = - allEquipScore + CalculateWarForce(allAddProVal) + allSoulPrintAddWarPowerVal + allEquipScore + CalculateWarForce(allAddProVal) elseif _type == 2 then allAddProVal[HeroProType.WarPower] = - allEquipScore + CalculateWarForce(allAddProVal) + allSoulPrintAddWarPowerVal + allEquipScore + CalculateWarForce(allAddProVal) --最后加魂印战力 end --for i, v in pairs(allAddProVal) do