From bd61f5e92fad5dc02f693747fde8fdb86ee01c5c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 06 十二月 2019 20:46:52 +0800
Subject: [PATCH] 8346 【恺英】【后端】协助系统(初版,可完成协助完整流程,增加新NPC伤血管理,支持协助、支持超过20亿伤害)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
index ccd03a4..0c59fe1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
@@ -26,6 +26,7 @@
 import SkillCommon
 import IPY_GameWorld
 import DataRecordPack
+import NPCHurtManager
 #import PlayerTruck
 import ShareDefine
 import SkillShell
@@ -249,10 +250,10 @@
         #curMapTeam.SetTeamType(recvPack.GetTeamType())
         DR_Team("RefreshPlayerTeamID_Create", teamID, dataDict)
             
-    if playerTeamID != teamID or not curTeam:
-        isNewTeam = playerTeamID != teamID # 切地图/上线时teamID可能不变,但是team为None
+    if (playerTeamID != teamID or not curTeam) and curMapTeam:
+        #isNewTeam = playerTeamID != teamID # 切地图/上线时teamID可能不变,但是team为None
         #GameWorld.DebugLog("    玩家当前无队伍,处理玩家进队!isNewTeam=%s" % isNewTeam, playerID)
-        __OnEnterTeam(curPlayer, curMapTeam, isNewTeam, tick, dataDict)
+        __OnEnterTeam(curPlayer, curMapTeam, playerTeamID, tick, dataDict)
     else:
         dataDict["MemberCount"] = 0 if not curMapTeam else curMapTeam.GetMemberCount()
         DR_Team("RefreshPlayerTeamID_Update", teamID, dataDict)
@@ -264,7 +265,7 @@
 #  @param tick 当前时间
 #  @return None
 #  @remarks 函数详细说明.
-def __OnEnterTeam(curPlayer, curMapTeam, isNewTeam, tick, dataDict):
+def __OnEnterTeam(curPlayer, curMapTeam, playerTeamID, tick, dataDict):
     teamID = curMapTeam.GetTeamID()
     memCount = curMapTeam.GetMemberCount()
     if memCount >= ShareDefine.Def_Team_MaxPlayerCount:
@@ -292,8 +293,8 @@
     #PlayerTruck.ChangeTruckNoteInfo(curPlayer)
     
     #以下为进入一个新的队伍额外处理
-    if not isNewTeam:
-        return
+    if playerTeamID != teamID:
+        NPCHurtManager.OnNPCHurtPlayerEnterTeam(playerID, curPlayer.GetPlayerName(), playerTeamID, curMapTeam, tick)
     return
  
 def __OnPlayerLeaveTeam(copyMapID, playerID, leaveTeamID, tick):
@@ -311,6 +312,8 @@
             
     __DelPlayerIDFromTeamPlayer(playerID, False)
     
+    NPCHurtManager.OnNPCHurtPlayerLeaveTeam(playerID, leaveTeamID, tick)
+    
     dataDict = {"playerID":playerID, "copyMapID":copyMapID}
     ### =========================== 以下逻辑是玩家存在时才需要处理的 =================================
     curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)

--
Gitblit v1.8.0