From f8cbb085900ff5959d302879b8073e5cf79aa322 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 27 十二月 2018 22:28:49 +0800
Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(修复无法领奖bug)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 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 2a711d8..2818ce6 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
@@ -29,7 +29,6 @@
 import DataRecordPack
 import EventReport
 import ChItem
-import PlayerMergeEvent
 import IpyGameDataPY
 import Operate_EquipStone
 import PlayerViewCacheTube
@@ -1423,11 +1422,6 @@
     #系统提示 LostRes 失去物品
     #if needSysmsg:
     #    PlayerControl.NotifyCode(curPlayer, 'LostRes', [itemTypeID, totalUseCnt])
-        
-    #添加跨服服务器中使用物品事件
-    if itemTypeID in ReadChConfig.GetEvalChConfig("MergeServerCanUseItemID"):
-        eventInfo = [itemTypeID, totalUseCnt, makeItemBind, eventName, saveDataDict]
-        PlayerMergeEvent.AddMSPlayerEvent(curPlayer.GetPlayerID(), PlayerMergeEvent.Def_MSPEvent_DelItem, eventInfo)
     return makeItemBind
 
 def GetCostItemIndexList(costItemInfo, itemPack, bindFirst=True):
@@ -1516,7 +1510,18 @@
 
 def GetShopItemPrice(itemID, priceType):
     ''' 获取商城物品对应价格 '''
-    ipyData = IpyGameDataPY.GetIpyGameDataByCondition("Store", {"ItemID":itemID, "MoneyType":priceType}, isLogNone=False)
+    # 系统固定商店类型: 仙玉(2-常用道具,3-成长变强),绑玉(4-绑玉商城)
+    priceTypeShopTypeDict = {IPY_GameWorld.TYPE_Price_Gold_Money:[2, 3],
+                             IPY_GameWorld.TYPE_Price_Gold_Paper:[4],
+                             }
+    ipyData = None
+    if priceType in priceTypeShopTypeDict:
+        for shopType in priceTypeShopTypeDict[priceType]:
+            ipyData = IpyGameDataPY.GetIpyGameDataByCondition("Store", {"ShopType":shopType, "ItemID":itemID, "MoneyType":priceType}, isLogNone=False)
+            if ipyData:
+                break
+    else:
+        ipyData = IpyGameDataPY.GetIpyGameDataByCondition("Store", {"ItemID":itemID, "MoneyType":priceType}, isLogNone=False)
     if not ipyData:
         return 0
     return ipyData.GetMoneyNum()
@@ -1812,11 +1817,6 @@
     ItemControler.SetItemCount(curItem, curItemCnt - delCnt,
                                curPlayer.GetPlayerID(), curPlayer.GetAccID(),
                                curPlayer.GetPlayerName())
-    
-    #添加跨服服务器中使用物品事件
-    if curItemTypeID in ReadChConfig.GetEvalChConfig("MergeServerCanUseItemID"):
-        eventInfo = [curItemTypeID, delCnt, curItemBind, recordName, saveDataDict]
-        PlayerMergeEvent.AddMSPlayerEvent(curPlayer.GetPlayerID(), PlayerMergeEvent.Def_MSPEvent_DelItem, eventInfo)
     return
 
 def DelVPackItem(curPlayer, packIndex, placeList, eventName=""):
@@ -1838,6 +1838,13 @@
             itemName = str(itemID) if not curItemData else  curItemData.GetName()
             itemName = "%s LV%s" % (itemName, plusLV + 1)
             isNeedRecord = curItemData and ItemControler.IsRuneItemNeedRecord(curItemData, plusLV)
+        if packIndex == ShareDefine.rptGatherSoul:
+            itemID = ItemControler.GetGatherSoulItemID(itemKeyData)
+            plusLV = ItemControler.GetGatherSoulItemPlusLV(itemKeyData)
+            curItemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
+            itemName = str(itemID) if not curItemData else  curItemData.GetName()
+            itemName = "%s LV%s" % (itemName, plusLV + 1)
+            isNeedRecord = curItemData and ItemControler.IsGatherSoulItemNeedRecord(curItemData, plusLV)
             
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_VPackItem % (packIndex, place), 0)
         if isNeedRecord:

--
Gitblit v1.8.0