|  |  |  | 
|---|
|  |  |  | npcHisHurtPlayerList.sort(cmp=CmpFamilyOwnerBossHurtSort) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 归属仙盟前x名玩家额外奖励,算历史伤血 | 
|---|
|  |  |  | batchPlayerIDList, batchAddItemList, batchParamList = [], [], [] | 
|---|
|  |  |  | batchPlayerIDList, batchAddItemList, batchParamList, batchDetailList = [], [], [], [] | 
|---|
|  |  |  | ownerFamilyPlayerOrderAwardDict = IpyGameDataPY.GetFuncEvalCfg("FairyGrabBoss", 1, {}) | 
|---|
|  |  |  | curNPCPlayerOrderAwardDict = ownerFamilyPlayerOrderAwardDict.get(bossID, {}) | 
|---|
|  |  |  | maxOrder = max(curNPCPlayerOrderAwardDict) if curNPCPlayerOrderAwardDict else 0 | 
|---|
|  |  |  | 
|---|
|  |  |  | batchPlayerIDList.append([hurtPlayer.objID]) | 
|---|
|  |  |  | batchAddItemList.append(awardItemList) | 
|---|
|  |  |  | batchParamList.append([bossID, curOrder]) | 
|---|
|  |  |  | batchDetailList.append({"BossID":bossID, "Order":curOrder}) | 
|---|
|  |  |  | orderPlayerNameList.append(hurtPlayer.name) | 
|---|
|  |  |  | GameWorld.Log("    归属仙盟第%s名额外奖励: %s" % (curOrder, awardItemList)) | 
|---|
|  |  |  | if curOrder >= maxOrder: | 
|---|
|  |  |  | break | 
|---|
|  |  |  | if batchPlayerIDList: | 
|---|
|  |  |  | PlayerControl.SendMailBatch("FairyGrabBoss2", batchPlayerIDList, batchAddItemList, batchParamList) | 
|---|
|  |  |  | orderPlayerName = ShareDefine.Def_Space.join(orderPlayerNameList) | 
|---|
|  |  |  | PlayerControl.WorldNotify(0, "FairyGrabBossRank", [orderPlayerName, bossID]) | 
|---|
|  |  |  | PlayerControl.SendMailBatch("FairyGrabBoss2", batchPlayerIDList, batchAddItemList, batchParamList, batchDetail=batchDetailList) | 
|---|
|  |  |  | for order, orderPlayerName in enumerate(orderPlayerNameList, 1): | 
|---|
|  |  |  | PlayerControl.WorldNotify(0, "FairyGrabBossRank", [orderPlayerName, bossID, order]) | 
|---|
|  |  |  | if order >= 3: | 
|---|
|  |  |  | break | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 参与仙盟历史伤血奖励, 算历史伤血 | 
|---|
|  |  |  | joinAwardNeedHurtHPPer = IpyGameDataPY.GetFuncCfg("FairyGrabBoss", 2) | 
|---|
|  |  |  | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | joinAwardPlayerIDList += familyPlayerIDList | 
|---|
|  |  |  | if joinAwardPlayerIDList: | 
|---|
|  |  |  | PlayerControl.SendMailByKey("FairyGrabBoss1", joinAwardPlayerIDList, curNPCJoinFamilyAwardList, [bossID, joinAwardNeedHurtHPPer]) | 
|---|
|  |  |  | PlayerControl.SendMailByKey("FairyGrabBoss1", joinAwardPlayerIDList, curNPCJoinFamilyAwardList, [bossID, joinAwardNeedHurtHPPer], detail={"BossID":bossID}) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 同步最终结果给所有参与过的玩家 | 
|---|
|  |  |  | hurtPack = __GetFamilyOwnerBossHurtPack(hurtMgr, key, objID, bossID, 0) | 
|---|