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

598 lines
29 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
local equipConfig = ConfigManager.GetConfig(ConfigName.EquipConfig)
local equipsuite = ConfigManager.GetConfig(ConfigName.EquipSuiteConfig)
local jewelConfig = ConfigManager.GetConfig(ConfigName.JewelConfig)
local jewelRankupConfig = ConfigManager.GetConfig(ConfigName.JewelRankupConfig)
local jewelResonanceConfig = ConfigManager.GetConfig(ConfigName.JewelResonanceConfig)
local passiveSkillLogicConfig = ConfigManager.GetConfig(ConfigName.PassiveSkillLogicConfig)
local XiuXianSkillConfig = ConfigManager.GetConfig(ConfigName.XiuXianSkillConfig)
Hero_Prop_Type = {
Base = 0, -- 基础属性,自身成长
Equip = 1, -- 装备
EquipTreasure = 2, -- 宝物
PassiveSkill = 4, -- 被动,天赋
Talisman = 5, -- 法宝
SoulPrint = 6, -- 魂印
SkinAdd = 7, -- 皮肤
LikeAbility = 8, -- 好感度
GodSoul = 9, -- 神魂
TailsManSou = 10, -- 法宝之魂
GodPrint = 11, --神印
}
local BattlePropToConfig = {}
local TargetPropToConfig = {}
-- 将战斗中的被动属性转为ui用的属性
local function BattlePropToUIProp(id, v, ct)
if not BattlePropToConfig[id] then
BattlePropToConfig[id] = ConfigManager.GetConfigDataByKey(ConfigName.PropertyConfig, "PropertyIdInBattle", id)
end
local config = BattlePropToConfig[id]
if not config then
return id, v
end
local propId = config.PropertyId
local style = config.Style
local value = style == 1 and v or v * 10000
if ct == 1 then
return propId, value
elseif ct == 2 then
-- 对固定值的百分比加成转换成 对应的属性
if style == 1 then
if not TargetPropToConfig[propId] then
TargetPropToConfig[propId] = ConfigManager.TryGetConfigDataByKey(ConfigName.PropertyConfig, "TargetPropertyId", propId)
end
if TargetPropToConfig[propId] then
local propId2 = TargetPropToConfig[propId].PropertyId
local value = TargetPropToConfig[propId].Style == 1 and v or v * 10000
if propId2 then
return propId2, value
end
end
end
return propId, value
elseif ct == 3 then
return propId, -value
elseif ct == 4 then
return propId, value
end
end
-- 被动技能转换为属性列表
local function PassiveListToPropList(skillids)
local propList = {} -- 自身属性
local conPropList = {} -- 条件属性
local teamPropList = {} -- 团队属性
local conTeamPropList = {} -- 团队条件属性
local dePropList = {} -- 百分比减益属性(特殊计算)
for i = 1, #skillids do
local skillid = skillids[i]
if passiveSkillLogicConfig[skillid] then
local curSkillData = passiveSkillLogicConfig[skillid]
if curSkillData.EffectiveRange > 1 then
local args = curSkillData.Value
-- 计算
local pId, v, ct,ele
if curSkillData.Type == 90 then -- [a]增加[b][c]改变 || a[属性]b[float]c[改变类型]
pId, v, ct = args[1], args[2], args[3]
elseif curSkillData.Type == 94 then -- 全体上阵武将增加[a]%[b],[c]改变 || a[float]b[属性]c[改变类型]
pId, v, ct = args[2], args[1], args[3]
elseif curSkillData.Type == 171 then -- 武将100级后每升一级[a]额外增加[b][c]改变(战斗外实现) || a[属性]b[float]c[改变类型]
pId, v, ct = args[1], args[2], args[3]
elseif curSkillData.Type == 129 then -- 全体上阵[a]元素角色增加[b]%[c][d]改变 || a[元素]b[float]c[属性]d[改变类型]
pId, v, ct = args[3], args[2], args[4]
elseif curSkillData.Type ==413 then
pId, v, ct,ele = args[3],args[2],args[4],args[1] --a[int],b[float],c[属性],d[int]
end
-- 获取UI属性
LogRed_Prop(string.format("args = %s|%s|%s", pId, v, ct))
local propId, value = BattlePropToUIProp(pId, v, ct)
LogRed_Prop(string.format("prop = %s|%s", propId, value))
if curSkillData.EffectiveRange == 2 then --战前个人
if ct == 4 then -- 减益效果
table.insert(dePropList, {propId = propId ,value = value})
elseif curSkillData.Type == 171 then -- 100级才开始加成(个人条件属性)
local propList = {}
propList[propId] = value
table.insert(conPropList, {type = Condition_Prop_Type.LV_100, propList = propList, args = args})
else
if not propList[propId] then
propList[propId] = 0
end
propList[propId] = propList[propId] + value
end
else
-- 条件
if curSkillData.Type == 129 then -- (团队条件属性)
local propList = {}
propList[propId] = value
table.insert(conTeamPropList, {type = Condition_Prop_Type.ELE_TEAM_ADD, propList = propList, args = args})
elseif curSkillData.Type == 413 then
local propList = {}
propList[propId] = value
table.insert(conTeamPropList, {type = Condition_Prop_Type.TEAM_ELE_NUM, propList = propList, args = args})
else
if not teamPropList[propId] then
teamPropList[propId] = 0
end
teamPropList[propId] = teamPropList[propId] + value
end
end
end
end
end
return propList, conPropList, teamPropList, conTeamPropList, dePropList
end
Hero_Prop_Func = {
-- 基础属性计算
[Hero_Prop_Type.Base] = function(_heroData)
local allAddProVal = {}
local tData = heroConfig[_heroData.tId]
local curLvNum = _heroData.lv
local breakId = _heroData.breakId
local upStarId = _heroData.upStarId
allAddProVal[HeroProType.Attack] = HeroManager.CalculateProVal( tData.Attack, curLvNum,breakId, upStarId, HeroProType.Attack)
allAddProVal[HeroProType.Hp] = HeroManager.CalculateProVal(tData.Hp, curLvNum, breakId, upStarId, HeroProType.Hp)
allAddProVal[HeroProType.PhysicalDefence] = HeroManager.CalculateProVal(tData.PhysicalDefence, curLvNum, breakId, upStarId, HeroProType.PhysicalDefence)
allAddProVal[HeroProType.MagicDefence] = HeroManager.CalculateProVal(tData.MagicDefence, curLvNum, breakId, upStarId, HeroProType.MagicDefence)
local subProp = tData.SecondaryFactor
if subProp then
for i = 1, #subProp do
local propType = subProp[i][1]
local propValue = subProp[i][2]
if not allAddProVal[propType] then
allAddProVal[propType] = 0
end
allAddProVal[propType] = allAddProVal[propType] + propValue
end
end
return allAddProVal
end,
-- 普通装备
[Hero_Prop_Type.Equip] = function(_heroData)
local equipIdList = {}
local addAllProVal = {}
for i, v in ConfigPairs(propertyConfig) do
addAllProVal[i] = 0
end
local curHeroData = _heroData
if curHeroData then
for i = 1, #curHeroData.equipList do
table.insert(equipIdList,curHeroData.equipList[i].id)
end
local equipSuit = HeroManager.GetCurHeroEquipSuitPros(equipIdList)
--[id] = 件数
for i = 1, #equipIdList do
local curEquip = _heroData.equipList[i]
if curEquip then
for index, prop in ipairs(curEquip.mainAttribute) do
local id = prop.propertyId
local value = prop.propertyValue
if addAllProVal[id] then
addAllProVal[id] = addAllProVal[id] + value
else
addAllProVal[id] = value
end
if propertyConfig[id].Style == 1 then--摘星阁加持
--LogError("addlevel=="..HomeLandManager.LevelToValue(curEquip.homeEquipLv,curEquip.position))
addAllProVal[id] = addAllProVal[id] + math.ceil(addAllProVal[id] * HomeLandManager.GetHeroEquipPropAdd(_heroData.dId,curEquip.position)/10000)
end
end
end
end
if equipSuit and #equipSuit > 0 then
for i, v in ipairs(equipSuit) do
local curSuitConfig = equipsuite[i]
local curProId = equipSuit[i][2][2]
local curProVal = equipSuit[i][2][3]
if addAllProVal[curProId] then
addAllProVal[curProId] = addAllProVal[curProId] + curProVal
else
addAllProVal[curProId] = curProVal
end
end
end
end
return addAllProVal
end,
--英雄身上宝器属性计算
[Hero_Prop_Type.EquipTreasure] = function(_heroData)
local addAllProVal = {}
local minLv
local mainRefineLv
for i = 1, #_heroData.treasureList do
local curEuipTreaSureData = _heroData.treasureList[i]
local curEuipTreaSureConfig = jewelConfig[curEuipTreaSureData.id]
for _, configInfo in ConfigPairs(jewelRankupConfig) do
--强化的属性
if
configInfo.PoolID == curEuipTreaSureConfig.LevelupPool and configInfo.Type == 1 and
configInfo.Level == curEuipTreaSureData.lv
then
for j = 1, #configInfo.Property do
if addAllProVal[configInfo.Property[j][1]] then
addAllProVal[configInfo.Property[j][1]] =
addAllProVal[configInfo.Property[j][1]] + configInfo.Property[j][2]
else
addAllProVal[configInfo.Property[j][1]] = configInfo.Property[j][2]
end
end
end
--精炼的属性
if
configInfo.PoolID == curEuipTreaSureConfig.RankupPool and configInfo.Type == 2 and
configInfo.Level == curEuipTreaSureData.refineLv
then
for j = 1, #configInfo.Property do
if addAllProVal[configInfo.Property[j][1]] then
addAllProVal[configInfo.Property[j][1]] =
addAllProVal[configInfo.Property[j][1]] + configInfo.Property[j][2]
else
addAllProVal[configInfo.Property[j][1]] = configInfo.Property[j][2]
end
end
end
--神应属性
if
configInfo.PoolID == curEuipTreaSureConfig.GodHoodPool and configInfo.Type == 3 and
configInfo.Level == curEuipTreaSureData.treeLv
then
for j = 1, SacredTreeManager.CulAttri(curEuipTreaSureData) do
if addAllProVal[configInfo.Property[j][1]] then
addAllProVal[configInfo.Property[j][1]] =
addAllProVal[configInfo.Property[j][1]] + configInfo.Property[j][2]
else
addAllProVal[configInfo.Property[j][1]] = configInfo.Property[j][2]
end
end
end
end
if #_heroData.treasureList > 1 then
--取 强化 精炼 最小值
if minLv then
if curEuipTreaSureData.lv < minLv then
minLv = curEuipTreaSureData.lv
end
else
minLv = curEuipTreaSureData.lv
end
if mainRefineLv then
if curEuipTreaSureData.refineLv < mainRefineLv then
mainRefineLv = curEuipTreaSureData.refineLv
end
else
mainRefineLv = curEuipTreaSureData.refineLv
end
end
end
--math.min()
--取 强化 精炼 共鸣属性
if #_heroData.treasureList > 1 then
local lvjewelResonanceConfig
local refineLvjewelResonanceConfig
for _, curjewelResonanceConfig in ConfigPairs(jewelResonanceConfig) do
if lvjewelResonanceConfig then
if
curjewelResonanceConfig.Type == 1 and curjewelResonanceConfig.Level <= minLv and
curjewelResonanceConfig.Id > lvjewelResonanceConfig.Id
then
lvjewelResonanceConfig = curjewelResonanceConfig
end
else
if curjewelResonanceConfig.Type == 1 and curjewelResonanceConfig.Level <= minLv then
lvjewelResonanceConfig = curjewelResonanceConfig
end
end
if refineLvjewelResonanceConfig then
if
curjewelResonanceConfig.Type == 2 and curjewelResonanceConfig.Level <= mainRefineLv and
curjewelResonanceConfig.Id > refineLvjewelResonanceConfig.Id
then
refineLvjewelResonanceConfig = curjewelResonanceConfig
end
else
if curjewelResonanceConfig.Type == 2 and curjewelResonanceConfig.Level <= mainRefineLv then
refineLvjewelResonanceConfig = curjewelResonanceConfig
end
end
end
--
if lvjewelResonanceConfig then
for j = 1, #lvjewelResonanceConfig.Property do
if addAllProVal[lvjewelResonanceConfig.Property[j][1]] then
addAllProVal[lvjewelResonanceConfig.Property[j][1]] =
addAllProVal[lvjewelResonanceConfig.Property[j][1]] +
lvjewelResonanceConfig.Property[j][2]
else
addAllProVal[lvjewelResonanceConfig.Property[j][1]] = lvjewelResonanceConfig.Property[j][2]
end
end
end
if refineLvjewelResonanceConfig then
for j = 1, #refineLvjewelResonanceConfig.Property do
if addAllProVal[refineLvjewelResonanceConfig.Property[j][1]] then
addAllProVal[refineLvjewelResonanceConfig.Property[j][1]] =
addAllProVal[refineLvjewelResonanceConfig.Property[j][1]] +
refineLvjewelResonanceConfig.Property[j][2]
else
addAllProVal[refineLvjewelResonanceConfig.Property[j][1]] =
refineLvjewelResonanceConfig.Property[j][2]
end
end
end
end
return addAllProVal
end,
-- 计算所有英雄被动技能的属性值
[Hero_Prop_Type.PassiveSkill] = function(_heroData)
local allOpenPassiveSkillIds = HeroManager.GetAllPassiveSkillIds(heroConfig[_heroData.tId], _heroData.breakId, _heroData.upStarId)
--单体加成 --团体加成 --单体等级限制加成 --减乘
local propList, conPropList, teamPropList, conTeamPropList, dePropList = PassiveListToPropList(allOpenPassiveSkillIds)
return propList, conPropList, teamPropList, conTeamPropList, dePropList
end,
-- 法宝
[Hero_Prop_Type.Talisman] = function(_heroData)
local addAllProVal = {}
local propList, conPropList, teamPropList, conTeamPropList, dePropList
local star = _heroData.star
local profession = heroConfig[_heroData.tId].Profession
local curTalisman = heroConfig[_heroData.tId].EquipTalismana
if curTalisman and star >= curTalisman[1] then
local talismanConFig = ConfigManager.GetConfigDataByDoubleKey(ConfigName.EquipTalismana, "TalismanaId", curTalisman[2], "Level", _heroData.talismanLv)
if talismanConFig then
--主属性
for j = 1, #talismanConFig.Property do
if addAllProVal[talismanConFig.Property[j][1]] then
addAllProVal[talismanConFig.Property[j][1]] =
addAllProVal[talismanConFig.Property[j][1]] + talismanConFig.Property[j][2]
else
addAllProVal[talismanConFig.Property[j][1]] = talismanConFig.Property[j][2]
end
end
--副属性
if talismanConFig.SpecialProperty and #talismanConFig.SpecialProperty > 0 then
for k = 1, #talismanConFig.SpecialProperty do
if talismanConFig.SpecialProperty[k][1] == profession then
if addAllProVal[talismanConFig.SpecialProperty[k][2]] then
addAllProVal[talismanConFig.SpecialProperty[k][2]] =
addAllProVal[talismanConFig.SpecialProperty[k][2]] +
talismanConFig.SpecialProperty[k][3]
else
addAllProVal[talismanConFig.SpecialProperty[k][2]] =
talismanConFig.SpecialProperty[k][3]
end
end
end
end
--当前法宝全部天赋数据(天赋可能为空)
local dowerAllData =
ConfigManager.GetAllConfigsDataByKey(ConfigName.EquipTalismana, "TalismanaId", curTalisman[2])
local skillIds = {}
--LogError("当前法宝全部天赋数据 "..curTalisman[2].." "..#dowerAllData.." "..curHeroData.talismanList)
for i = 1, #dowerAllData do
if dowerAllData[i].OpenSkillRules and _heroData.talismanLv >= dowerAllData[i].Level then
for k = 1, #dowerAllData[i].OpenSkillRules do
table.insert(skillIds, dowerAllData[i].OpenSkillRules[k])
end
end
end
--被动技能计算
if skillIds and #skillIds > 0 then --talismanConFig.OpenSkillRules and #talismanConFig.OpenSkillRules > 0 then
--单体加成 --单体等级限制加成 --团体加成 --减乘
propList, conPropList, teamPropList, conTeamPropList, dePropList = PassiveListToPropList(skillIds)
end
end
end
if propList and LengthOfTable(propList) > 0 then
for i, v in pairs(propList) do
if addAllProVal[i] then
addAllProVal[i] = addAllProVal[i] + v
else
addAllProVal[i] = v
end
end
end
return addAllProVal, conPropList, teamPropList, conTeamPropList, dePropList
end,
-- 魂印
[Hero_Prop_Type.SoulPrint] = function(_heroData)
local allSoulPrintAddWarPowerVal = 0
if (table.nums(_heroData.soulPrintList) >= 1) then
for i = 1, #_heroData.soulPrintList do
local cursoulPrintConfig = equipConfig[_heroData.soulPrintList[i].equipId]
if cursoulPrintConfig then
allSoulPrintAddWarPowerVal = allSoulPrintAddWarPowerVal + cursoulPrintConfig.Score
end
end
end
-- local allAddProVal = {}
-- allAddProVal[HeroProType.WarPower] = allSoulPrintAddWarPowerVal
-- return allAddProVal
local addAllProVal = {}
local propList, conPropList, teamPropList, conTeamPropList, dePropList
local allPassiveSkill = {}
local curHeroData =_heroData
if curHeroData then
if(table.nums(curHeroData.soulPrintList) >= 1) then
for i = 1, #curHeroData.soulPrintList do
local cursoulPrintConfig = equipConfig[curHeroData.soulPrintList[i].equipId]
if cursoulPrintConfig then
--基础属性计算
local soulPrintPropertyList = cursoulPrintConfig.Property
if soulPrintPropertyList and #soulPrintPropertyList > 0 then
for i,v in pairs(soulPrintPropertyList) do
if(addAllProVal[v[1]]) then
addAllProVal[v[1]]=v[2]+addAllProVal[v[1]]
else
addAllProVal[v[1]]=v[2]
end
end
end
--被动技能计算
if cursoulPrintConfig.PassiveSkill and #cursoulPrintConfig.PassiveSkill > 0 then
for j = 1, #cursoulPrintConfig.PassiveSkill do
table.insert(allPassiveSkill,cursoulPrintConfig.PassiveSkill[j])
end
end
end
end
end
end
--被动技能计算
if allPassiveSkill and #allPassiveSkill > 0 then --talismanConFig.OpenSkillRules and #talismanConFig.OpenSkillRules > 0 then
--单体加成 --单体等级限制加成 --团体加成 --减乘
propList, conPropList, teamPropList, conTeamPropList, dePropList = PassiveListToPropList(allPassiveSkill)
end
if propList and LengthOfTable(propList) > 0 then
for i,v in pairs(propList) do
if addAllProVal[i] then
addAllProVal[i] = addAllProVal[i] + v
else
addAllProVal[i] = v
end
end
end
addAllProVal[HeroProType.WarPower] = allSoulPrintAddWarPowerVal
return addAllProVal, conPropList, teamPropList, conTeamPropList, dePropList
end,
-- 神印
[Hero_Prop_Type.GodPrint] = function(_heroData)
local allSoulPrintAddWarPowerVal = 0
if (_heroData.godPrintList and table.nums(_heroData.godPrintList) >= 1) then
for i = 1, #_heroData.godPrintList do
local cursoulPrintConfig = equipConfig[_heroData.godPrintList[i].equipId]
if cursoulPrintConfig then
allSoulPrintAddWarPowerVal = allSoulPrintAddWarPowerVal + cursoulPrintConfig.Score
end
end
end
local addAllProVal = {}
local propList, conPropList, teamPropList, conTeamPropList, dePropList
local allPassiveSkill = {}
local curHeroData =_heroData
if curHeroData then
if(_heroData.godPrintList and table.nums(curHeroData.godPrintList) >= 1) then
for i = 1, #curHeroData.godPrintList do
local cursoulPrintConfig = equipConfig[curHeroData.godPrintList[i].equipId]
if cursoulPrintConfig then
--基础属性计算
local soulPrintPropertyList = cursoulPrintConfig.Property
if soulPrintPropertyList and #soulPrintPropertyList > 0 then
for i,v in pairs(soulPrintPropertyList) do
if(addAllProVal[v[1]]) then
addAllProVal[v[1]]=v[2]+addAllProVal[v[1]]
else
addAllProVal[v[1]]=v[2]
end
end
end
--被动技能计算
if cursoulPrintConfig.PassiveSkill and #cursoulPrintConfig.PassiveSkill > 0 then
for j = 1, #cursoulPrintConfig.PassiveSkill do
table.insert(allPassiveSkill,cursoulPrintConfig.PassiveSkill[j])
end
end
end
end
end
end
--被动技能计算
if allPassiveSkill and #allPassiveSkill > 0 then --talismanConFig.OpenSkillRules and #talismanConFig.OpenSkillRules > 0 then
--单体加成 --单体等级限制加成 --团体加成 --减乘
propList, conPropList, teamPropList, conTeamPropList, dePropList = PassiveListToPropList(allPassiveSkill)
end
if propList and LengthOfTable(propList) > 0 then
for i,v in pairs(propList) do
if addAllProVal[i] then
addAllProVal[i] = addAllProVal[i] + v
else
addAllProVal[i] = v
end
end
end
addAllProVal[HeroProType.WarPower] = allSoulPrintAddWarPowerVal
--LogError("神印 addAllProVal=="..addAllProVal)
-- PrintTable(addAllProVal)
return addAllProVal, conPropList, teamPropList, conTeamPropList, dePropList
end,
-- 皮肤
[Hero_Prop_Type.SkinAdd] = function(_heroData)
local propList, conPropList, teamPropList, conTeamPropList, dePropList
local heroSkinSingleProVal = {}
local heroSkinAllHeroProVal = {}
if _heroData.skinId ~= 0 then
if HeroSkinManager.skinDatas[_heroData.skinId] and HeroSkinManager.skinDatas[_heroData.skinId].MonomerProperty and #HeroSkinManager.skinDatas[_heroData.skinId].MonomerProperty > 0 then
for _,v in ipairs(HeroSkinManager.skinDatas[_heroData.skinId].MonomerProperty) do
if not heroSkinSingleProVal[v[1]] then
heroSkinSingleProVal[v[1]] = 0
end
heroSkinSingleProVal[v[1]] = heroSkinSingleProVal[v[1]] + v[2]
end
end
end
for _,v in pairs(HeroSkinManager.skinDatas) do
if _heroData.skinId ~= v.id then
if HeroSkinManager.skinDatas[v.id] and HeroSkinManager.skinDatas[v.id].UnlockProperty and #HeroSkinManager.skinDatas[v.id].UnlockProperty > 0 then
for _,n in ipairs(HeroSkinManager.skinDatas[v.id].UnlockProperty) do
if not heroSkinAllHeroProVal[n[1]] then
heroSkinAllHeroProVal[n[1]] = 0
end
heroSkinAllHeroProVal[n[1]] = heroSkinAllHeroProVal[n[1]] + n[2]
end
end
end
end
propList = heroSkinSingleProVal
teamPropList = heroSkinAllHeroProVal
return propList, conPropList, teamPropList, conTeamPropList, dePropList
end,
-- 好感度
[Hero_Prop_Type.LikeAbility] = function(_heroData)
local SingleProVal, AllHeroProVal = LikabilityManager.GetTotalForce(_heroData)
return SingleProVal
end,
[Hero_Prop_Type.GodSoul] = function(_heroData)
local propList, conPropList, teamPropList, conTeamPropList, dePropList
local SingleProVal = GodSoulManager.GetHeroGodSoulDatas(_heroData.dId,_heroData.tId, _heroData.godSoulLv)
if SingleProVal and #SingleProVal > 0 then --talismanConFig.OpenSkillRules and #talismanConFig.OpenSkillRules > 0 then
--单体加成 --单体等级限制加成 --团体加成 --减乘
propList, conPropList, teamPropList, conTeamPropList, dePropList = PassiveListToPropList(SingleProVal)
end
return propList, conPropList, teamPropList, conTeamPropList, dePropList
end,
[Hero_Prop_Type.TailsManSou] = function(_heroData)
--属性相关修改
local propList, conPropList, teamPropList, conTeamPropList, dePropList
local SingleProVal = TailsManSoulManager.GetTailsmanPassivePower1(_heroData)
if SingleProVal and #SingleProVal > 0 then
propList, conPropList, teamPropList, conTeamPropList, dePropList = PassiveListToPropList(SingleProVal)
end
return propList, conPropList, teamPropList, conTeamPropList, dePropList
end,
}