From efd8fc71a66437c413b0c8770541ef9ca5ed5960 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 09 九月 2019 17:54:38 +0800
Subject: [PATCH] 8255 【后端】【主干】拍品可使用及上下架优化(拍品可直接使用)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py                    |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py   |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py                        |   49 ----------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py                  |    8 +-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py             |   39 ++++++++----
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py                   |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py           |    4 -
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py                         |   10 --
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py                  |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py |    4 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py                   |    2 
 11 files changed, 39 insertions(+), 85 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py
index f997536..893f4fb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py
@@ -170,7 +170,7 @@
     itemPack = curPlayer.GetItemManager().GetPack(stonePackType)
     curStone = itemPack.GetAt(stoneIndex)
 
-    if not ItemCommon.CheckItemCanUse(curStone) or ItemControler.GetIsAuctionItem(curStone):
+    if not ItemCommon.CheckItemCanUse(curStone):
         GameWorld.Log("目标宝石为空或不可用,无法镶嵌!", playerID)
         return
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py
index 2eb2541..c2a7477 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py
@@ -676,7 +676,7 @@
     return incRateItemCostList, expireTime
 
 def __CheckItemCanUseCompound(playerID, index, curItem):
-    if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+    if not ItemCommon.CheckItemCanUse(curItem):
         GameWorld.DebugLog("该物品不可使用!无法合成! index=%s" % (index), playerID)
         return
     
@@ -841,7 +841,7 @@
         return
     curEquip = itemPack.GetAt(decompoundItemIndex)
     
-    if not ItemCommon.CheckItemCanUse(curEquip) or ItemControler.GetIsAuctionItem(curEquip):
+    if not ItemCommon.CheckItemCanUse(curEquip):
         return
     
     attrCount = curEquip.GetUserAttrCount(ShareDefine.Def_IudetItemDecompound)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py
index 065254f..d7bf97d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py
@@ -41,10 +41,6 @@
         GameWorld.DebugAnswer(curPlayer, "非装备无法获得传奇属性!")
         return
     
-    if ItemControler.GetIsAuctionItem(curItem):
-        GameWorld.DebugAnswer(curPlayer, "拍品无法生成传奇属性!")
-        return
-    
     isAllAttr = cmdList[1] if len(cmdList) > 1 else 0
     legendAttrInfo = ItemControler.GetAddEquipLegendAttr(curItem, curPlayer, isAllAttr)
     if not legendAttrInfo:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
index e0a6167..6909941 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -67,10 +67,6 @@
         return False
     playerItemControl = ItemControler.PlayerItemControler(curPlayer)
     
-    if ItemControler.GetIsAuctionItem(curItem):
-        GameWorld.DebugLog("拍品无法穿戴!")
-        return False
-    
     #---验证是否可以换这件装备---
     if not ItemCommon.CheckItemCanUse(curItem):
         return False
@@ -530,51 +526,6 @@
     
     #装备的被动触发类技能
     PassiveBuffEffMng.GetPassiveEffManager().RegistSuperEquipSkillDict(curPlayer)
-    return
-
-
-#---------------------------------------------------------------------
-## 玩家使用装备(在装备栏上的特殊物品:如蛋白)(封包参数)
-#  @param index 玩家索引
-#  @param tick 当前时间
-#  @return None
-#  @remarks 函数详细说明.
-def __Func_PlayerUseEquipSelf(index, tick):
-    sendPack = IPY_GameWorld.IPY_CUseEquip()
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    
-    #使用物品行为状态, 判断客户端限制
-    if not OperControlManager.IsObjCanDoAction(
-                                        curPlayer,
-                                        ChConfig.Def_Obj_ActState_ClientAct,
-                                        IPY_GameWorld.oalUseItem
-                                        ):
-        return
-    
-    #检查使用物品的玩家属性
-    if not ChItem.CheckUseItemSelf_Player(curPlayer):
-        return
-    
-    roleEquipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
-    #获得所要使用的装备
-    equipIndex = sendPack.GetEquipIndex()
-    curEquip = roleEquipPack.GetAt(equipIndex)
-    
-    if not ItemCommon.CheckItemCanUse(curEquip) or ItemControler.GetIsAuctionItem(curEquip):
-        return
-    
-    #FB禁止使用物品
-    if FBLogic.DoFBForbidUseItem(curPlayer, curEquip):
-        return
-    
-    if ItemControler.IsEventItem(curEquip):
-        PlayerControl.NotifyCode(curPlayer, "TaskRes")
-        return
-    
-    else:
-        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_774045")
-        return
-    
     return
 
 #// A3 18 灵器突破 #tagCMLingQiEquipBreak
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
index a7ba98e..af85f57 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -543,7 +543,7 @@
 #  @remarks 
 def CheckPlayerUseItemSelf(curPlayer, curItem, tick):
     #----------------------检查非法物品属性
