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