From c5d31a742fad33306e2ed5fd7f66084cb87c143c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 29 十一月 2018 02:25:21 +0800
Subject: [PATCH] 4762 【后端】改名后助战信息更新;(最长5分钟内,上下线会强更)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py | 34 ++++++++++++++++++++++++++++------
1 files changed, 28 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..5c08e81 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py
@@ -27,14 +27,31 @@
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
+
+def DoTalentOpen(curPlayer):
+ '''天赋功能开启处理天赋点 '''
+ curLV = curPlayer.GetLV()
+ openLV = GameFuncComm.GetFuncLimitLV(ShareDefine.GameFuncID_Talent)
+ setTalentPoint = 0
+ for lv in xrange(openLV, curLV+1):
+ lvIpyData = PlayerControl.GetPlayerLVIpyData(lv)
+ addTalentPoint = lvIpyData.GetTalentPoint() if lvIpyData else 0
+ setTalentPoint += addTalentPoint
+ curFreeSkillPoint = GetGreatMasterFreeSkillPoint(curPlayer)
+ if setTalentPoint != curFreeSkillPoint:
+ SetGreatMasterFreeSkillPoint(curPlayer, setTalentPoint)
+ Sync_GreatMasterFreeSkillPoint(curPlayer)
+ GameWorld.Log(' 天赋功能开启处理天赋点 beforeTalentPoint=%s,setTalentPoint=%s, curLV=%s'%(curFreeSkillPoint, setTalentPoint, curLV), curPlayer.GetID())
+ return
## 登录处理
# @param curPlayer
@@ -54,7 +71,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 +326,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 +341,8 @@
isRefreshAttr = True
resetPoint += curSkillLV
-
skillManager.DeleteSkillBySkillTypeID(skillTypeID)
+ delCnt +=1
if resetPoint <= 0:
GameWorld.DebugLog("不需要重置技能天赋!")
@@ -332,9 +351,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