ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py
@@ -779,6 +779,7 @@
                    overDict = {FBCommon.Over_isAssist:1, FBCommon.Over_money:FBCommon.GetJsonMoneyList({assistMoneyType:addAssistMoney}),
                                FBCommon.Over_itemInfo:[]}
                    FBCommon.NotifyFBOver(assistPlayer, mapID, PlayerControl.GetFBFuncLineID(assistPlayer), 1, overDict)
                    assistPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, 10000, True)
                    
                if noAssistPlayer:
                    todayGiftCount = assistPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GetThanksGiftCount % liheItemID)
@@ -886,9 +887,17 @@
def OnPlayerLeaveMap(curPlayer):
    ## 玩家离开地图处理
    
    mapID = curPlayer.GetMapID()
    mapType = GameWorld.GetMap().GetMapFBType()
    changeMapID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ChangeMapID)
    changeLineID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ChangeLineID)
    playerID = curPlayer.GetPlayerID()
    for hurtList in PyGameData.g_npcHurtDict.values():
        if hurtList.IsNoAssistPlayer(playerID) or hurtList.IsAssistPlayer(playerID):
            if mapType == IPY_GameWorld.fbtNull and mapID == changeMapID and changeLineID == hurtList.lineID:
                #GameWorld.DebugLog("玩家同地图切线,当前伤血lineID为目标线路,不清伤血!changeLineID=%s" % changeLineID, playerID)
                continue
            GameWorld.DebugLog("玩家离开地图, 删除boss伤血玩家!npcID=%s" % (hurtList.npcID), playerID)
            hurtList.DelHurtPlayer(playerID, "LeaveMap")
            break
@@ -924,11 +933,19 @@
    defendHurtList.Clear()
    return
def GetBossLineID(npcID):
    sealDemonIpyData = IpyGameDataPY.GetIpyGameDataNotLog("SealDemon", npcID)
    if sealDemonIpyData:
        lineID = sealDemonIpyData.GetLineID()
    else:
        lineID = GameWorld.GetGameWorld().GetLineID()
    return lineID
def DeletePlayerHurtList(curNPC):
    ## 删除伤血列表
    lineID = GameWorld.GetGameWorld().GetLineID()
    objID = curNPC.GetID()
    npcID = curNPC.GetNPCID()
    lineID = GetBossLineID(npcID)
    key = (lineID, objID, npcID)
    if key in PyGameData.g_npcHurtDict:
        hurtList =PyGameData.g_npcHurtDict.pop(key)
@@ -938,9 +955,9 @@
def GetPlayerHurtList(curNPC):
    ## 获取伤血列表,可能为None
    lineID = GameWorld.GetGameWorld().GetLineID()
    objID = curNPC.GetID()
    npcID = curNPC.GetNPCID()
    lineID = GetBossLineID(npcID)
    return GetPlayerHurtListEx(lineID, objID, npcID)
def GetPlayerHurtListEx(lineID, objID, npcID):
    ## 获取伤血列表,可能为None