129 战力计算

dev_chengFeng
zhangqiang 2020-07-14 14:49:15 +08:00
parent 0ee551e289
commit 592d3385e8
5 changed files with 38 additions and 25 deletions

View File

@ -180,7 +180,6 @@ function this.GetFormationPower(formationId)
ExpeditionManager.ExpeditionRrefreshFormation()--刷新编队 ExpeditionManager.ExpeditionRrefreshFormation()--刷新编队
end end
local formationList = this.GetFormationByID(formationId) local formationList = this.GetFormationByID(formationId)
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(formationList.teamHeroInfos)
--for i, v in pairs(allHeroTeamAddProVal) do --for i, v in pairs(allHeroTeamAddProVal) do
-- LogError("团队加成 "..i .." " .. v) -- LogError("团队加成 "..i .." " .. v)
--end --end
@ -189,6 +188,7 @@ function this.GetFormationPower(formationId)
if formationList.teamHeroInfos[i] then if formationList.teamHeroInfos[i] then
local heroData = HeroManager.GetSingleHeroData(formationList.teamHeroInfos[i].heroId) local heroData = HeroManager.GetSingleHeroData(formationList.teamHeroInfos[i].heroId)
--1, curHeroData.dynamicId, false,nil,nil,true,allHeroTeamAddProVal) --1, curHeroData.dynamicId, false,nil,nil,true,allHeroTeamAddProVal)
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(formationList.teamHeroInfos,formationList.teamHeroInfos[i].heroId)
local allEquipAddProVal = HeroManager.CalculateHeroAllProValList(1, heroData.dynamicId,false,nil,nil,true,allHeroTeamAddProVal) local allEquipAddProVal = HeroManager.CalculateHeroAllProValList(1, heroData.dynamicId,false,nil,nil,true,allHeroTeamAddProVal)
power = power + allEquipAddProVal[HeroProType.WarPower] power = power + allEquipAddProVal[HeroProType.WarPower]
end end

View File

