72 lines
2.0 KiB
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,
|
|
} |