| | |
| | | import ChEquip
|
| | | import PlayerVip
|
| | |
|
| | | import random
|
| | |
|
| | | g_succInfoDict = {}
|
| | | g_potentialsSkillDict = {}
|
| | | ##登录处理
|
| | |
| | | #infoDict = {"SkillID":skillTypeID, "SkillLV":upSkillLv, ChConfig.Def_Cost_Reason_SonKey:upSkill.GetSkillName()}
|
| | | if not PlayerControl.PlayerLostZhenQi(curPlayer, needSP):
|
| | | return
|
| | | |
| | | if not GameWorld.CanHappen(initRate):
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | maxRateValue = ShareDefine.Def_MaxRateValue
|
| | | randValue = random.randint(0, maxRateValue-1)
|
| | | canHappen = randValue < initRate
|
| | | GameWorld.DebugLog("canHappen=%s,randValue=%s,initRate=%s,maxRateValue=%s" |
| | | % (canHappen, randValue, initRate, maxRateValue), playerID)
|
| | | # 不是百分百成功的记录合成流向
|
| | | if initRate != maxRateValue:
|
| | | drDict = {"PlayerID":playerID, "AccID":curPlayer.GetAccID(), "skillTypeID":skillTypeID, "IsSuccess":canHappen,
|
| | | "initRate":initRate, "randValue":randValue, "maxRateValue":maxRateValue}
|
| | |
|
| | | DataRecordPack.SendEventPack("MagicWeaponSkillUp", drDict, curPlayer)
|
| | |
|
| | | if not canHappen:
|
| | | GameWorld.DebugLog("法宝技能升级,curSkillID=%s, maxRate=%s 升级失败" % (curSkillID, initRate))
|
| | | curPlayer.Sync_MakeItemAnswer(ShareDefine.Def_mitMagicWeaponSkillUp, 0)
|
| | | return
|
| | |
| | |
|
| | | curPlayer.Sync_MakeItemAnswer(ShareDefine.Def_mitMagicWeaponSkillUp, 1)
|
| | |
|
| | | SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_MWSkillUp, 1, True)
|
| | | SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_MWSkillUp, GetSPSkillTotalLV(curPlayer))
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_MWSkillUp, 1, [skillTypeID])
|
| | | EventShell.EventRespons_MWSkillUp(curPlayer)
|
| | | return
|
| | |
|
| | |
|
| | | def GetSPSkillTotalLV(curPlayer):
|
| | | #潜力技能总等级
|
| | | totalLV = 0
|
| | | skillManager = curPlayer.GetSkillManager()
|
| | | for i in xrange(skillManager.GetSkillCount()):
|
| | | curSkill = skillManager.GetSkillByIndex(i)
|
| | | if curSkill.GetFuncType() != ChConfig.Def_SkillFuncType_FbSPSkill:
|
| | | continue
|
| | | totalLV += curSkill.GetSkillLV()
|
| | | return totalLV
|
| | |
|
| | | def NotifyMagicWeapon(curPlayer, isLogin=False):
|
| | | #通知法宝信息
|
| | |
| | | succCnt = ipyDataMgr.GetXBXZCount()
|
| | | if not succCnt:
|
| | | return
|
| | | maxSuccid = ipyDataMgr.GetSuccessByIndex(succCnt-1).GetID()
|
| | | maxSuccid = ipyDataMgr.GetXBXZByIndex(succCnt-1).GetID()
|
| | | recordIndexList = range(maxSuccid / 31+1)
|
| | |
|
| | | succFARPack = ChPyNetSendPack.tagMCXBXZAwardRecordList()
|