hxp
2021-05-08 043a9c0e0df19388055bb7ad3b15952d7da91506
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
@@ -328,6 +328,7 @@
        __DoRefreshWorldBossCrossServer(npcRefresh, tick)
        return
    rebornLineID = 0
    assignLineID = 0
    mapID = GameWorld.GetMap().GetMapID()
    refreshMark = npcRefresh.GetRefreshMark()
    lineID = GameWorld.GetGameWorld().GetLineID()
@@ -364,6 +365,9 @@
        relatedType = ipyData.GetRelatedType()
        relatedID = ipyData.GetRelatedID()
        isNeedShunt = ipyData.GetIsNeedShunt()
        assignLineID = ipyData.GetRefreshLine() # 指定刷新的线路
        if assignLineID > 0:
            rebornLineID = assignLineID - 1
    if not bossID and not stoneNPCID:
        return
    gameFB = GameWorld.GetGameFB()
@@ -379,8 +383,15 @@
        
    # 关联运营活动,待扩展
    elif relatedType == 2:
        operationActionInfo = PyGameData.g_operationActionDict.get(relatedID, {})
        operationActionState = operationActionInfo.get(ShareDefine.ActKey_State, 0)
        actNameInfo = relatedID.split("|")
        actName = actNameInfo[0]
        if actName in ShareDefine.MultiActNumOperationActNameList:
            actNum = GameWorld.ToIntDef(actNameInfo[1] if len(actNameInfo) > 1 else "10")
            actInfo = GameWorld.GetActInfo(actName, actNum)
            operationActionState = actInfo.get(ShareDefine.ActKey_State, 0)
        else:
            operationActionInfo = PyGameData.g_operationActionDict.get(actName, {})
            operationActionState = operationActionInfo.get(ShareDefine.ActKey_State, 0)
        rebornBossState = 1 if operationActionState else 0
        
    else:
@@ -394,7 +405,9 @@
        
    # 关联活动boss
    if relatedType:
        rebornLineID = activityLineID # 活动boss只刷在活动线
        if assignLineID == 0: # 没有指定刷新线路的,活动boss固定刷在活动线
            rebornLineID = activityLineID # 活动boss只刷在活动线
        # 不是活动线 
        if rebornBossState and lineID != rebornLineID:
            rebornBossState = 0