From 6ccc82cff0bc5ecd2734253d4c5ef1ae2bb748da Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 17 九月 2020 12:24:13 +0800 Subject: [PATCH] 8483 【后端】【主干】【changwei】【bt】协助方和被协助方任何模式不会互相造成伤害(优化协助同一玩家的情况) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py | 32 +++++++++++++++++++++----------- 1 files changed, 21 insertions(+), 11 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py index f4b8f72..38c2670 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py @@ -266,18 +266,28 @@ def IsAssistPlayer(self, playerID): ## 是否助战伤血玩家 return playerID in self.__assistPlayerIDDict - - def __IsAssistRelation(self, playerID, assistPlayerID): - ## 是否存在协助关系 - if assistPlayerID not in self.__assistPlayerIDDict: - return False - return self.__assistPlayerIDDict[assistPlayerID] == playerID + def IsAssistRelation(self, playerID, tagPlayerID): - ## 玩家双方是否协助关系 - if self.__IsAssistRelation(playerID, tagPlayerID): - return True - if self.__IsAssistRelation(tagPlayerID, playerID): - return True + ## 玩家双方是否存在协助关系 + + # A协助B + if playerID in self.__assistPlayerIDDict: + if self.__assistPlayerIDDict[playerID] == tagPlayerID: + #GameWorld.DebugLog("%s 协助 %s" % (playerID, tagPlayerID)) + return True + + # B协助A + elif tagPlayerID in self.__assistPlayerIDDict: + if self.__assistPlayerIDDict[tagPlayerID] == playerID: + #GameWorld.DebugLog("%s 协助 %s" % (tagPlayerID, playerID)) + return True + + # 协助同一个玩家 + for assPlayerIDList in self.__noAssitPlayerIDDict.values(): + if playerID in assPlayerIDList and tagPlayerID in assPlayerIDList: + #GameWorld.DebugLog("协助同一玩家! %s %s" % (playerID, tagPlayerID)) + return True + return False def OnHurtPlayerEnterTeam(self, playerID, playerName, befTeamID, newTeam, tick): -- Gitblit v1.8.0