From a9e5ae2ed13bffe82038291776ffa68f65becce6 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期一, 10 六月 2019 10:57:18 +0800 Subject: [PATCH] 7145 【2.0】【后端】仙盟新增兑换活跃令功能 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py index 976c16d..458f9fe 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py @@ -26,7 +26,7 @@ import ShareDefine import PlayerActivity import NPCCustomRefresh -import ItemControler +import PlayerWeekParty import EventReport import NPCCommon import GameObj @@ -131,6 +131,7 @@ if not hadDelTicket: FBCommon.SetHadDelTicket(curPlayer) PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_HorsePetBoss, 1) + PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_HorsePetBoss, 1) EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_HorsePetBoss, 0, ChConfig.CME_Log_Start) EventShell.EventRespons_HorsePetBoss(curPlayer) if fbStep == FB_Step_Open: @@ -327,8 +328,8 @@ if not playerHurtList: GameWorld.Log(' __DoLogicHorsePetBossOver, 伤害榜上没有人!!lineID=%s'%lineID) return - - event = ["HorsePetBoss", False, {}] + bossID = CurFBLineBOSSID(lineID) + #event = ["HorsePetBoss", False, {}] batchPlayerIDList, batchAddItemList, batchParamList, batchDetailList = [], [], [], [] playerManager = GameWorld.GetMapCopyPlayerManager() worldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv) @@ -338,7 +339,7 @@ auctionItemList, itemList = __GetHorsePetBossAward(lineID, rank, worldLV) else: auctionItemList, itemList = [], [] - GameWorld.Log('auctionItemList=%s,itemList=%s'%(auctionItemList, itemList)) + GameWorld.Log('auctionItemList=%s,itemList=%s, rank=%s'%(auctionItemList, itemList, rank), playerID) giveItemList = auctionItemList+itemList player = playerManager.FindPlayerByID(playerID) if player: @@ -348,9 +349,8 @@ if itemList: overDict[FBCommon.Over_itemInfo] = FBCommon.GetJsonItemList(itemList) if giveItemList: - NPCCommon.DoVirtualItemDrop(player, giveItemList, dropPosX, dropPosY) - - ItemControler.GivePlayerItemOrMail(player, giveItemList, 'QCBOSS1', event) + NPCCommon.DoGiveItemByVirtualDrop(player, giveItemList, bossID, dropPosX, dropPosY, mailTypeKey='QCBOSS1') + player.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True) FBCommon.NotifyFBOver(player, ChConfig.Def_FBMapID_HorsePetBoss, lineID, isPass, overDict) elif giveItemList: @@ -388,21 +388,24 @@ if len(itemInfo) != 3: GameWorld.ErrLog('骑宠Boss奖励表 配置错误 itemInfo=%s' % itemInfo) continue + if not itemInfo[0]: + continue if itemInfo[2]: auctionItemList.append(itemInfo) else: itemList.append(itemInfo) - for doCnt, awardPieRateList in awardPieRateDict.items(): - for _ in xrange(doCnt): - resultItem = GameWorld.GetResultByRandomList(awardPieRateList) - if len(resultItem) != 3: - GameWorld.ErrLog('骑宠Boss奖励表配置错误 itemInfo=%s' % resultItem) - continue - if resultItem[2]: - auctionItemList.append(resultItem) - else: - itemList.append(resultItem) + for awardPieRateList in awardPieRateDict: + resultItem = GameWorld.GetResultByRandomList(awardPieRateList) + if len(resultItem) != 3: + GameWorld.ErrLog('骑宠Boss奖励表配置错误 itemInfo=%s' % resultItem) + continue + if not resultItem[0]: + continue + if resultItem[2]: + auctionItemList.append(resultItem) + else: + itemList.append(resultItem) return auctionItemList, itemList -- Gitblit v1.8.0