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

237 lines
7.5 KiB
Lua

local HeroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
-- 功能属性类型
Func_Prop_Type = {
Vip = 2, -- VIP加成
GuildSkill = 3, -- 公会技能
Pokemon = 4, -- 灵兽
PokemonFetter = 5, -- 灵兽羁绊
HeroFetter = 6, -- 神将羁绊
HunYinFetter = 7, -- 魂印羁绊
Practice = 8, -- 修行
PlayerExtra = 9, -- 玩家称号 皮肤 坐骑
TechTree = 10, -- 神树
FourQua = 11, -- 四象心法
LikeAbility = 12, -- 好感度
EquipFetter = 13, -- 白金装备羁绊
Cultivation = 14, -- 主角修为
TailsManSou = 15, -- 法宝之魂
Incarnation = 16, --身外化身
Gem = 17, --命格
Weapon =18, --神兵
WeaponFetter=19, --神兵羁绊
}
-- 计算需要缓存数据的方法
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_Type.HeroFetter] = function()
local allPro = TianShuMiJuanManger.GetAllFetterAddProsBy(1)
return allPro
end,
-- 魂印羁绊属性加成
[Func_Prop_Type.HunYinFetter] = function()
local allPro = TianShuMiJuanManger.GetAllFetterAddProsBy(2)
return allPro
end,
-- 修行属性加成
[Func_Prop_Type.Practice] = function()
local allPro = PracticeManager.GetCurAllGetAdd()
return allPro
end,
-- 玩家称号 皮肤 坐骑
[Func_Prop_Type.PlayerExtra] = function()
local allPro = PlayerManager.CalculatePlayerDcorateProAddVal()
return allPro
end,
-- 神树
[Func_Prop_Type.TechTree] = function()
local profPropList = {}
for _, prof in pairs(Hero_Profession_Type) do
profPropList[prof] = WorkShopManager.HeroCalculateTreeWarForce(prof)
end
return profPropList
end,
-- 四象心法
[Func_Prop_Type.FourQua] = function()
local profPropList = {}
for _, prof in pairs(Hero_Profession_Type) do
profPropList[prof] = PracticeManager.HeroCalculateFourQuaWarForce(prof)
end
return profPropList
end,
[Func_Prop_Type.LikeAbility] = function()
local SingleProVal, AllHeroProVal = LikabilityManager.GetTotalForce()
return AllHeroProVal
end,
-- 魂印羁绊属性加成
[Func_Prop_Type.EquipFetter] = function()
local allPro = TianShuMiJuanManger.GetAllFetterAddProsBy(4)
return allPro
end,
-- 主角修为属性加成
[Func_Prop_Type.Cultivation] = function()
local allPro = PracticeManager.GetCultivationPros()
return allPro
end,
-- 法宝之魂
[Func_Prop_Type.TailsManSou] = function()
local allPro = TailsManSoulManager.GetTailsmanTotalPro()
return allPro
end,
-- 身外化身
[Func_Prop_Type.Incarnation] = function()
local allPro = IncarnationManager.GetIncarnationTotalPro()
return allPro
end,
-- 命格
[Func_Prop_Type.Gem] = function()
local allPro = GemManager.GetAllAttri()
return allPro
end,
--神兵属性加成
[Func_Prop_Type.Weapon] = function()
--LogError("计算神兵属性+++++++++++++++++++++++++++++")
local allPro = GodWeaponManager.GetPokemonFormationAddPro()
for key, value in pairs(allPro) do
allPro[key] = value
end
return allPro
end,
--神兵羁绊属性加成
[Func_Prop_Type.WeaponFetter] = function()
--LogError("计算神兵羁绊+++++++++++++++++++++++++++++")
local allPro = GodWeaponManager.GetAllWeaponFetterAddPros()
for key, value in pairs(allPro) do
allPro[key] = value
end
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,
-- 神将羁绊属性加成
[Func_Prop_Type.HeroFetter] = function(funcData, heroData)
return funcData
end,
-- 魂印羁绊属性加成
[Func_Prop_Type.HunYinFetter] = function(funcData, heroData)
return funcData
end,
-- 修行属性加成
[Func_Prop_Type.Practice] = function(funcData, heroData)
return funcData
end,
-- 玩家称号 皮肤 坐骑
[Func_Prop_Type.PlayerExtra] = function(funcData, heroData)
return funcData
end,
-- 神树
[Func_Prop_Type.TechTree] = function(funcData, heroData)
local config = HeroConfig[heroData.tId]
return funcData[config.Profession]
end,
-- 四象心法
[Func_Prop_Type.FourQua] = function(funcData, heroData)
local config = HeroConfig[heroData.tId]
return funcData[config.Profession]
end,
[Func_Prop_Type.LikeAbility] = function(funcData, heroData)
return funcData
end,
-- 魂印羁绊属性加成
[Func_Prop_Type.EquipFetter] = function(funcData, heroData)
return funcData
end,
-- 主角修为属性加成
[Func_Prop_Type.Cultivation] = function(funcData, heroData)
return funcData
end,
-- 法宝之魂
[Func_Prop_Type.TailsManSou] = function(funcData, heroData)
return funcData
end,
-- 身外化身
[Func_Prop_Type.Incarnation] = function(funcData, heroData)
return funcData
end,
-- 命格
[Func_Prop_Type.Gem] = function(funcData, heroData)
return funcData
end,
--神兵属性加成
[Func_Prop_Type.Weapon] = 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)
end
end
return allPro
end,
--神兵羁绊属性加成
[Func_Prop_Type.WeaponFetter] = function(funcData, heroData)
return funcData
end,
}