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