From f460b6035d693dd40c361f7c289c5dac2a2a32a1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 16 十月 2018 16:30:12 +0800
Subject: [PATCH] 4201 【主干】【后端】新增战斗力参数:移动速度百分比

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py
index 6ba891d..813fb9d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py
@@ -27,12 +27,13 @@
 import GameFuncComm
 import IpyGameDataPY
 import ItemCommon
+import PassiveBuffEffMng
 
 ## 大师功能是否开启
 #  @param curPlayer
 #  @return
 def IsGreatMasterOpen(curPlayer):
-    if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_GreatMaster):
+    if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Talent):
         return False
     return True
 
@@ -54,7 +55,7 @@
     if not addPoint:
         return
     curFreeSkillPoint = GetGreatMasterFreeSkillPoint(curPlayer)
-    #GameWorld.DebugLog("大师天赋点!curFreeSkillPoint = %s"%curFreeSkillPoint)
+    GameWorld.DebugLog("大师天赋点!curFreeSkillPoint = %s"%curFreeSkillPoint)
     SetGreatMasterFreeSkillPoint(curPlayer, curFreeSkillPoint + addPoint)
     Sync_GreatMasterFreeSkillPoint(curPlayer)
     return
@@ -309,8 +310,10 @@
     skillManager = curPlayer.GetSkillManager()
     
     isRefreshAttr = False
+    delCnt = 0
     for i in range(0, skillManager.GetSkillCount()):
-        skill = skillManager.GetSkillByIndex(i)
+        dataIndex = i-delCnt
+        skill = skillManager.GetSkillByIndex(dataIndex)
         if skill == None:
             continue
         skillTypeID = skill.GetSkillTypeID()
@@ -322,8 +325,8 @@
             isRefreshAttr = True
         
         resetPoint += curSkillLV
-        
         skillManager.DeleteSkillBySkillTypeID(skillTypeID)
+        delCnt +=1
             
     if resetPoint <= 0:
         GameWorld.DebugLog("不需要重置技能天赋!")
@@ -332,9 +335,12 @@
     SetGreatMasterFreeSkillPoint(curPlayer, freeSkillPoint + resetPoint)
     Sync_GreatMasterFreeSkillPoint(curPlayer)
     
+    # 重新刷新被动技能
+    passiveEff = PassiveBuffEffMng.GetPassiveEffManager().InitObjPassiveEff(curPlayer)
+    passiveEff.RefreshPassiveSkill()
+    
     if isRefreshAttr:
         curControl = PlayerControl.PlayerControl(curPlayer)
-        #curControl.CalcPassiveBuffAttr()
-        curControl.RefreshPlayerAttrByBuff()
+        curControl.RefreshPlayerAttrState()
     return True
 

--
Gitblit v1.8.0