From a81d36e5c709d7d4465be2ddaed2bd58a6132be0 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 04 六月 2019 10:50:29 +0800
Subject: [PATCH] 6501 仙宝寻主任务接口修改

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
index 55e0e60..a0c2c21 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
@@ -344,14 +344,42 @@
     return
 
 def GetXBXZAwardProgress(curPlayer, mwID):
-    # 获取仙宝寻主进度
+    ##获取仙宝寻主当前达到条件的个数
     ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('XBXZ', {'MWID': mwID}, True, False)
+    if not ipyDataList:
+        return 0
     cnt = 0
-    if ipyDataList:
-        for ipyData in ipyDataList:
-            if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_XBXZAwardRecord, ipyData.GetID()):
-                cnt += 1
+    playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
+    for ipyData in ipyDataList:
+        curType = ipyData.GetType()
+        conditionList = ipyData.GetCondition()
+        
+        if curType == 1:
+            #穿戴X阶X颜色是否套装X部位装备
+            for classlv, color, suite, place in conditionList:
+                equipIpyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap',classlv,place)
+                if not equipIpyData:
+                    continue
+                gridIndex = equipIpyData.GetGridIndex()
+                curEquip = playerEquip.GetAt(gridIndex)
+                if curEquip.IsEmpty():
+                    continue
+                curItemColor = curEquip.GetItemColor()
+                curIsSuite = curEquip.GetSuiteID()
+                if curItemColor >= color and curIsSuite >= suite:
+                    cnt += 1
+                    break
+        else:
+            continue
     return cnt
+
+#    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('XBXZ', {'MWID': mwID}, True, False)
+#    cnt = 0
+#    if ipyDataList:
+#        for ipyData in ipyDataList:
+#            if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_XBXZAwardRecord, ipyData.GetID()):
+#                cnt += 1
+#    return cnt
 #-------------------------------------------------------------------------------
 
 
@@ -417,7 +445,6 @@
     EventShell.EventRespons_XBXZ(curPlayer, ipyData.GetMWID())
     GameWorld.DebugLog('    仙宝寻主领奖OK, ID=%s, cnt=%s' % (index, cnt))
     return
-
 
 ## 通知仙宝寻主对应奖励领奖记录
 #  @param None

--
Gitblit v1.8.0