| | |
| | | # @param curPlayer 玩家
|
| | | # @return None
|
| | | def PlayerHorseLogin(curPlayer):
|
| | | if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_Horse):
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_Horse, 1)
|
| | | #等级不能超上限,技能删了重新学
|
| | | skillManager = curPlayer.GetSkillManager()
|
| | | delCnt = 0
|
| | | for i in xrange(skillManager.GetSkillCount()):
|
| | | dataIndex = i-delCnt
|
| | | skill = skillManager.GetSkillByIndex(dataIndex)
|
| | | if skill == None:
|
| | | continue
|
| | | if skill.GetFuncType() != ChConfig.Def_SkillFuncType_HorseSkill:
|
| | | continue
|
| | | skillTypeID = skill.GetSkillTypeID()
|
| | | skillManager.DeleteSkillBySkillTypeID(skillTypeID)
|
| | | delCnt += 1
|
| | | |
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for i in xrange(ipyDataMgr.GetHorseCount()):
|
| | | ipyData = ipyDataMgr.GetHorseByIndex(i)
|
| | | horseID = ipyData.GetHorseID()
|
| | | curlv = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Horser_LV % horseID, 0, ChConfig.Def_PDictType_Horse)
|
| | | if not curlv:
|
| | | continue
|
| | | maxLV = ipyData.GetMaxLV()
|
| | | if curlv > maxLV:
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Horser_LV % horseID, maxLV, ChConfig.Def_PDictType_Horse)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Horser_Exp % horseID, 0, ChConfig.Def_PDictType_Horse)
|
| | | GameWorld.Log(' 老号坐骑等级超过上限,坐骑ID=%s,原LV=%s,重置为=%s'%(horseID, curlv, maxLV))
|
| | | curlv = maxLV
|
| | | |
| | | for lv in xrange(1, curlv + 1):
|
| | | upIpyData = IpyGameDataPY.GetIpyGameData("HorseUp", horseID, lv)
|
| | | if not upIpyData:
|
| | | break
|
| | | skillIDList = upIpyData.GetSkillID()
|
| | | if not skillIDList:
|
| | | continue
|
| | | for skillID in skillIDList:
|
| | | __GiveSkill(curPlayer, skillID, tick)
|
| | | # 重刷战力
|
| | | curControl = PlayerControl.PlayerControl(curPlayer)
|
| | | curControl.RefreshAllSkill()
|
| | | RefreshHorseAttr(curPlayer)
|
| | | |
| | | |
| | | Sync_HorseClassData(curPlayer)
|
| | | return
|
| | |
|