| | |
| | | familyID = hurtInfo[0]
|
| | | memberIDList = hurtInfo[1][2]
|
| | | memberCnt = len(memberIDList)
|
| | | familyAuctionItemList, menberItemList = __GetFamilyBossAward(rank, worldLV)
|
| | | familyAuctionItemList, menberItemList = __GetFamilyBossAward(bossID, rank, worldLV)
|
| | | GameWorld.Log('rank=%s,worldLV=%s,familyAuctionItemList=%s,menberItemList=%s,memberCnt=%s' % (rank, worldLV, familyAuctionItemList, menberItemList, memberCnt), familyID)
|
| | | |
| | | extraVirtualItemList = [] #额外展示假掉落的物品
|
| | | overDict = {FBCommon.Over_rank:rank, 'memberCnt':len(memberIDList)}
|
| | | if memberCnt >= needMemberCnt and familyAuctionItemList: #仙盟拍品
|
| | | familyAuctionItemDict[familyID] = [memberIDList, familyAuctionItemList]
|
| | | extraVirtualItemList = familyAuctionItemList
|
| | | overDict['AuctionItem'] = FBCommon.GetJsonItemList(familyAuctionItemList)
|
| | | if menberItemList: #成员奖励
|
| | | overDict[FBCommon.Over_itemInfo] = FBCommon.GetJsonItemList(menberItemList)
|
| | |
| | | member = playerManager.FindPlayerByID(memberID)
|
| | | if member:
|
| | | if menberItemList:
|
| | | NPCCommon.DoGiveItemByVirtualDrop(member, menberItemList, bossID, dropPosX, dropPosY, mailTypeKey='LeagueBOSS1')
|
| | | NPCCommon.DoGiveItemByVirtualDrop(member, menberItemList, bossID, dropPosX, dropPosY, False, 'LeagueBOSS1', extraVirtualItemList)
|
| | | #ItemControler.GivePlayerItemOrMail(member, menberItemList, 'LeagueBOSS1', event)
|
| | | member.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
|
| | | FBCommon.NotifyFBOver(member, ChConfig.Def_FBMapID_AllFamilyBoss, lineID, isPass, overDict)
|
| | |
| | | return
|
| | |
|
| | |
|
| | | def __GetFamilyBossAward(rank, worldLV):
|
| | | def __GetFamilyBossAward(bossID, rank, worldLV):
|
| | | familyAuctionItemList, menberItemList = [], []
|
| | | awardRateList = []
|
| | | awardPieRateDict = {}
|
| | | ipyMgr = IpyGameDataPY.IPY_Data()
|
| | | for i in xrange(ipyMgr.GetFamilyBossAwardCount()):
|
| | | ipyData = ipyMgr.GetFamilyBossAwardByIndex(i)
|
| | | ipyDataList = IpyGameDataPY.GetIpyGameDataList('FamilyBossAward', bossID)
|
| | | if not ipyDataList:
|
| | | return familyAuctionItemList, menberItemList
|
| | | |
| | | for ipyData in ipyDataList:
|
| | | worldLVList = ipyData.GetWorldLV()
|
| | | if worldLV < worldLVList[0] or worldLV > worldLVList[1]:
|
| | | continue
|