| | |
| | | import IPY_GameWorld
|
| | | import ChConfig
|
| | | import GameWorld
|
| | | import ReadChConfig
|
| | | import BuffSkill
|
| | | import SkillShell
|
| | | import PlayerPet
|
| | |
| | | # @return 返回值无意义
|
| | | # @remarks 初始化宠物属性
|
| | | def InitRolePet(rolePet, canSyncClient=True):
|
| | | #---初始化时钟,致命一击倍率---
|
| | | #---初始化时钟---
|
| | | NPCCommon.InitNPC(rolePet)
|
| | |
|
| | | #---初始化仇恨列表---
|
| | |
| | | rolePet.SetMinAtk(PlayerControl.GetPetMinAtk(curPlayer))
|
| | | rolePet.SetMaxAtk(PlayerControl.GetPetMaxAtk(curPlayer))
|
| | | rolePet.SetSkillAtkRate(PlayerControl.GetPetSkillAtkRate(curPlayer))
|
| | | GameObj.SetPetDamPer(rolePet, GameObj.GetPetDamPer(curPlayer))
|
| | | #rolePet.SetMAtkMin(curPlayer.GetMAtkMin())
|
| | | #rolePet.SetMAtkMax(curPlayer.GetMAtkMax())
|
| | | rolePet.SetHit(curPlayer.GetHit())
|
| | |
| | | def DoLogic_PetInfo_OnLogin(curPlayer, tick):
|
| | |
|
| | | petMgr = curPlayer.GetPetMgr()
|
| | |
|
| | | for index in range(0, petMgr.PetList_Cnt()):
|
| | | rolePet = petMgr.PetList_At(index)
|
| | | #刷新宠物信息并通知客户端
|
| | | __RefreshAndSyncPetInfo(rolePet)
|
| | | #自动出战宠物
|
| | | __AutoSummonPet_OnLogin(curPlayer, rolePet)
|
| | | if GameWorld.IsCrossServer():
|
| | | ''' 0435宠物出现包同步的ID是根据宠物的列表位置来的,比如在第2位发的就是2,而地图的可能是1,会导致ID不一致
|
| | | 所以跨服服务器登录时先清除出战宠物列表,确保登录地图成功后都是从1开始的即可
|
| | | '''
|
| | | petList = []
|
| | | for index in range(0, petMgr.PetList_Cnt()):
|
| | | rolePet = petMgr.PetList_At(index)
|
| | | petList.append(rolePet)
|
| | | for rolePet in petList:
|
| | | petMgr.PetList_SetFree(rolePet.GetRolePet().PetID)
|
| | | else:
|
| | | for index in range(0, petMgr.PetList_Cnt()):
|
| | | rolePet = petMgr.PetList_At(index)
|
| | | #刷新宠物信息并通知客户端
|
| | | __RefreshAndSyncPetInfo(rolePet)
|
| | | #自动出战宠物
|
| | | __AutoSummonPet_OnLogin(curPlayer, rolePet)
|
| | |
|
| | | return
|
| | | #---------------------------------------------------------------------
|