From 0a61ceac61e017f86560ce4b226092a23ada4e31 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 07 三月 2019 11:50:06 +0800
Subject: [PATCH] 6323 【后端】【2.0】装备传奇属性生成规则

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py |   59 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 33 insertions(+), 26 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py
index 1c1c849..2fe1b45 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/MakeItemCount.py
@@ -14,11 +14,13 @@
 #
 # 模块详细说明
 #导入
+
 import IPY_GameWorld
 import ItemControler
-import ShareDefine
-import ChConfig
+import IpyGameDataPY
 import GameWorld
+import ChConfig
+
 #---------------------------------------------------------------------
 #全局变量
 #---------------------------------------------------------------------
@@ -36,12 +38,13 @@
     
     #输入命令格式错误
     if len(msgList) < 1:
-        GameWorld.DebugAnswer(curPlayer, "MakeItemCount id, [count, 符印等级]")
+        GameWorld.DebugAnswer(curPlayer, "MakeItemCount ID (个数  拍品分组 全部传奇属性)")
         return
     
     itemID = msgList[0]
-    count = msgList[1] if len(msgList) > 1 else 1
-    runeLV = msgList[2] if len(msgList) > 2 else None
+    itemCount = msgList[1] if len(msgList) > 1 else 1
+    auctionGroup = msgList[2] if len(msgList) > 2 else 0
+    isAllAttr = msgList[3] if len(msgList) > 3 else 0
     
     itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
     if not itemData:
@@ -49,37 +52,41 @@
         return
     packCount = itemData.GetPackCount()
     if itemID in ChConfig.Def_TransformItemIDList:
-        curItem = ItemControler.GetOutPutItemObj(itemID)
-        ItemControler.SetItemCount(curItem, count, curPlayer.GetPlayerID(), curPlayer.GetAccID(),
-                                   curPlayer.GetPlayerName())
+        curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, curPlayer=curPlayer)
         PlayerItemControler = ItemControler.PlayerItemControler(curPlayer)
         if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]):
             GameWorld.DebugAnswer(curPlayer, "放入物品失败!")
         return
     
-    if packCount > 1:
-        __DoGMGivePlayerItem(curPlayer, itemID, count, runeLV)
+    playerItemControler = ItemControler.PlayerItemControler(curPlayer)
+    
+    # 拍品
+    if auctionGroup:
+        isAuctionItem = True
+        ipyData = IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)
+        if not ipyData:
+            GameWorld.DebugAnswer(curPlayer, "非可拍卖物品itemID=%s" % (itemID))
+            return
+        groupItemCount = itemCount / auctionGroup
+        for i in xrange(auctionGroup):
+            if i == auctionGroup - 1:
+                groupItemCount += itemCount % auctionGroup
+            __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, groupItemCount, isAuctionItem, isAllAttr)    
     else:
-        for _ in xrange(count):
-            __DoGMGivePlayerItem(curPlayer, itemID, 1, runeLV)
-            
+        isAuctionItem = False
+        if packCount > 1:
+            __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, itemCount, isAuctionItem, isAllAttr)
+        else:
+            for _ in xrange(itemCount):
+                __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, 1, isAuctionItem, isAllAttr)
     return
 
-def __DoGMGivePlayerItem(curPlayer, itemID, count, runeLV):
+def __DoGMGivePlayerItem(curPlayer, playerItemControler, itemID, count, isAuctionItem, isAllAttr):
     if ItemControler.GetAppointItemRealID(itemID):
-        ItemControler.GivePlayerAppointItem(curPlayer, itemID, 0, True, True)
+        ItemControler.GivePlayerAppointItem(curPlayer, itemID, isAuctionItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}])
         return
-    curItem = ItemControler.GetOutPutItemObj(itemID)
-    ItemControler.SetItemCount(curItem, count, curPlayer.GetPlayerID(), curPlayer.GetAccID(),
-                               curPlayer.GetPlayerName())
-
-    if curItem.GetType() == ChConfig.Def_ItemType_Rune and runeLV:
-        curItem.SetUserAttr(ShareDefine.Def_IudetRuneLV, runeLV)
-    if curItem.GetType() in [ChConfig.Def_ItemType_GatherSoul,ChConfig.Def_ItemType_GatherSoulCore] and runeLV:
-        curItem.SetUserAttr(ShareDefine.Def_IudetGatherSoulLV, runeLV)
-    #将物品放置玩家背包
-    PlayerItemControler = ItemControler.PlayerItemControler(curPlayer)
-    if not PlayerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]):
+    curItem = ItemControler.GetOutPutItemObj(itemID, count, isAuctionItem, curPlayer=curPlayer, isAllAttr=isAllAttr)
+    if not playerItemControler.PutInItem(IPY_GameWorld.rptItem, curItem, event=[ChConfig.ItemGive_GMMake, False, {"CMD":"MakeItemCount"}]):
         GameWorld.DebugAnswer(curPlayer, "放入物品失败!")
         
     return

--
Gitblit v1.8.0