From b8cdfd7384aec5a3999d2687cbd078b19ec1a975 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 22 三月 2019 10:24:25 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(洗炼升级)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py |   72 ++++++++++--------------------------
 1 files changed, 20 insertions(+), 52 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
index c711dae..73e4aa7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -562,7 +562,7 @@
 #  @return True or False
 #  @remarks 函数详细说明.
 def CheckItemByEffectID(curPlayer, curItem, effectList):
-    if not CheckItemCanUse(curItem):
+    if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
         return False
     
     if not ItemControler.CheckItemUseLV(curPlayer, curItem, False):
@@ -623,7 +623,7 @@
     for i in range(backPack.GetCount()):
         curItem = backPack.GetAt(i)
         
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -908,32 +908,15 @@
     return
 
 #---------------------------------------------------------------------
-#此函数验证当前职业阶可用(向下兼容),同CheckJob区分使用
-def JobUseable(curPlayer, curItem):
-    '''判断物品是否职业可用
-        物品表中职业限制规则: 0为通用;非0百位代表职业,十位和个位为职业阶数, 职业阶向下兼容,高阶可使用低阶物品
-    '''
-    itemJobLimit = curItem.GetJobLimit()
-    if not itemJobLimit:
-        return True
-    
-    # 取消限制的物品
-    if curItem.GetUserAttr(ShareDefine.Def_IudetCancelUseLimit) == 1:
-        return CheckJob(curPlayer, curItem)
-    
-    if curPlayer.GetJob() == itemJobLimit / 100 and PlayerControl.GetJobRank(curPlayer) >= itemJobLimit % 100:
-        return True
-    return False
-
-#此函数验证当前职业系可用,同JobUseable区分使用
+#此函数验证当前职业系可用
 def CheckJob(curPlayer, curItem):
     '''判断物品是否职业系可用
-        物品表中职业限制规则: 0为通用;非0百位代表职业,十位和个位为职业阶数, 职业阶向下兼容,高阶可使用低阶物品
+        物品表中职业限制规则: 0为通用;非0百位代表职业
     '''
     itemJobLimit = curItem.GetJobLimit()
     if not itemJobLimit:
         return True
-    if curPlayer.GetJob() == itemJobLimit / 100:
+    if curPlayer.GetJob() == itemJobLimit:
         return True
     
     return False
@@ -1004,22 +987,6 @@
         return isExpireItem, remainingTime
     
     return isExpireItem, remainingTime
-
-##检查该物品是否合法,类型验证
-# @param curItem 物品实例
-# @param checkType 物品类型 
-# @return 布尔值(物品是否合法)
-# @remarks 检查该物品是否合法,类型验证
-def CheckItemByType(curItem, checkType):
-    #验证材料
-    if not CheckItemCanUse(curItem):
-        return False
-    
-    #类型不符合
-    if curItem.GetType() != checkType:
-        return False
-    
-    return True
 
 ## 检查装备是否有镶嵌宝石
 #  @param curItem 装备对象
@@ -1197,7 +1164,7 @@
     for i in range(curItemPack.GetCount()):
         findItem = curItemPack.GetAt(i)
         
-        if not CheckItemCanUse(findItem):
+        if not CheckItemCanUse(findItem) or ItemControler.GetIsAuctionItem(findItem):
             continue
         
         #不使用绑定的材料
@@ -1240,7 +1207,7 @@
     for i in range(curItemPack.GetCount()):
         curItem = curItemPack.GetAt(i)
         
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         #不使用绑定的材料
@@ -1279,7 +1246,7 @@
     for i in range(curItemPack.GetCount()):
         curItem = curItemPack.GetAt(i)
         
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1321,7 +1288,7 @@
     for i in range(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1363,7 +1330,7 @@
     for i in range(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1409,7 +1376,7 @@
     for i in range(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1453,7 +1420,7 @@
     curPack = curPlayer.GetItemManager().GetPack(packType)
     for i in range(0, curPack.GetCount()):
         curItem = curPack.GetAt(i)
-        if not curItem:
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         if curItem.GetItemTypeID() != itemID:
@@ -1556,7 +1523,7 @@
     for i in xrange(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         curItemID = curItem.GetItemTypeID()
         if curItemID not in costItemDict:
@@ -1660,7 +1627,7 @@
     for index in range(0, itemPack.GetCount()):
         item = itemPack.GetAt(index)
         
-        if not CheckItemCanUse(item):
+        if not CheckItemCanUse(item) or ItemControler.GetIsAuctionItem(item):
             continue
         
         itemTypeID = item.GetItemTypeID()
@@ -1861,7 +1828,7 @@
         curItem = curItemPack.GetAt(i)
         
         #检查物品
-        if not CheckItemCanUse(curItem):
+        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
             continue
         
         effect = curItem.GetEffectByIndex(0)
@@ -2028,13 +1995,14 @@
     if not curItem or curItem.IsEmpty():
         return {}
     
+    isAuctionItem = ItemControler.GetIsAuctionItem(curItem)
     if not CheckItemIsEquip(curItem):
-        return [curItem.GetItemTypeID(), curItem.GetCount(), curItem.GetIsBind()]
+        return [curItem.GetItemTypeID(), curItem.GetCount(), isAuctionItem]
     
     addItemDict = {}
     addItemDict['ItemID'] = curItem.GetItemTypeID()
     addItemDict['Count'] = curItem.GetCount()
-    addItemDict['IsAuctionItem'] = curItem.GetIsBind()
+    addItemDict['IsAuctionItem'] = isAuctionItem
     #addItemDict['IsBind'] = int(curItem.GetIsBind())
     #addItemDict['EquipGS'] = GetEquipGearScore(curItem)
     #addItemDict['ItemStarLV'] = curItem.GetItemStarLV()
@@ -2095,8 +2063,8 @@
         itemDict["ItemID"] = itemInfo.GetItemTypeID()
         if itemInfo.GetCount() > 1:
             itemDict["Count"] = itemInfo.GetCount()
-        if itemInfo.GetIsBind():
-            itemDict["IsAuctionItem"] = int(itemInfo.GetIsBind())
+        if ItemControler.GetIsAuctionItem(itemInfo):
+            itemDict["IsAuctionItem"] = 1
         if itemInfo.GetUserData():
             itemDict["UserData"] = itemInfo.GetUserData()
     return itemDict

--
Gitblit v1.8.0