From 77c10c032db0be7e93657c450d90c580b1175ca3 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:02:03 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(增加可根据地图配置某些被动技能功能分类无效)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 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 58a77c6..64f295e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -41,6 +41,7 @@
 import PetControl
 import QuestCommon
 import ItemCommon
+import FBCommon
 
 GameWorld.ImportAll("Script\\Skill\\", "PassiveBuff")
 
@@ -717,6 +718,11 @@
     def RefreshPassiveSkill(self):
         self.AffectSkillDict = {}
         self.ChangeSkill = {}
+        mapID = FBCommon.GetRecordMapID(GameWorld.GetGameWorld().GetMapID())
+        invalidPassiveSkillFuncTypeDict = IpyGameDataPY.GetFuncEvalCfg("PassiveSkillEffect", 1, {})
+        invalidPassiveSkillFuncTypeList = invalidPassiveSkillFuncTypeDict.get(mapID, [])
+        if invalidPassiveSkillFuncTypeList:
+            GameWorld.Log("本地图无效的被动技能功能分类列表: mapID=%s,%s" % (mapID, str(invalidPassiveSkillFuncTypeList)))
         skillManager = self.gameObj.GetSkillManager()
         for i in range(0 , skillManager.GetSkillCount()):
             curSkill = skillManager.GetSkillByIndex(i)
@@ -738,6 +744,10 @@
             
             skillTypeID = curSkill.GetSkillTypeID()
             connSkillID = SkillShell.GetConnectSkillID(curSkill)    # 关联技能ID, 0代表不限技能
+            if invalidPassiveSkillFuncTypeList and curSkill.GetFuncType() in invalidPassiveSkillFuncTypeList:
+                #GameWorld.DebugLog("无效的被动技能: skillTypeID=%s,skillID=%s,connSkillID=%s,funcType=%s" 
+                #                   % (skillTypeID, curSkill.GetSkillID(), connSkillID, curSkill.GetFuncType()))
+                continue
             for i in xrange(curSkill.GetEffectCount()):
                 curEffect = curSkill.GetEffect(i)
                 effectID = curEffect.GetEffectID()

--
Gitblit v1.8.0