From 26648c57894a86709f792332e07632bfd5e29a16 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 06 七月 2021 17:07:09 +0800
Subject: [PATCH] 9063 【BT2】【BT3】【主干】【后端】新增宝箱跟据境界开启物品(宝箱产出表新增境界字段)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py
index 509ab52..c8b0ebe 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/Item_Chests.py
@@ -399,19 +399,26 @@
     # 多条产出记录的,按等级来
     lvIpyDataList = []
     for ipyData in awardIpyDataList:
-        lvIpyDataList.append([ipyData.GetAwardLV(), ipyData])
+        lvIpyDataList.append([ipyData.GetRealmLV(), ipyData.GetAwardLV(), ipyData])
     lvIpyDataList.sort() # 升序排序
     
     curLV = curPlayer.GetLV()
-    minLV = lvIpyDataList[0][0]
+    curRealmLV = curPlayer.GetOfficialRank()
+    minRealmLV, minLV = lvIpyDataList[0][0], lvIpyDataList[0][1]
     if curLV < minLV:
-        GameWorld.ErrLog("当前等级无法开启该宝箱!curLV=%s,minLV=%s,chestsItemID=%s" % (curLV, minLV, chestsItemID), curPlayer.GetPlayerID())
+        GameWorld.ErrLog("当前等级无法开启该宝箱!curLV=%s < minLV=%s,chestsItemID=%s" % (curLV, minLV, chestsItemID), curPlayer.GetPlayerID())
+        return
+    if curRealmLV < minRealmLV:
+        GameWorld.ErrLog("当前境界无法开启该宝箱!curRealmLV=%s < minRealmLV=%s,chestsItemID=%s" % (curRealmLV, minRealmLV, chestsItemID), curPlayer.GetPlayerID())
         return
     
     for i, lvIpyInfo in enumerate(lvIpyDataList[1:], 1):
-        awardLV, ipyData = lvIpyInfo
-        if curLV < awardLV:
-            awardLV, ipyData = lvIpyDataList[i - 1]
-            return ipyData
+        realmLV, awardLV, ipyData = lvIpyInfo
+        if realmLV: # 境界优先,二选一
+            if curRealmLV < realmLV:
+                return lvIpyDataList[i - 1][-1]
+        else:
+            if curLV < awardLV:
+                return lvIpyDataList[i - 1][-1]
     return awardIpyDataList[-1]
 

--
Gitblit v1.8.0