From 4f48659ed51c0e087e55da91ec76cbcdd7a87486 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 15 十一月 2018 17:40:58 +0800
Subject: [PATCH] 4788 【后端】【1.3】洗炼必增由消耗仙玉改为消耗道具

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py |   75 +++++++++++++++++++++++++------------
 1 files changed, 50 insertions(+), 25 deletions(-)

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 7f1b375..81ffcec 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -1196,11 +1196,9 @@
             #可以摆放
             if curItemCount > canPutinCount:
                 #需要创建新物品放入
-                curCreateItem = ItemCommon.CreateSingleItem(tagItem.GetItemTypeID())
+                curCreateItem = GetOutPutItemObj(tagItem.GetItemTypeID(), canPutinCount, isBind)
                 #注意: 不能在这里AssignItem, 否则会有2个物品指针指向同一个物品实例 . 巨大的错误在这一句 : curCreateItem.Assign(tagItem)
-                SetItemCount(curCreateItem, canPutinCount)
-                SetItemIsBind(curCreateItem, isBind)
-                #此处不做装备拆解,如有需求外传for处理
+                #如果是装备,那么 maxPackCount 为1 这里会循环自动创建新物品,所以直接 GetOutPutItemObj 即可, 暂不支持定制装备拆解
                 
                 item.AssignItem(curCreateItem)
                 SetItemCount(tagItem, curItemCount - canPutinCount)
@@ -1739,31 +1737,58 @@
 
 def __CmpRolePack(item1, item2):
     # 装备评分高  评分0  评分低,外层分列表
-    # 颜色-星数 - 装备类型 - ID,内层比较 暂时不做时间判断
-    
-    if item1.GetItemColor() == item2.GetItemColor():
-        if item1.GetItemQuality() == item2.GetItemQuality():
-            itemType1 = item1.GetType()
-            itemType2 = item2.GetType()
-            if itemType1 == itemType2:
+    #===========================================================================
+    # # 颜色-星数 - 装备类型 - ID,内层比较 暂时不做时间判断
+    # 
+    # if item1.GetItemColor() == item2.GetItemColor():
+    #    if item1.GetItemQuality() == item2.GetItemQuality():
+    #        itemType1 = item1.GetType()
+    #        itemType2 = item2.GetType()
+    #        if itemType1 == itemType2:
+    #            return cmp(item1.GetItemTypeID(), item2.GetItemTypeID())
+    #        else:
+    #            #类型有定义配置顺序
+    #            typeList = IpyGameDataPY.GetFuncEvalCfg("PackageSortPriority", 1)
+    #            if itemType1 in typeList and itemType2 in typeList:
+    #                return cmp(typeList.index(item1.GetType()), typeList.index(item2.GetType()))
+    #            elif itemType1 in typeList:
+    #                #排在前面
+    #                return -1
+    #            elif itemType2 in typeList:
+    #                return 1
+    #            else:
+    #                return cmp(itemType1, itemType2)
+    #    else:
+    #        return cmp(0-item1.GetItemQuality(), 0-item2.GetItemQuality())
+    # else:
+    #    return cmp(0-item1.GetItemColor(), 0-item2.GetItemColor())
+    #===========================================================================
+
+    # 装备类型-颜色-星数 - ID,内层比较 暂时不做时间判断
+    itemType1 = item1.GetType()
+    itemType2 = item2.GetType()
+    if itemType1 == itemType2:
+        if item1.GetItemColor() == item2.GetItemColor():
+            if item1.GetItemQuality() == item2.GetItemQuality():
                 return cmp(item1.GetItemTypeID(), item2.GetItemTypeID())
             else:
-                #类型有定义配置顺序
-                typeList = IpyGameDataPY.GetFuncEvalCfg("PackageSortPriority", 1)
-                if itemType1 in typeList and itemType2 in typeList:
-                    return cmp(typeList.index(item1.GetType()), typeList.index(item2.GetType()))
-                elif itemType1 in typeList:
-                    #排在前面
-                    return -1
-                elif itemType2 in typeList:
-                    return 1
-                else:
-                    return cmp(itemType1, itemType2)
+                return cmp(0-item1.GetItemQuality(), 0-item2.GetItemQuality())
         else:
-            return cmp(0-item1.GetItemQuality(), 0-item2.GetItemQuality())
+            return cmp(0-item1.GetItemColor(), 0-item2.GetItemColor())
     else:
-        return cmp(0-item1.GetItemColor(), 0-item2.GetItemColor())
-
+        #类型有定义配置顺序
+        typeList = IpyGameDataPY.GetFuncEvalCfg("PackageSortPriority", 1)
+        if itemType1 in typeList and itemType2 in typeList:
+            return cmp(typeList.index(item1.GetType()), typeList.index(item2.GetType()))
+        elif itemType1 in typeList:
+            #排在前面
+            return -1
+        elif itemType2 in typeList:
+            return 1
+        else:
+            return cmp(itemType1, itemType2)
+        
+        
 
 def __ResetItem_AddItemInList(curList, addItem):
     #把物品放到列表中, 要判断叠加

--
Gitblit v1.8.0