| | |
| | | return True
|
| | |
|
| | |
|
| | | def DoPetActivate(curPlayer, index, classlv):
|
| | | def DoPetActivate(curPlayer, index, classlv=None, refresh=True):
|
| | | ##直接激活 外部调用GM测试用
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | petInfoCount = ipyDataMgr.GetPetInfoCount()
|
| | | if petInfoCount <= 0 or index > petInfoCount:
|
| | | GameWorld.ErrLog("激活宠物超过宠物表数据数: index=%s,petInfoCount=%s" % (index, petInfoCount))
|
| | | return
|
| | | petNPCID = ipyDataMgr.GetPetInfoByIndex(index - 1).GetID()
|
| | | quality = ipyDataMgr.GetPetInfoByIndex(index - 1).GetQuality()
|
| | | petIpyData = ipyDataMgr.GetPetInfoByIndex(index - 1)
|
| | | petNPCID = petIpyData.GetID()
|
| | | quality = petIpyData.GetQuality()
|
| | | maxClassLV = petIpyData.GetMaxRank()
|
| | | |
| | | petPackIndex = ShareDefine.rptPet
|
| | | petPack = curPlayer.GetItemManager().GetPack(petPackIndex)
|
| | | for i in range(petPack.GetCount()):
|
| | |
| | | continue
|
| | | petItemNPCID = packItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | if petItemNPCID == petNPCID:
|
| | | packItem.SetUserAttr(ShareDefine.Def_IudetPet_ClassLV, max(0, classlv - 1))
|
| | | if classlv:
|
| | | packItem.SetUserAttr(ShareDefine.Def_IudetPet_ClassLV, max(0, min(classlv, maxClassLV) - 1))
|
| | | packItem.SetUserAttr(ShareDefine.Def_IudetPet_QualityLV, quality) # 宠物品质
|
| | | GameWorld.DebugLog("已经拥有该宠物! i=%s,petItemNPCID=%s,petNPCID=%s" % (i, petItemNPCID, petNPCID))
|
| | | return
|
| | | return True
|
| | |
|
| | | |
| | | if classlv == None:
|
| | | classlv = 1
|
| | | classlv = min(classlv, maxClassLV)
|
| | | newPetItem = GetNewPetDataItem(curPlayer, petNPCID, classlv)
|
| | | if not newPetItem:
|
| | | return
|
| | |
| | |
|
| | | if not ItemControler.PlayerItemControler(curPlayer).PutInItem(petPackIndex, newPetItem):
|
| | | return
|
| | | if not refresh:
|
| | | return True
|
| | | petItemIndex = GetPetDataItemIndexByNPCID(curPlayer, petNPCID)
|
| | | DoChangePetState(curPlayer, petItemIndex, ShareDefine.Def_PetState_Fight)
|
| | | RefreshPetItemAddAttr(curPlayer, True)
|
| | | return
|
| | | return True
|
| | | #===============================================================================
|
| | |
|
| | |
|