-    if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+    if not ItemCommon.CheckItemCanUse(curItem):
         PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_644055")
         return False
     
@@ -1053,7 +1053,7 @@
     curItem = curPack.GetAt(itemIndex)
     
     #物品不存在
-    if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+    if not ItemCommon.CheckItemCanUse(curItem):
         return
 
     #检查物品可否丢弃
@@ -1522,12 +1522,6 @@
     
     if not ItemCommon.CheckItemCanUse(curItem):
         GameWorld.DebugLog("    物品无法使用!")
-        return
-    
-    # 使用拍品
-    if ItemControler.GetIsAuctionItem(curItem):
-        GameWorld.DebugLog("玩家使用拍品: itemID=%s" % (curItem.GetItemTypeID()), curPlayer.GetPlayerID())
-        ItemControler.SetIsAuctionItem(curItem, False, curPlayer)
         return
     
     if useCnt <= 0:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
index dfe8ab3..3670097 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -114,7 +114,7 @@
     for i in range(0, curPack.GetCount()):
         item = curPack.GetAt(i)
         
-        if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item):
+        if not ItemCommon.CheckItemCanUse(item):
             continue
         
         if item.GetItemTypeID() == id:
@@ -134,7 +134,7 @@
     for i in range(0, curPack.GetCount()):
         item = curPack.GetAt(i)
         
-        if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item):
+        if not ItemCommon.CheckItemCanUse(item):
             continue
         
         if item.GetItemTypeID() == id:
@@ -153,7 +153,7 @@
     for i in range(0, curPack.GetCount()):
         item = curPack.GetAt(i)
         
-        if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item):
+        if not ItemCommon.CheckItemCanUse(item):
             continue
         
         effect = item.GetEffectByIndex(0)
@@ -274,7 +274,7 @@
     for i in range(0, curPack.GetCount()):
         
         item = curPack.GetAt(i)
-        if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item):
+        if not ItemCommon.CheckItemCanUse(item):
             continue
         
         if item.GetItemTypeID() != id:
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 696719e..e1f7239 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
@@ -524,7 +524,7 @@
 #  @return True or False
 #  @remarks 函数详细说明.
 def CheckItemByEffectID(curPlayer, curItem, effectList):
-    if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+    if not CheckItemCanUse(curItem):
         return False
     
     if not ItemControler.CheckItemUseLV(curPlayer, curItem, False):
@@ -585,7 +585,7 @@
     for i in range(backPack.GetCount()):
         curItem = backPack.GetAt(i)
         
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1049,7 +1049,7 @@
     for i in range(curItemPack.GetCount()):
         findItem = curItemPack.GetAt(i)
         
-        if not CheckItemCanUse(findItem) or ItemControler.GetIsAuctionItem(findItem):
+        if not CheckItemCanUse(findItem):
             continue
         
         #不使用绑定的材料
