From 469a1fd9bb55f55195fe3f7f30553e61145cc4e4 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 22 四月 2019 14:27:34 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(采集物可配置攻击是否打断采集)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 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 8df0ab8..8a91e67 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
@@ -151,10 +151,9 @@
     if not hadDelTicket:
         FBCommon.SetHadDelTicket(curPlayer)
         FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_AllFamilyBoss, 1)
-        if lineID == 0:
-            PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyBoss1, 1)
-        else:
-            PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyBoss2, 1)
+        
+        PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_FamilyBoss1, 1)
+        
         if fbStep == FB_Step_Open:
             FBCommon.SetFBStep(FB_Step_Fighting, tick)
 
@@ -442,8 +441,8 @@
             curPlayer = playerManager.GetPlayerByIndex(index)
             if not curPlayer:
                 continue
-            member.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
-            FBCommon.NotifyFBOver(member, ChConfig.Def_FBMapID_AllFamilyBoss, lineID, isPass)
+            curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
+            FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_AllFamilyBoss, lineID, isPass)
   
     return
 
@@ -451,6 +450,7 @@
 def __GetFamilyBossAward(rank, worldLV):
     familyAuctionItemList, menberItemList = [], []
     awardRateList = []
+    awardPieRateDict = {}
     ipyMgr = IpyGameDataPY.IPY_Data()
     for i in xrange(ipyMgr.GetFamilyBossAwardCount()):
         ipyData = ipyMgr.GetFamilyBossAwardByIndex(i)
@@ -460,8 +460,9 @@
         rankList = ipyData.GetRank()
         if rank < rankList[0] or rank > rankList[1]:
             continue
-        awardRateList = ipyData.GetAward()
-    if not awardRateList:
+        awardRateList = ipyData.GetAward1()
+        awardPieRateDict = ipyData.GetAward2()
+    if not awardRateList and not awardPieRateDict:
         GameWorld.ErrLog('仙盟Boss奖励表 未配置该奖励 rank=%s,worldLV=%s' % (rank, worldLV))
         return familyAuctionItemList, menberItemList
     for rate, itemInfo in awardRateList:
@@ -474,6 +475,16 @@
             familyAuctionItemList.append(itemInfo)
         else:
             menberItemList.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]:
+                familyAuctionItemList.append(resultItem)
+            else:
+                menberItemList.append(resultItem)
     
     return familyAuctionItemList, menberItemList
 
@@ -505,7 +516,7 @@
                 lineID = GameWorld.GetGameWorld().GetPropertyID() - 1
                 bossID = CurFBLineBOSSID(lineID)
                 msgMark = 'AllianceBossHP1' if lineID == 0 else 'AllianceBossHP2'
-                PlayerControl.WorldNotify(0, msgMark, [bossID, remainPer])
+                PlayerControl.WorldNotify(0, msgMark, [bossID, notifyHPPer])
 
     return
 
@@ -592,7 +603,7 @@
     remainHP = GetBossRemainHP(tick)
     totalHP = __GetBossTotalHP()
     if not totalHP:
-        return 0
+        return 100
     return remainHP * 100 / totalHP
 
 

--
Gitblit v1.8.0