From 3ea80a39cf950e4dd7f65f44b3487b6787f45f4a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 14 五月 2019 20:46:11 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
index ca70991..1b2f8a6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -2060,6 +2060,8 @@
 
 ## 获取技能升级属性需求 rutrun attrID, attrvalue
 def GetSkillUpNeedAttr(stateSkillLV):return stateSkillLV /100000, stateSkillLV%100000
+## 获取技能专精类型
+def GetSkillElementType(curSkill): return curSkill.GetStateSkillLV() /100000
 
 #// A5 16 选择技能五行专精 #tagCMSelectSkillElement
 #
@@ -2092,10 +2094,11 @@
     if nextSkill:
         if CheckLearnSkillNeedAttr(curPlayer, nextSkill):
             updSelectSkillLV = activeSkillLV + 1
+            skillElementType = GetSkillElementType(nextSkill)
     isChangeSkill = False #是否变更生效的技能
     if updSelectSkillLV != activeSkillLV:
         #可升级则激活升一级
-        EventShell.EventRespons_ElementSkill(curPlayer, mainSkillID, updSelectSkillLV)
+        EventShell.EventRespons_ElementSkill(curPlayer, mainSkillID, skillElementType, updSelectSkillLV)
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementLV % selectSkillID, updSelectSkillLV)
         if curElementSkillID == selectSkillID:
             #正在使用的专精技能,则立即生效
@@ -2209,8 +2212,10 @@
     NotifyElementSkillInfo(curPlayer)
     return
 
-def GetElementSkillCnt(curPlayer, mainSkillIDList, activeLV):
+def GetElementSkillCnt(curPlayer, mainSkillIDList, activeLV, elementType=0):
     ##获取已选择的专精技能数量
+    # @param elementType: 专精类型,对应灵根ID
+    gameData = GameWorld.GetGameData()
     cnt = 0
     skillManager = curPlayer.GetSkillManager()
     for i in xrange(skillManager.GetSkillCount()):
@@ -2223,6 +2228,10 @@
             continue
         for ipyData in ipyDataList:
             elementSkillID = ipyData.GetElementSkillID()
+            if elementType:
+                elementSkillData = gameData.GetSkillBySkillID(elementSkillID)
+                if GetSkillElementType(elementSkillData) != elementType:
+                    continue
             curActiveLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SkillElementLV % elementSkillID)
             if curActiveLV >= activeLV:
                 cnt += 1

--
Gitblit v1.8.0