| | |
| | | npcFamilyHisHurtDict = hurtMgr.familyHisHurtDict.get(key, {})
|
| | | npcFamilyPlayerIDDict = hurtMgr.familyPlayerIDDict.get(key, {})
|
| | |
|
| | | ownerFamilyName = ""
|
| | | if ownerFamilyID in npcFamilyHisHurtDict:
|
| | | ownerFamilyHisHurt = npcFamilyHisHurtDict[ownerFamilyID]
|
| | | PlayerControl.WorldNotify(0, "FairyGrabBossDead", [ownerFamilyHisHurt.name, bossID])
|
| | | ownerFamilyName = ownerFamilyHisHurt.name
|
| | | PlayerControl.WorldNotify(0, "FairyGrabBossDead", [ownerFamilyName, bossID])
|
| | |
|
| | | # 击杀结算前强制排序历史玩家伤血
|
| | | npcHisHurtPlayerList = npcPlayerHisHurtDict.values()
|
| | |
| | | curNPCPlayerOrderAwardDict = ownerFamilyPlayerOrderAwardDict.get(bossID, {})
|
| | | maxOrder = max(curNPCPlayerOrderAwardDict) if curNPCPlayerOrderAwardDict else 0
|
| | | curOrder = 0
|
| | | #orderPlayerNameList = []
|
| | | orderPlayerNameList = []
|
| | | for hurtPlayer in npcHisHurtPlayerList:
|
| | | # 只算归属仙盟的
|
| | | if hurtPlayer.familyID != ownerFamilyID:
|
| | |
| | | batchPlayerIDList.append([hurtPlayer.objID])
|
| | | batchAddItemList.append(awardItemList)
|
| | | batchParamList.append([bossID, curOrder])
|
| | | #orderPlayerNameList.append(hurtPlayer.name)
|
| | | orderPlayerNameList.append(hurtPlayer.name)
|
| | | GameWorld.Log(" 归属仙盟第%s名额外奖励: %s" % (curOrder, awardItemList))
|
| | | if curOrder >= maxOrder:
|
| | | break
|
| | | if batchPlayerIDList:
|
| | | PlayerControl.SendMailBatch("FairyGrabBoss2", batchPlayerIDList, batchAddItemList, batchParamList)
|
| | | #PlayerControl.WorldNotify(0, "FairyGrabBossRank", orderPlayerNameList + [bossID])
|
| | | orderPlayerName = ShareDefine.Def_Space.join(orderPlayerNameList)
|
| | | PlayerControl.WorldNotify(0, "FairyGrabBossRank", [orderPlayerName, bossID])
|
| | |
|
| | | # 参与仙盟历史伤血奖励, 算历史伤血
|
| | | joinAwardNeedHurtHPPer = IpyGameDataPY.GetFuncCfg("FairyGrabBoss", 2)
|
| | |
| | | if curPlayer:
|
| | | NetPackCommon.SendFakePack(curPlayer, hurtPack)
|
| | |
|
| | | # 击杀时主动同步进度 |
| | | syncMsg = str({bossID:[0, maxHP, ownerFamilyID, ownerFamilyName]})
|
| | | GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "FamilyOwnerBossInfo", syncMsg, len(syncMsg))
|
| | | |
| | | # 伤血在NPCCommon统一清
|
| | | return
|
| | |
|