From 4835f80fa01e236a25fff5999b307b44440aae7d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 20 六月 2019 16:53:26 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 专精替换需要改变特效 改成配置法宝ID

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
index 8b11b82..9ea133a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -649,7 +649,26 @@
         hasEffect = SkillCommon.GetSkillEffectByEffectID(curSkill, ChConfig.Def_Skill_Effect_ChangeSkillTypeID)
         if not hasEffect:
             return
-        self.ChangeSkill[hasEffect.GetEffectValue(0)] = curSkill.GetSkillTypeID()
+        changeSkillID = 0
+        
+        #找到对应法宝技能
+        upIpyData = IpyGameDataPY.GetIpyGameData('TreasureUp', hasEffect.GetEffectValue(0), 1)
+        if not upIpyData:
+            return
+        skillIDList = upIpyData.GetUnLockSkill()
+        for skillID in skillIDList:
+            skillData = GameWorld.GetGameData().FindSkillByType(skillID, 1)
+            if not skillData:
+                continue
+            if not SkillCommon.CheckSkillJob(self.gameObj, skillData):
+                continue
+            changeSkillID = skillID
+            break
+        
+        if changeSkillID == 0:
+            return
+        
+        self.ChangeSkill[changeSkillID] = curSkill.GetSkillTypeID()
         
         self.IsChangeSkill = True
         GameWorld.DebugLog("self.ChangeSkill  --- %s"%self.ChangeSkill)
@@ -817,6 +836,7 @@
             GameWorld.DebugLog("刷被动----")
             # 存在替换技能 目前需要刷新镶嵌的被动技能,存在多刷现象
             self.RegistPassiveEffSet(gameObj)
+            passiveEff.IsChangeSkill = False
             return True
         return
     

--
Gitblit v1.8.0