xdh
2019-03-22 b8cdfd7384aec5a3999d2687cbd078b19ec1a975
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