From 6f39d0dbfb8d019f16ad69151189cb4dc1f0af96 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 04 七月 2019 20:43:10 +0800 Subject: [PATCH] 7839 【后端】【主干】仙盟boss两只boss开出配置,分开配置 仙盟boss掉落表现加上橙装假掉落 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py index 55ba478..865ea0f 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py @@ -387,12 +387,13 @@ 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) @@ -402,7 +403,7 @@ 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) @@ -431,13 +432,15 @@ 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 -- Gitblit v1.8.0