From 2eec704540684c4de0c98bd6833e9a5a3a24f7e3 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 23 十月 2019 00:04:46 +0800 Subject: [PATCH] 8311 【恺英】【后端】新增装备评分参数(装备传奇技能增减属性效果支持) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 48 insertions(+), 1 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py index 512409f..046c782 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py @@ -2313,5 +2313,52 @@ # # return #=========================================================================== + +def GetSkillAddPerByID(curPlayer, skillTypeID): + ## 获取技能伤害百分比提升值 + # @param skillTypeID: 技能TypeID + SkillAddPerAttrIDDict = IpyGameDataPY.GetConfigEx("SkillAddPerAttrIDDict") + if not SkillAddPerAttrIDDict: + SkillAddPerAttrIDDict = {} + skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {}) + for attrIDStr, skillTypeIDList in skillPlusAttrIDDict.items(): + attrID = int(attrIDStr) + if attrID not in ShareDefine.SkillAddPerAttrIDList: + continue + for cfgSkillTypeID in skillTypeIDList: + SkillAddPerAttrIDDict[cfgSkillTypeID] = attrID + IpyGameDataPY.SetConfigEx("SkillAddPerAttrIDDict", SkillAddPerAttrIDDict) - \ No newline at end of file + if skillTypeID not in SkillAddPerAttrIDDict: + return 0 + curAttrID = SkillAddPerAttrIDDict[skillTypeID] + attrInfo = ChConfig.ItemEffect_AttrDict.get(curAttrID, []) + if attrInfo == []: + return 0 + effIndex = attrInfo[0][0] + return EffGetSet.GetValueByEffIndex(curPlayer, effIndex) + +def GetSkillReducePerByID(curPlayer, skillTypeID): + ## 获取技能伤害百分比减伤值 + # @param skillTypeID: 技能TypeID + SkillReducePerAttrIDDict = IpyGameDataPY.GetConfigEx("SkillReducePerAttrIDDict") + if not SkillReducePerAttrIDDict: + SkillReducePerAttrIDDict = {} + skillPlusAttrIDDict = IpyGameDataPY.GetFuncEvalCfg("SkillPlusAttrID", 2, {}) + for attrIDStr, skillTypeIDList in skillPlusAttrIDDict.items(): + attrID = int(attrIDStr) + if attrID not in ShareDefine.SkillReducePerAttrIDList: + continue + for cfgSkillTypeID in skillTypeIDList: + SkillReducePerAttrIDDict[cfgSkillTypeID] = attrID + IpyGameDataPY.SetConfigEx("SkillReducePerAttrIDDict", SkillReducePerAttrIDDict) + + if skillTypeID not in SkillReducePerAttrIDDict: + return 0 + curAttrID = SkillReducePerAttrIDDict[skillTypeID] + attrInfo = ChConfig.ItemEffect_AttrDict.get(curAttrID, []) + if attrInfo == []: + return 0 + effIndex = attrInfo[0][0] + return EffGetSet.GetValueByEffIndex(curPlayer, effIndex) + -- Gitblit v1.8.0