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