9687 【后端】【越南】【主干】【BT7】野外根据境界动态刷怪(优化有选择境界难度时,随机任务击杀目标NPCID逻辑)
1个文件已修改
27 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -3558,6 +3558,15 @@
    return
def __GetRandNPCID(curPlayer, killNPCList, recordKey):
    if not killNPCList:
        return
    diffRealmLV = PlayerControl.GetDifficultyRealmLV(PlayerControl.GetRealmDifficulty(curPlayer))
    realmMapIDList = IpyGameDataPY.GetFuncEvalCfg("RealmDifficulty", 1)
    difficultyRealmList = IpyGameDataPY.GetFuncEvalCfg("RealmDifficulty", 2)
    # 已选择境界难度 且 随机击杀怪物 时才需要 随机境界难度NPC
    randRealmDiffNPC = (diffRealmLV in difficultyRealmList and recordKey == ChConfig.Def_Player_Dict_TaskLastKillNPCID)
    heroLV = curPlayer.GetLV()
    ranNPCList = []
    returnNPC = None
@@ -3571,12 +3580,20 @@
        npcData = killNPC.NPCData
        if not npcData:
            continue
        NPCLV = npcData.GetLV()
        if randRealmDiffNPC:
            if mapid not in realmMapIDList:
                continue
            npcID = killNPC.ID
            realmNPCIpyData = IpyGameDataPY.GetIpyGameDataNotLog("NPCRealmStrengthen", npcID, diffRealmLV)
            if not realmNPCIpyData:
                continue
            NPCLV = realmNPCIpyData.GetLV()
        else:
            NPCLV = npcData.GetLV()
            if recordKey != ChConfig.Def_Player_Dict_TaskLastVisitNPCID and NPCLV < heroLV-30:
                secondNPC = killNPC
                continue
        if NPCLV > heroLV:
            continue
        if recordKey != ChConfig.Def_Player_Dict_TaskLastVisitNPCID and NPCLV < heroLV-30:
            secondNPC = killNPC
            continue
        #不和上次的NPCID相同
        if killNPC.ID == curPlayer.NomalDictGetProperty(recordKey):