| | |
| | | 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)
|
| | |
|
| | |
| | | def __GetFamilyBossAward(rank, worldLV):
|
| | | familyAuctionItemList, menberItemList = [], []
|
| | | awardRateList = []
|
| | | awardPieRateDict = {}
|
| | | ipyMgr = IpyGameDataPY.IPY_Data()
|
| | | for i in xrange(ipyMgr.GetFamilyBossAwardCount()):
|
| | | ipyData = ipyMgr.GetFamilyBossAwardByIndex(i)
|
| | |
| | | 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:
|
| | |
| | | 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
|
| | |
|
| | |
| | | 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
|
| | |
|
| | |
| | | remainHP = GetBossRemainHP(tick)
|
| | | totalHP = __GetBossTotalHP()
|
| | | if not totalHP:
|
| | | return 0
|
| | | return 100
|
| | | return remainHP * 100 / totalHP
|
| | |
|
| | |
|