| | |
| | | import GameFuncComm
|
| | | import IpyGameDataPY
|
| | | import ItemCommon
|
| | | import PassiveBuffEffMng
|
| | |
|
| | | ## 大师功能是否开启
|
| | | # @param curPlayer
|
| | |
| | | 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
|
| | |
| | | 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
|
| | |
|