@@ -1092,7 +1092,7 @@
     for i in range(curItemPack.GetCount()):
         curItem = curItemPack.GetAt(i)
         
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         #不使用绑定的材料
@@ -1131,7 +1131,7 @@
     for i in range(curItemPack.GetCount()):
         curItem = curItemPack.GetAt(i)
         
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1173,7 +1173,7 @@
     for i in range(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1215,7 +1215,7 @@
     for i in range(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1261,7 +1261,7 @@
     for i in range(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         if curItem.GetItemTypeID() != findItemID:
@@ -1305,7 +1305,7 @@
     curPack = curPlayer.GetItemManager().GetPack(packType)
     for i in range(0, curPack.GetCount()):
         curItem = curPack.GetAt(i)
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         if curItem.GetItemTypeID() != itemID:
@@ -1408,7 +1408,7 @@
     for i in xrange(itemPack.GetCount()):
         curItem = itemPack.GetAt(i)
         #过滤不符合其他条件的物品
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         curItemID = curItem.GetItemTypeID()
         if curItemID not in costItemDict:
@@ -1512,7 +1512,7 @@
     for index in range(0, itemPack.GetCount()):
         item = itemPack.GetAt(index)
         
-        if not CheckItemCanUse(item) or ItemControler.GetIsAuctionItem(item):
+        if not CheckItemCanUse(item):
             continue
         
         itemTypeID = item.GetItemTypeID()
@@ -1618,6 +1618,14 @@
     if putInPackIndex in [IPY_GameWorld.rptHorseEquip]:
         DoLogic_ItemBindType(curPlayer, curItem, ChConfig.Def_BindType_DoEquipBind)
     
+    if putInPackIndex not in [IPY_GameWorld.rptItem, IPY_GameWorld.rptWarehouse]:
+        if ItemControler.GetIsAuctionItem(curItem):
+            ItemControler.SetIsAuctionItem(curItem, False, curPlayer)
+            GameWorld.DebugLog("SwitchItem 拍品设置为非拍品!curItemID=%s" % curItem.GetItemTypeID())
+        if ItemControler.GetIsAuctionItem(switchItem):
+            ItemControler.SetIsAuctionItem(switchItem, False, curPlayer)
+            GameWorld.DebugLog("SwitchItem 拍品设置为非拍品!switchItemID=%s" % switchItem.GetItemTypeID())
+            
     #交换装备
     curItem.Switch(switchItem)
     return True
@@ -1642,7 +1650,12 @@
     # 装备技能书、坐骑装备绑定
     if putInPackIndex in [IPY_GameWorld.rptHorseEquip]:
         DoLogic_ItemBindType(curPlayer, emptyItem, ChConfig.Def_BindType_DoEquipBind)
-
+        
+    if putInPackIndex not in [IPY_GameWorld.rptItem, IPY_GameWorld.rptWarehouse]:
+        if ItemControler.GetIsAuctionItem(switchItem):
+            ItemControler.SetIsAuctionItem(switchItem, False, curPlayer)
+            GameWorld.DebugLog("PutIn 拍品设置为非拍品!switchItemID=%s" % switchItem.GetItemTypeID())
+            
     if switchItem.GetGameWorldItemType() == IPY_GameWorld.gwitRoleItem:
         emptyItem.PutIn(switchItem)
     elif switchItem.GetGameWorldItemType() == IPY_GameWorld.gwitSingleItem:
@@ -1709,7 +1722,7 @@
         curItem = curItemPack.GetAt(i)
         
         #检查物品
-        if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not CheckItemCanUse(curItem):
             continue
         
         effect = curItem.GetEffectByIndex(0)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
index fb1f598..7f4372d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
@@ -113,7 +113,7 @@
     for equipIndex in equipIndexList:
         dogzItemPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzItem)
         curEquip = dogzItemPack.GetAt(equipIndex)
-        if not ItemCommon.CheckItemCanUse(curEquip) or ItemControler.GetIsAuctionItem(curEquip):
+        if not ItemCommon.CheckItemCanUse(curEquip):
             GameWorld.DebugLog("物品为空或不可用: equipIndex=%s" % equipIndex, playerID)
             continue
         if not ItemCommon.GetIsDogzEquip(curEquip):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
index dee4a1b..2fe9c69 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py
@@ -639,7 +639,7 @@
                 curItem = curItemPack.GetAt(itemIndex)
                 
                 #检查物品
-                if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+                if not ItemCommon.CheckItemCanUse(curItem):
                     continue
                 
                 itemCnt = curItem.GetCount()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
index 3a8299e..39e1e37 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -628,7 +628,7 @@
             for itemIndex in itemIndexList:
                 curItem = curItemPack.GetAt(itemIndex)
                 #检查物品
-                if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+                if not ItemCommon.CheckItemCanUse(curItem):
                     continue
                 itemCnt = curItem.GetCount()
                 nowCnt += itemCnt
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py
index cf62770..eec57fe 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py
@@ -108,7 +108,7 @@
     wingClassLV = ItemCommon.GetItemClassLV(curWing)
     for index in materialMessageList:
         curItem = itemPack.GetAt(index)
-        if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem):
+        if not ItemCommon.CheckItemCanUse(curItem):
             GameWorld.DebugLog("这个格子没有合法材料,index=%s" % index)
             continue
         curItemID = curItem.GetItemTypeID()

--
Gitblit v1.8.0