@ -283,9 +283,8 @@ function this.SetCardsData()
this.ElementalResonanceView:GetElementalType(this.choosedList,1) this.ElementalResonanceView:GetElementalType(this.choosedList,1)
this.ElementalResonanceView:SetPosition(1) this.ElementalResonanceView:SetPosition(1)
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(this.choosedList)
this.InitArmPos() this.InitArmPos()
this.InitArmData(allHeroTeamAddProVal) this.InitArmData()
-- LogRed(#this.choosedList) -- LogRed(#this.choosedList)
--编队为0显示0战力 --编队为0显示0战力
@ -337,9 +336,10 @@ function this.InitArmPos()
end end
end end
-- 设置编队上阵数据 -- 设置编队上阵数据
function this.InitArmData(allHeroTeamAddProVal) function this.InitArmData()
--为每个英雄添加拖动组件 --为每个英雄添加拖动组件
for n = 1, #this.choosedList do for n = 1, #this.choosedList do
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(this.choosedList,this.choosedList[n].heroId)
--已上阵操作 --已上阵操作
local pos=this.choosedList[n].position local pos=this.choosedList[n].position

View File

@ -821,7 +821,7 @@ local function CalculateHeroUpEquipsProAddVal(_heroId)
return addAllProVal return addAllProVal
end end
--计算所有法宝加成的属性值 --计算所有法宝加成的属性值
local function CalculateHeroUpTalismanProAddVal(_heroId, _breakId, _upStarId) local function CalculateHeroUpTalismanProAddVal(_heroId, _breakId, _upStarId,teamCurPropertyName)
local addAllProVal = {} local addAllProVal = {}
local singleHeroProVal, lvProVal, allHeroProVal, specialProVal local singleHeroProVal, lvProVal, allHeroProVal, specialProVal
local curHeroData = HeroManager.GetSingleHeroData(_heroId) local curHeroData = HeroManager.GetSingleHeroData(_heroId)
@ -883,7 +883,7 @@ local function CalculateHeroUpTalismanProAddVal(_heroId, _breakId, _upStarId)
if skillIds and #skillIds > 0 then --talismanConFig.OpenSkillRules and #talismanConFig.OpenSkillRules > 0 then if skillIds and #skillIds > 0 then --talismanConFig.OpenSkillRules and #talismanConFig.OpenSkillRules > 0 then
--单体加成 --单体等级限制加成 --团体加成 --减乘 --单体加成 --单体等级限制加成 --团体加成 --减乘
singleHeroProVal, lvProVal, allHeroProVal, specialProVal = singleHeroProVal, lvProVal, allHeroProVal, specialProVal =
this.CalculatePassiveSkillsValList(WarPowerType.Talisman, skillIds) this.CalculatePassiveSkillsValList(WarPowerType.Talisman, skillIds,teamCurPropertyName)
end end
end end
end end
@ -1078,7 +1078,7 @@ local function CalculateEquipTreaSureAddVal(_heroId)
end end
--计算所有英雄被动技能的属性值 --计算所有英雄被动技能的属性值
local function CalculateHeroPassiveSkillProAddVal(_type, _heroId, _breakId, _upStarId) local function CalculateHeroPassiveSkillProAddVal(_type, _heroId, _breakId, _upStarId,teamCurPropertyName)
local singleHeroProVal, lvProVal, allHeroProVal, specialProVal local singleHeroProVal, lvProVal, allHeroProVal, specialProVal
local curHeroData = HeroManager.GetSingleHeroData(_heroId) local curHeroData = HeroManager.GetSingleHeroData(_heroId)
if curHeroData then if curHeroData then
@ -1091,7 +1091,7 @@ local function CalculateHeroPassiveSkillProAddVal(_type, _heroId, _breakId, _upS
end end
--单体加成 --单体等级限制加成 --团体加成 --减乘 --单体加成 --单体等级限制加成 --团体加成 --减乘
singleHeroProVal, lvProVal, allHeroProVal, specialProVal = singleHeroProVal, lvProVal, allHeroProVal, specialProVal =
this.CalculatePassiveSkillsValList(WarPowerType.Hero, allOpenPassiveSkillIds) this.CalculatePassiveSkillsValList(WarPowerType.Hero, allOpenPassiveSkillIds,teamCurPropertyName)
end end
return singleHeroProVal, lvProVal, allHeroProVal, specialProVal return singleHeroProVal, lvProVal, allHeroProVal, specialProVal
end end
@ -1247,7 +1247,7 @@ end
--- ---
--- ---
function this.CalculatePassiveSkillsValList(index, skillids) function this.CalculatePassiveSkillsValList(index, skillids,teamCurPropertyName)
for k, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.PropertyConfig)) do for k, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.PropertyConfig)) do
this.allProVal[index].singleHeroProVal[k] = 0 this.allProVal[index].singleHeroProVal[k] = 0
this.allProVal[index].lvProVal[k] = 0 this.allProVal[index].lvProVal[k] = 0
@ -1301,15 +1301,28 @@ function this.CalculatePassiveSkillsValList(index, skillids)
curSkillData.Value[1], curSkillData.Value[1],
curSkillData.Value[3] curSkillData.Value[3]
) )
-- elseif curSkillData.Type == 129 then elseif curSkillData.Type == 129 then
-- this.GetProAndValByFormula( if teamCurPropertyName and teamCurPropertyName == curSkillData.Value[1] then
-- this.allProVal[index].allHeroProVal, -- LogGreen("teamCurPropertyName "..teamCurPropertyName .." "..curSkillData.Value[1])
-- this.allProVal[index].specialProVal, this.GetProAndValByFormula(
-- curSkillData.Value[3], this.allProVal[index].allHeroProVal,
-- curSkillData.Value[2], this.allProVal[index].specialProVal,
-- curSkillData.Value[4], curSkillData.Value[3],
-- curSkillData.Value[1] curSkillData.Value[2],
-- ) curSkillData.Value[4],
curSkillData.Value[1]
)
elseif not teamCurPropertyName then
-- LogGreen("not teamCurPropertyName")
this.GetProAndValByFormula(
this.allProVal[index].allHeroProVal,
this.allProVal[index].specialProVal,
curSkillData.Value[3],
curSkillData.Value[2],
curSkillData.Value[4],
curSkillData.Value[1]
)
end
elseif curSkillData.Type == 171 then elseif curSkillData.Type == 171 then
--目前没有 --目前没有
--this.GetProAndValByFormula(lvProVal,curSkillData,specialProVal) --this.GetProAndValByFormula(lvProVal,curSkillData,specialProVal)
@ -1393,15 +1406,15 @@ function this.GetProAndValByFormula(proTable, specialProVal, curProId, curProVal
end end
end end
--团队加成 --团队加成
function this.GetAllHeroTeamAddProVal(teamHeroInfos) function this.GetAllHeroTeamAddProVal(teamHeroInfos,curteamHeroDid)
local teamProVal = {} local teamProVal = {}
--英雄 法宝 魂印 被动技能 --英雄 法宝 魂印 被动技能
for i = 1, 6 do for i = 1, 6 do
if teamHeroInfos[i] then if teamHeroInfos[i] then
local heroSkillSingleHeroProVal, heroSkillLvProVal, heroSkillAllHeroProVal, heroSkillSpecialProVal = local heroSkillSingleHeroProVal, heroSkillLvProVal, heroSkillAllHeroProVal, heroSkillSpecialProVal =
CalculateHeroPassiveSkillProAddVal(1, teamHeroInfos[i].heroId) CalculateHeroPassiveSkillProAddVal(1, teamHeroInfos[i].heroId,nil,nil, curteamHeroDid and HeroManager.GetSingleHeroData(curteamHeroDid).heroConfig.PropertyName or nil)
local falismanSingleHeroProVal, falismanLvProVal, falismanAllHeroProVal, falismanSpecialProVal = local falismanSingleHeroProVal, falismanLvProVal, falismanAllHeroProVal, falismanSpecialProVal =
CalculateHeroUpTalismanProAddVal(teamHeroInfos[i].heroId) 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, heroSkillAllHeroProVal)
this.DoubleTableCompound(teamProVal, falismanAllHeroProVal) this.DoubleTableCompound(teamProVal, falismanAllHeroProVal)

