From f0f101d1d778e26a2e3ecd368c90c8f52a7ea011 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 13 六月 2019 11:11:44 +0800
Subject: [PATCH] 7220 【后端】【2.0】灵器开发1.0版(删除绝版属性,原绝版属性转移到灵器属性)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py |   40 ++++++++++++++++++++++------------------
 1 files changed, 22 insertions(+), 18 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 ee9c4ae..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,10 +26,11 @@
 import ShareDefine
 import PlayerActivity
 import NPCCustomRefresh
-import ItemControler
+import PlayerWeekParty
 import EventReport
 import NPCCommon
 import GameObj
+import EventShell
 
 FBPlayerDict_EncourageLV = 'FBPlayerDict_EncourageLV'   # 鼓舞等级
 FBDict_IsOver = 'FBDict_IsOver' #是否已结算, 结算时的tick
@@ -130,8 +131,9 @@
     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:
             FBCommon.SetFBStep(FB_Step_Fighting, tick)
     UpdateHurtInfo(curPlayer, 0, True)
@@ -326,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)
@@ -337,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:
@@ -347,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:
@@ -387,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