From 5be8f0f08671591fcc9adff29a307cdbb0d3d22a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 29 九月 2018 00:35:18 +0800
Subject: [PATCH] 3428 子 【开发】神兽技能 / 【后端】神兽技能 -- 优化可叠加的同技能配置,高级技能叠加问题

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 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 3955c86..4099682 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -1135,21 +1135,25 @@
         if curSkill.GetFuncType() != ChConfig.Def_SkillFuncType_Dogz:
             continue
         skillID = curSkill.GetSkillID()
-        if skillID in dogzSkills:
-            dogzSkills.remove(skillID)
-            continue
         
         delDogzSkills.append(skillID)
         
     GameWorld.DebugLog("PlayerDogzSkill:%s - 删除%s"%(dogzSkills, delDogzSkills))
     
-    # 删除非助战技能
+    # 删除神兽技能
     for skillID in delDogzSkills:
         skillManager.DeleteSkillBySkillID(skillID, False)
     
     # 添加助战技能,同类技能取最高
     dogzSkills.sort()
     for skillID in dogzSkills:
+        skillData = GameWorld.GetGameData().GetSkillBySkillID(skillID)
+        if not skillData:
+            continue
+        if skillData.GetSkillType() == ChConfig.Def_SkillType_AttrSkillNoLearn:
+            # 同技能可多个叠加的技能不能学,算属性时直接取表
+            continue
+        
         skillManager.LearnSkillByID(skillID, False)
     
     # 刷被动效果

--
Gitblit v1.8.0