From 83fb126a34c08f737b94c694524a701828901617 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 25 十二月 2018 10:54:37 +0800
Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(赛季信息封包删除下赛季时间信息)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGreatMaster.py | 40 +++++++++++++++++++++++++++++++++-------
1 files changed, 33 insertions(+), 7 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..aee55dc 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,16 @@
SetGreatMasterFreeSkillPoint(curPlayer, freeSkillPoint + resetPoint)
Sync_GreatMasterFreeSkillPoint(curPlayer)
+ # 重新刷新被动技能
+ passiveEff = PassiveBuffEffMng.GetPassiveEffManager().InitObjPassiveEff(curPlayer)
+ passiveEff.RefreshPassiveSkill()
+ DataRecordPack.Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_ResetTalent, {'resetPoint':resetPoint})
if isRefreshAttr:
- curControl = PlayerControl.PlayerControl(curPlayer)
- #curControl.CalcPassiveBuffAttr()
- curControl.RefreshPlayerAttrByBuff()
+ # 重刷被动技能
+ PassiveBuffEffMng.GetPassiveEffManager().RegistPassiveEff(curPlayer)
+ # 重刷技能战力
+ curControl = PlayerControl.PlayerControl(curPlayer)
+ curControl.RefreshAllSkill()
+ curControl.RefreshPlayerAttrState()
return True
--
Gitblit v1.8.0