【战斗力】界面展示优化

dev_chengFeng
gaoxin 2021-09-17 15:24:10 +08:00
parent 247d9a85d0
commit e3f11c86ed
2 changed files with 50 additions and 41 deletions

View File

@ -1,6 +1,5 @@
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
HeroPowerManager = {}
local this = HeroPowerManager
@ -88,36 +87,6 @@ end
function this.CalPower(heroData, propList)
-- body
local config = heroConfig[heroData.tId]
local subProp = config.SecondaryFactor
if subProp then
for i = 1, #subProp do
local propType = subProp[i][1]
local propValue = subProp[i][2]/100 -- 百分比数
if propList[propType] then
propList[propType] = propList[propType] - propValue
end
end
end
-- 将百分比加成计算到人物身上
for k, v in pairs(propList) do
if k < HeroProType.WarPower then
local tpId = propertyConfig[k].TargetPropertyId
if propList[k] > 0 and tpId > 0 then
if k ~= 69 and k ~= 70 then--PVP 增减伤 没有处理
if not propList[tpId] then
propList[tpId] = 0
end
propList[tpId] = math.floor( propList[tpId] + propList[tpId] * propList[k] / 100)
end
end
else
propList[k] = v
end
end
-- return CalculateWarForce(propList)
return CalculateWarForce2(propList)
end

View File

@ -33,6 +33,7 @@ LogGreenTable_Prop = _IsDebug and noZeroFunc(LogGreenTable) or emptyFunc
LogPinkTable_Prop = _IsDebug and noZeroFunc(LogPinkTable) or emptyFunc
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
--
require("Modules.Hero.PropHero")
require("Modules.Hero.PropFunc")
@ -191,6 +192,49 @@ function this.CreateHeroCountData(dId)
end
function this.FinalShowDeal(heroData, propList)
-- 万分比转为百分比,这里处理用于兼容显示
for i, v in pairs(propList) do
if v > 0 and i < HeroProType.WarPower then
if propertyConfig[i].Style == 2 then
propList[i] = propList[i] / 100
end
end
end
-- 减去默认属性
local config = heroConfig[heroData.tId]
local subProp = config.SecondaryFactor
if subProp then
for i = 1, #subProp do
local propType = subProp[i][1]
local propValue = subProp[i][2]/100 -- 百分比数
if propList[propType] then
propList[propType] = propList[propType] - propValue
end
end
end
-- 将百分比加成计算到人物基础数值上
for k, v in pairs(propList) do
if k < HeroProType.WarPower then
local tpId = propertyConfig[k].TargetPropertyId
if propList[k] > 0 and tpId > 0 then
if k ~= 69 and k ~= 70 then--PVP 增减伤 没有处理
if not propList[tpId] then
propList[tpId] = 0
end
propList[tpId] = math.floor( propList[tpId] + propList[tpId] * propList[k] / 100)
end
end
else
propList[k] = v
end
end
return propList
end
-- 获取神将属性
function this.GetHeroProp(dId, formationId, NoFuncProp)
-- 清空数据
@ -262,18 +306,14 @@ function this.GetHeroProp(dId, formationId, NoFuncProp)
DoubleTableCompound(allPropList, conTeamProp)
-- 没有元素共鸣
end
-- 万分比转为百分比,这里处理用于兼容显示
for i, v in pairs(allPropList) do
if v > 0 and i < HeroProType.WarPower then
if propertyConfig[i].Style == 2 then
allPropList[i] = allPropList[i] / 100
end
end
end
-- 处理前属性
Log_Prop("总属性")
LogGreenTable_Prop(allPropList)
-- 用于显示和战斗计算的处理
allPropList = this.FinalShowDeal(this.HeroDataList[dId], allPropList)
-- 处理后属性
Log_Prop("处理后属性")
LogGreenTable_Prop(allPropList)
return allPropList
end