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()--刷新编队
end
local formationList = this.GetFormationByID(formationId)
local allHeroTeamAddProVal = HeroManager.GetAllHeroTeamAddProVal(formationList.teamHeroInfos)
--for i, v in pairs(allHeroTeamAddProVal) do
-- LogError("团队加成 "..i .." " .. v)
--end
@ -189,6 +188,7 @@ function this.GetFormationPower(formationId)
if formationList.teamHeroInfos[i] then
local heroData = HeroManager.GetSingleHeroData(formationList.teamHeroInfos[i].heroId)
--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)
power = power + allEquipAddProVal[HeroProType.WarPower]
end

View File

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

View File

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

View File

@ -196,7 +196,7 @@ end
--RoleInfo0
function this.RoleInfo0()
LogBlue(curHeroData.id)
LogBlue(curHeroData.id.." "..curHeroData.dynamicId)
this.head_Frame.sprite = Util.LoadSprite(GetHeroQuantityImageByquality(curHeroData.heroConfig.Quality))
this.head_Icon.sprite = Util.LoadSprite(curHeroData.icon)
this.head_Pro.sprite = Util.LoadSprite(GetProStrImageByProNum(curHeroData.heroConfig.PropertyName))
@ -210,7 +210,7 @@ function this.RoleInfo0()
else
if choosedList then
--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)
else
allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData, false)
@ -266,7 +266,7 @@ function this.RoleInfo1()
else
if choosedList then
--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)
else
allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false)

View File

@ -528,7 +528,7 @@ function this:UpdateHeroInfoData()
--计算面板属性
if isUpZhen then
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)
else
allAddProVal=HeroManager.CalculateHeroAllProValList(1,curHeroData.dynamicId,false)