View File

@ -196,7 +196,7 @@ end
--RoleInfo0 --RoleInfo0
function this.RoleInfo0() function this.RoleInfo0()
LogBlue(curHeroData.id) LogBlue(curHeroData.id.." "..curHeroData.dynamicId)
this.head_Frame.sprite = Util.LoadSprite(GetHeroQuantityImageByquality(curHeroData.heroConfig.Quality)) this.head_Frame.sprite = Util.LoadSprite(GetHeroQuantityImageByquality(curHeroData.heroConfig.Quality))
this.head_Icon.sprite = Util.LoadSprite(curHeroData.icon) this.head_Icon.sprite = Util.LoadSprite(curHeroData.icon)
this.head_Pro.sprite = Util.LoadSprite(GetProStrImageByProNum(curHeroData.heroConfig.PropertyName)) this.head_Pro.sprite = Util.LoadSprite(GetProStrImageByProNum(curHeroData.heroConfig.PropertyName))
@ -210,7 +210,7 @@ function this.RoleInfo0()
else else
if choosedList then if choosedList then
--local formationList = FormationManager.GetFormationByID(FormationTypeDef.FORMATION_NORMAL) --local formationList = FormationManager.GetFormationByID(FormationTypeDef.FORMATION_NORMAL)
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(choosedList) local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(choosedList,curHeroData.dynamicId)
allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData, false,nil,nil,true,allHeroTeamAddProVal) allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData, false,nil,nil,true,allHeroTeamAddProVal)
else else
allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData, false) allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData, false)
@ -266,7 +266,7 @@ function this.RoleInfo1()
else else
if choosedList then if choosedList then
--local formationList = FormationManager.GetFormationByID(FormationTypeDef.FORMATION_NORMAL) --local formationList = FormationManager.GetFormationByID(FormationTypeDef.FORMATION_NORMAL)
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(choosedList) local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(choosedList,curHeroData.dynamicId)
allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false,nil,nil,true,allHeroTeamAddProVal) allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false,nil,nil,true,allHeroTeamAddProVal)
else else
allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false) allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false)

View File

@ -528,7 +528,7 @@ function this:UpdateHeroInfoData()
--计算面板属性 --计算面板属性
if isUpZhen then if isUpZhen then
local formationList = FormationManager.GetFormationByID(FormationTypeDef.FORMATION_NORMAL) local formationList = FormationManager.GetFormationByID(FormationTypeDef.FORMATION_NORMAL)
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(formationList.teamHeroInfos) local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(formationList.teamHeroInfos,curHeroData.dynamicId)
allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false,nil,nil,true,allHeroTeamAddProVal) allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false,nil,nil,true,allHeroTeamAddProVal)
else else
allAddProVal=HeroManager.CalculateHeroAllProValList(1,curHeroData.dynamicId,false) allAddProVal=HeroManager.CalculateHeroAllProValList(1,curHeroData.dynamicId,false)