From c5a175b19a16a9c5a95be6e0f6ecc157c3aa26ce Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 09 十月 2022 16:26:56 +0800 Subject: [PATCH] 9687 【后端】【越南】【主干】【BT7】野外根据境界动态刷怪(优化有选择境界难度时,随机任务击杀目标NPCID逻辑) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py index 7438498..2a8e1a2 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py +++ b/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): -- Gitblit v1.8.0