miduo_client/Assets/ManagedResources/~Lua/Modules/Hero/PropFunc.lua

72 lines
2.0 KiB
Lua

local HeroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
-- 功能属性类型
Func_Prop_Type = {
Vip = 2,
GuildSkill = 3,
Pokemon = 4,
PokemonFetter = 5
}
-- 计算需要缓存数据的方法
Func_Prop_Func = {
-- 工会技能
[Func_Prop_Type.GuildSkill] = function()
local profPropList = {}
for _, prof in pairs(Hero_Profession_Type) do
profPropList[prof] = GuildSkillManager.HeroCalculateGuildSkillWarForce(prof)
end
return profPropList
end,
-- Vip属性加成
[Func_Prop_Type.Vip] = function()
local vipAddPro = VipManager.GetAddPro()
return vipAddPro
end,
-- 灵兽属性加成
[Func_Prop_Type.Pokemon] = function()
local allPro = PokemonManager.GetPokemonFormationAddPro()
for key, value in pairs(allPro) do
allPro[key] = value
end
return allPro
end,
-- 灵兽羁绊属性加成
[Func_Prop_Type.PokemonFetter] = function()
local allPro = PokemonManager.GetAllPokemonFetterAddPros()
return allPro
end,
}
-- 功能属性针对个人的筛选器
Func_Prop_Filter = {
[Func_Prop_Type.GuildSkill] = function(funcData, heroData)
local config = HeroConfig[heroData.tId]
return funcData[config.Profession]
end,
-- Vip属性加成
[Func_Prop_Type.Vip] = function(funcData, heroData)
return funcData
end,
--灵兽属性加成
[Func_Prop_Type.Pokemon] = function(funcData, heroData,formationId)
local heroFormationNum = FormationManager.GetCurIndexForMationNum(formationId)
if heroFormationNum <= 0 then
return {}
end
local allPro = {}
for key, value in pairs(funcData) do
if value > 0 then
allPro[key] = math.floor(value/heroFormationNum)
end
end
return allPro
end,
--灵兽羁绊属性加成
[Func_Prop_Type.PokemonFetter] = function(funcData, heroData)
return funcData
end,
}